Interface UserEventOrBuilder

  • All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    UserEvent, UserEvent.Builder

    public interface UserEventOrBuilder
    extends com.google.protobuf.MessageOrBuilder
    • Method Detail

      • getEventType

        String getEventType()
         Required. User event type. Allowed values are:
        
         Generic values:
        
         * `search`: Search for Documents.
         * `view-item`: Detailed page view of a Document.
         * `view-item-list`: View of a panel or ordered list of Documents.
         * `view-home-page`: View of the home page.
         * `view-category-page`: View of a category page, e.g. Home > Men > Jeans
        
         Retail-related values:
        
         * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping
         * `purchase`: Purchase an item(s)
        
         Media-related values:
        
         * `media-play`: Start/resume watching a video, playing a song, etc.
         * `media-complete`: Finished or stopped midway through a video, song, etc.
         
        string event_type = 1 [(.google.api.field_behavior) = REQUIRED];
        Returns:
        The eventType.
      • getEventTypeBytes

        com.google.protobuf.ByteString getEventTypeBytes()
         Required. User event type. Allowed values are:
        
         Generic values:
        
         * `search`: Search for Documents.
         * `view-item`: Detailed page view of a Document.
         * `view-item-list`: View of a panel or ordered list of Documents.
         * `view-home-page`: View of the home page.
         * `view-category-page`: View of a category page, e.g. Home > Men > Jeans
        
         Retail-related values:
        
         * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping
         * `purchase`: Purchase an item(s)
        
         Media-related values:
        
         * `media-play`: Start/resume watching a video, playing a song, etc.
         * `media-complete`: Finished or stopped midway through a video, song, etc.
         
        string event_type = 1 [(.google.api.field_behavior) = REQUIRED];
        Returns:
        The bytes for eventType.
      • getUserPseudoId

        String getUserPseudoId()
         Required. A unique identifier for tracking visitors.
        
         For example, this could be implemented with an HTTP cookie, which should be
         able to uniquely identify a visitor on a single device. This unique
         identifier should not change if the visitor log in/out of the website.
        
         Do not set the field to the same fixed ID for different users. This mixes
         the event history of those users together, which results in degraded model
         quality.
        
         The field must be a UTF-8 encoded string with a length limit of 128
         characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
        
         The field should not contain PII or user-data. We recommend to use Google
         Analytics [Client
         ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId)
         for this field.
         
        string user_pseudo_id = 2 [(.google.api.field_behavior) = REQUIRED];
        Returns:
        The userPseudoId.
      • getUserPseudoIdBytes

        com.google.protobuf.ByteString getUserPseudoIdBytes()
         Required. A unique identifier for tracking visitors.
        
         For example, this could be implemented with an HTTP cookie, which should be
         able to uniquely identify a visitor on a single device. This unique
         identifier should not change if the visitor log in/out of the website.
        
         Do not set the field to the same fixed ID for different users. This mixes
         the event history of those users together, which results in degraded model
         quality.
        
         The field must be a UTF-8 encoded string with a length limit of 128
         characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
        
         The field should not contain PII or user-data. We recommend to use Google
         Analytics [Client
         ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId)
         for this field.
         
        string user_pseudo_id = 2 [(.google.api.field_behavior) = REQUIRED];
        Returns:
        The bytes for userPseudoId.
      • hasEventTime

        boolean hasEventTime()
         Only required for
         [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1.UserEventService.ImportUserEvents]
         method. Timestamp of when the user event happened.
         
        .google.protobuf.Timestamp event_time = 3;
        Returns:
        Whether the eventTime field is set.
      • getEventTime

        com.google.protobuf.Timestamp getEventTime()
         Only required for
         [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1.UserEventService.ImportUserEvents]
         method. Timestamp of when the user event happened.
         
        .google.protobuf.Timestamp event_time = 3;
        Returns:
        The eventTime.
      • getEventTimeOrBuilder

        com.google.protobuf.TimestampOrBuilder getEventTimeOrBuilder()
         Only required for
         [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1.UserEventService.ImportUserEvents]
         method. Timestamp of when the user event happened.
         
        .google.protobuf.Timestamp event_time = 3;
      • hasUserInfo

        boolean hasUserInfo()
         Information about the end user.
         
        .google.cloud.discoveryengine.v1.UserInfo user_info = 4;
        Returns:
        Whether the userInfo field is set.
      • getUserInfo

        UserInfo getUserInfo()
         Information about the end user.
         
        .google.cloud.discoveryengine.v1.UserInfo user_info = 4;
        Returns:
        The userInfo.
      • getUserInfoOrBuilder

        UserInfoOrBuilder getUserInfoOrBuilder()
         Information about the end user.
         
        .google.cloud.discoveryengine.v1.UserInfo user_info = 4;
      • getDirectUserRequest

        boolean getDirectUserRequest()
         Should set to true if the request is made directly from the end user, in
         which case the
         [UserEvent.user_info.user_agent][google.cloud.discoveryengine.v1.UserInfo.user_agent]
         can be populated from the HTTP request.
        
         This flag should be set only if the API request is made directly from the
         end user such as a mobile app (and not if a gateway or a server is
         processing and pushing the user events).
        
         This should not be set when using the JavaScript tag in
         [UserEventService.CollectUserEvent][google.cloud.discoveryengine.v1.UserEventService.CollectUserEvent].
         
        bool direct_user_request = 5;
        Returns:
        The directUserRequest.
      • getSessionId

        String getSessionId()
         A unique identifier for tracking a visitor session with a length limit of
         128 bytes. A session is an aggregation of an end user behavior in a time
         span.
        
         A general guideline to populate the session_id:
        
         1. If user has no activity for 30 min, a new session_id should be assigned.
         2. The session_id should be unique across users, suggest use uuid or add
         [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1.UserEvent.user_pseudo_id]
         as prefix.
         
        string session_id = 6;
        Returns:
        The sessionId.
      • getSessionIdBytes

        com.google.protobuf.ByteString getSessionIdBytes()
         A unique identifier for tracking a visitor session with a length limit of
         128 bytes. A session is an aggregation of an end user behavior in a time
         span.
        
         A general guideline to populate the session_id:
        
         1. If user has no activity for 30 min, a new session_id should be assigned.
         2. The session_id should be unique across users, suggest use uuid or add
         [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1.UserEvent.user_pseudo_id]
         as prefix.
         
        string session_id = 6;
        Returns:
        The bytes for sessionId.
      • hasPageInfo

        boolean hasPageInfo()
         Page metadata such as categories and other critical information for certain
         event types such as `view-category-page`.
         
        .google.cloud.discoveryengine.v1.PageInfo page_info = 7;
        Returns:
        Whether the pageInfo field is set.
      • getPageInfo

        PageInfo getPageInfo()
         Page metadata such as categories and other critical information for certain
         event types such as `view-category-page`.
         
        .google.cloud.discoveryengine.v1.PageInfo page_info = 7;
        Returns:
        The pageInfo.
      • getPageInfoOrBuilder

        PageInfoOrBuilder getPageInfoOrBuilder()
         Page metadata such as categories and other critical information for certain
         event types such as `view-category-page`.
         
        .google.cloud.discoveryengine.v1.PageInfo page_info = 7;
      • getAttributionToken

        String getAttributionToken()
         Token to attribute an API response to user action(s) to trigger the event.
        
         Highly recommended for user events that are the result of
         [RecommendationService.Recommend][]. This field enables accurate
         attribution of recommendation model performance.
        
         The value must be one of:
        
         * [RecommendResponse.attribution_token][] for events that are the result of
         [RecommendationService.Recommend][].
         * [SearchResponse.attribution_token][google.cloud.discoveryengine.v1.SearchResponse.attribution_token] for events that are the result of
         [SearchService.Search][google.cloud.discoveryengine.v1.SearchService.Search].
        
         This token enables us to accurately attribute page view or conversion
         completion back to the event and the particular predict response containing
         this clicked/purchased product. If user clicks on product K in the
         recommendation results, pass [RecommendResponse.attribution_token][] as a
         URL parameter to product K's page. When recording events on product K's
         page, log the [RecommendResponse.attribution_token][] to this field.
         
        string attribution_token = 8;
        Returns:
        The attributionToken.
      • getAttributionTokenBytes

        com.google.protobuf.ByteString getAttributionTokenBytes()
         Token to attribute an API response to user action(s) to trigger the event.
        
         Highly recommended for user events that are the result of
         [RecommendationService.Recommend][]. This field enables accurate
         attribution of recommendation model performance.
        
         The value must be one of:
        
         * [RecommendResponse.attribution_token][] for events that are the result of
         [RecommendationService.Recommend][].
         * [SearchResponse.attribution_token][google.cloud.discoveryengine.v1.SearchResponse.attribution_token] for events that are the result of
         [SearchService.Search][google.cloud.discoveryengine.v1.SearchService.Search].
        
         This token enables us to accurately attribute page view or conversion
         completion back to the event and the particular predict response containing
         this clicked/purchased product. If user clicks on product K in the
         recommendation results, pass [RecommendResponse.attribution_token][] as a
         URL parameter to product K's page. When recording events on product K's
         page, log the [RecommendResponse.attribution_token][] to this field.
         
        string attribution_token = 8;
        Returns:
        The bytes for attributionToken.
      • getFilter

        String getFilter()
         The filter syntax consists of an expression language for constructing a
         predicate from one or more fields of the documents being filtered.
        
         One example is for `search` events, the associated
         [SearchRequest][google.cloud.discoveryengine.v1.SearchRequest] may contain
         a filter expression in
         [SearchRequest.filter][google.cloud.discoveryengine.v1.SearchRequest.filter]
         conforming to https://google.aip.dev/160#filtering.
        
         Similarly, for `view-item-list` events that are generated from a
         [RecommendationService.RecommendRequest][], this field may be populated
         directly from [RecommendationService.RecommendRequest.filter][] conforming
         to https://google.aip.dev/160#filtering.
        
         The value must be a UTF-8 encoded string with a length limit of 1,000
         characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
         
        string filter = 9;
        Returns:
        The filter.
      • getFilterBytes

        com.google.protobuf.ByteString getFilterBytes()
         The filter syntax consists of an expression language for constructing a
         predicate from one or more fields of the documents being filtered.
        
         One example is for `search` events, the associated
         [SearchRequest][google.cloud.discoveryengine.v1.SearchRequest] may contain
         a filter expression in
         [SearchRequest.filter][google.cloud.discoveryengine.v1.SearchRequest.filter]
         conforming to https://google.aip.dev/160#filtering.
        
         Similarly, for `view-item-list` events that are generated from a
         [RecommendationService.RecommendRequest][], this field may be populated
         directly from [RecommendationService.RecommendRequest.filter][] conforming
         to https://google.aip.dev/160#filtering.
        
         The value must be a UTF-8 encoded string with a length limit of 1,000
         characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
         
        string filter = 9;
        Returns:
        The bytes for filter.
      • getDocumentsList

        List<DocumentInfo> getDocumentsList()
         List of [Document][google.cloud.discoveryengine.v1.Document]s associated
         with this user event.
        
         This field is optional except for the following event types:
        
         * `view-item`
         * `add-to-cart`
         * `purchase`
         * `media-play`
         * `media-complete`
        
         In a `search` event, this field represents the documents returned to the
         end user on the current page (the end user may have not finished browsing
         the whole page yet). When a new page is returned to the end user, after
         pagination/filtering/ordering even for the same query, a new `search` event
         with different
         [UserEvent.documents][google.cloud.discoveryengine.v1.UserEvent.documents]
         is desired.
         
        repeated .google.cloud.discoveryengine.v1.DocumentInfo documents = 10;
      • getDocuments

        DocumentInfo getDocuments​(int index)
         List of [Document][google.cloud.discoveryengine.v1.Document]s associated
         with this user event.
        
         This field is optional except for the following event types:
        
         * `view-item`
         * `add-to-cart`
         * `purchase`
         * `media-play`
         * `media-complete`
        
         In a `search` event, this field represents the documents returned to the
         end user on the current page (the end user may have not finished browsing
         the whole page yet). When a new page is returned to the end user, after
         pagination/filtering/ordering even for the same query, a new `search` event
         with different
         [UserEvent.documents][google.cloud.discoveryengine.v1.UserEvent.documents]
         is desired.
         
        repeated .google.cloud.discoveryengine.v1.DocumentInfo documents = 10;
      • getDocumentsCount

        int getDocumentsCount()
         List of [Document][google.cloud.discoveryengine.v1.Document]s associated
         with this user event.
        
         This field is optional except for the following event types:
        
         * `view-item`
         * `add-to-cart`
         * `purchase`
         * `media-play`
         * `media-complete`
        
         In a `search` event, this field represents the documents returned to the
         end user on the current page (the end user may have not finished browsing
         the whole page yet). When a new page is returned to the end user, after
         pagination/filtering/ordering even for the same query, a new `search` event
         with different
         [UserEvent.documents][google.cloud.discoveryengine.v1.UserEvent.documents]
         is desired.
         
        repeated .google.cloud.discoveryengine.v1.DocumentInfo documents = 10;
      • getDocumentsOrBuilderList

        List<? extends DocumentInfoOrBuilder> getDocumentsOrBuilderList()
         List of [Document][google.cloud.discoveryengine.v1.Document]s associated
         with this user event.
        
         This field is optional except for the following event types:
        
         * `view-item`
         * `add-to-cart`
         * `purchase`
         * `media-play`
         * `media-complete`
        
         In a `search` event, this field represents the documents returned to the
         end user on the current page (the end user may have not finished browsing
         the whole page yet). When a new page is returned to the end user, after
         pagination/filtering/ordering even for the same query, a new `search` event
         with different
         [UserEvent.documents][google.cloud.discoveryengine.v1.UserEvent.documents]
         is desired.
         
        repeated .google.cloud.discoveryengine.v1.DocumentInfo documents = 10;
      • getDocumentsOrBuilder

        DocumentInfoOrBuilder getDocumentsOrBuilder​(int index)
         List of [Document][google.cloud.discoveryengine.v1.Document]s associated
         with this user event.
        
         This field is optional except for the following event types:
        
         * `view-item`
         * `add-to-cart`
         * `purchase`
         * `media-play`
         * `media-complete`
        
         In a `search` event, this field represents the documents returned to the
         end user on the current page (the end user may have not finished browsing
         the whole page yet). When a new page is returned to the end user, after
         pagination/filtering/ordering even for the same query, a new `search` event
         with different
         [UserEvent.documents][google.cloud.discoveryengine.v1.UserEvent.documents]
         is desired.
         
        repeated .google.cloud.discoveryengine.v1.DocumentInfo documents = 10;
      • hasPanel

        boolean hasPanel()
         Panel metadata associated with this user event.
         
        .google.cloud.discoveryengine.v1.PanelInfo panel = 11;
        Returns:
        Whether the panel field is set.
      • getPanel

        PanelInfo getPanel()
         Panel metadata associated with this user event.
         
        .google.cloud.discoveryengine.v1.PanelInfo panel = 11;
        Returns:
        The panel.
      • getPanelOrBuilder

        PanelInfoOrBuilder getPanelOrBuilder()
         Panel metadata associated with this user event.
         
        .google.cloud.discoveryengine.v1.PanelInfo panel = 11;
      • hasSearchInfo

        boolean hasSearchInfo()
         [SearchService.Search][google.cloud.discoveryengine.v1.SearchService.Search]
         details related to the event.
        
         This field should be set for `search` event.
         
        .google.cloud.discoveryengine.v1.SearchInfo search_info = 12;
        Returns:
        Whether the searchInfo field is set.
      • getSearchInfo

        SearchInfo getSearchInfo()
         [SearchService.Search][google.cloud.discoveryengine.v1.SearchService.Search]
         details related to the event.
        
         This field should be set for `search` event.
         
        .google.cloud.discoveryengine.v1.SearchInfo search_info = 12;
        Returns:
        The searchInfo.
      • getSearchInfoOrBuilder

        SearchInfoOrBuilder getSearchInfoOrBuilder()
         [SearchService.Search][google.cloud.discoveryengine.v1.SearchService.Search]
         details related to the event.
        
         This field should be set for `search` event.
         
        .google.cloud.discoveryengine.v1.SearchInfo search_info = 12;
      • hasCompletionInfo

        boolean hasCompletionInfo()
         [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1.CompletionService.CompleteQuery]
         details related to the event.
        
         This field should be set for `search` event when autocomplete function is
         enabled and the user clicks a suggestion for search.
         
        .google.cloud.discoveryengine.v1.CompletionInfo completion_info = 13;
        Returns:
        Whether the completionInfo field is set.
      • getCompletionInfo

        CompletionInfo getCompletionInfo()
         [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1.CompletionService.CompleteQuery]
         details related to the event.
        
         This field should be set for `search` event when autocomplete function is
         enabled and the user clicks a suggestion for search.
         
        .google.cloud.discoveryengine.v1.CompletionInfo completion_info = 13;
        Returns:
        The completionInfo.
      • getCompletionInfoOrBuilder

        CompletionInfoOrBuilder getCompletionInfoOrBuilder()
         [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1.CompletionService.CompleteQuery]
         details related to the event.
        
         This field should be set for `search` event when autocomplete function is
         enabled and the user clicks a suggestion for search.
         
        .google.cloud.discoveryengine.v1.CompletionInfo completion_info = 13;
      • hasTransactionInfo

        boolean hasTransactionInfo()
         The transaction metadata (if any) associated with this user event.
         
        .google.cloud.discoveryengine.v1.TransactionInfo transaction_info = 14;
        Returns:
        Whether the transactionInfo field is set.
      • getTransactionInfo

        TransactionInfo getTransactionInfo()
         The transaction metadata (if any) associated with this user event.
         
        .google.cloud.discoveryengine.v1.TransactionInfo transaction_info = 14;
        Returns:
        The transactionInfo.
      • getTransactionInfoOrBuilder

        TransactionInfoOrBuilder getTransactionInfoOrBuilder()
         The transaction metadata (if any) associated with this user event.
         
        .google.cloud.discoveryengine.v1.TransactionInfo transaction_info = 14;
      • getTagIdsList

        List<String> getTagIdsList()
         A list of identifiers for the independent experiment groups this user event
         belongs to. This is used to distinguish between user events associated with
         different experiment setups on the customer end.
         
        repeated string tag_ids = 15;
        Returns:
        A list containing the tagIds.
      • getTagIdsCount

        int getTagIdsCount()
         A list of identifiers for the independent experiment groups this user event
         belongs to. This is used to distinguish between user events associated with
         different experiment setups on the customer end.
         
        repeated string tag_ids = 15;
        Returns:
        The count of tagIds.
      • getTagIds

        String getTagIds​(int index)
         A list of identifiers for the independent experiment groups this user event
         belongs to. This is used to distinguish between user events associated with
         different experiment setups on the customer end.
         
        repeated string tag_ids = 15;
        Parameters:
        index - The index of the element to return.
        Returns:
        The tagIds at the given index.
      • getTagIdsBytes

        com.google.protobuf.ByteString getTagIdsBytes​(int index)
         A list of identifiers for the independent experiment groups this user event
         belongs to. This is used to distinguish between user events associated with
         different experiment setups on the customer end.
         
        repeated string tag_ids = 15;
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the tagIds at the given index.
      • getPromotionIdsList

        List<String> getPromotionIdsList()
         The promotion IDs if this is an event associated with promotions.
         Currently, this field is restricted to at most one ID.
         
        repeated string promotion_ids = 16;
        Returns:
        A list containing the promotionIds.
      • getPromotionIdsCount

        int getPromotionIdsCount()
         The promotion IDs if this is an event associated with promotions.
         Currently, this field is restricted to at most one ID.
         
        repeated string promotion_ids = 16;
        Returns:
        The count of promotionIds.
      • getPromotionIds

        String getPromotionIds​(int index)
         The promotion IDs if this is an event associated with promotions.
         Currently, this field is restricted to at most one ID.
         
        repeated string promotion_ids = 16;
        Parameters:
        index - The index of the element to return.
        Returns:
        The promotionIds at the given index.
      • getPromotionIdsBytes

        com.google.protobuf.ByteString getPromotionIdsBytes​(int index)
         The promotion IDs if this is an event associated with promotions.
         Currently, this field is restricted to at most one ID.
         
        repeated string promotion_ids = 16;
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the promotionIds at the given index.
      • getAttributesCount

        int getAttributesCount()
         Extra user event features to include in the recommendation model.
         These attributes must NOT contain data that needs to be parsed or processed
         further, e.g. JSON or other encodings.
        
         If you provide custom attributes for ingested user events, also include
         them in the user events that you associate with prediction requests. Custom
         attribute formatting must be consistent between imported events and events
         provided with prediction requests. This lets the Discovery Engine API use
         those custom attributes when training models and serving predictions, which
         helps improve recommendation quality.
        
         This field needs to pass all below criteria, otherwise an
         `INVALID_ARGUMENT` error is returned:
        
         * The key must be a UTF-8 encoded string with a length limit of 5,000
           characters.
         * For text attributes, at most 400 values are allowed. Empty values are not
           allowed. Each value must be a UTF-8 encoded string with a length limit of
           256 characters.
         * For number attributes, at most 400 values are allowed.
        
         For product recommendations, an example of extra user information is
         `traffic_channel`, which is how a user arrives at the site. Users can
         arrive
         at the site by coming to the site directly, coming through Google
         search, or in other ways.
         
        map<string, .google.cloud.discoveryengine.v1.CustomAttribute> attributes = 17;
      • containsAttributes

        boolean containsAttributes​(String key)
         Extra user event features to include in the recommendation model.
         These attributes must NOT contain data that needs to be parsed or processed
         further, e.g. JSON or other encodings.
        
         If you provide custom attributes for ingested user events, also include
         them in the user events that you associate with prediction requests. Custom
         attribute formatting must be consistent between imported events and events
         provided with prediction requests. This lets the Discovery Engine API use
         those custom attributes when training models and serving predictions, which
         helps improve recommendation quality.
        
         This field needs to pass all below criteria, otherwise an
         `INVALID_ARGUMENT` error is returned:
        
         * The key must be a UTF-8 encoded string with a length limit of 5,000
           characters.
         * For text attributes, at most 400 values are allowed. Empty values are not
           allowed. Each value must be a UTF-8 encoded string with a length limit of
           256 characters.
         * For number attributes, at most 400 values are allowed.
        
         For product recommendations, an example of extra user information is
         `traffic_channel`, which is how a user arrives at the site. Users can
         arrive
         at the site by coming to the site directly, coming through Google
         search, or in other ways.
         
        map<string, .google.cloud.discoveryengine.v1.CustomAttribute> attributes = 17;
      • getAttributesMap

        Map<String,​CustomAttribute> getAttributesMap()
         Extra user event features to include in the recommendation model.
         These attributes must NOT contain data that needs to be parsed or processed
         further, e.g. JSON or other encodings.
        
         If you provide custom attributes for ingested user events, also include
         them in the user events that you associate with prediction requests. Custom
         attribute formatting must be consistent between imported events and events
         provided with prediction requests. This lets the Discovery Engine API use
         those custom attributes when training models and serving predictions, which
         helps improve recommendation quality.
        
         This field needs to pass all below criteria, otherwise an
         `INVALID_ARGUMENT` error is returned:
        
         * The key must be a UTF-8 encoded string with a length limit of 5,000
           characters.
         * For text attributes, at most 400 values are allowed. Empty values are not
           allowed. Each value must be a UTF-8 encoded string with a length limit of
           256 characters.
         * For number attributes, at most 400 values are allowed.
        
         For product recommendations, an example of extra user information is
         `traffic_channel`, which is how a user arrives at the site. Users can
         arrive
         at the site by coming to the site directly, coming through Google
         search, or in other ways.
         
        map<string, .google.cloud.discoveryengine.v1.CustomAttribute> attributes = 17;
      • getAttributesOrDefault

        CustomAttribute getAttributesOrDefault​(String key,
                                               CustomAttribute defaultValue)
         Extra user event features to include in the recommendation model.
         These attributes must NOT contain data that needs to be parsed or processed
         further, e.g. JSON or other encodings.
        
         If you provide custom attributes for ingested user events, also include
         them in the user events that you associate with prediction requests. Custom
         attribute formatting must be consistent between imported events and events
         provided with prediction requests. This lets the Discovery Engine API use
         those custom attributes when training models and serving predictions, which
         helps improve recommendation quality.
        
         This field needs to pass all below criteria, otherwise an
         `INVALID_ARGUMENT` error is returned:
        
         * The key must be a UTF-8 encoded string with a length limit of 5,000
           characters.
         * For text attributes, at most 400 values are allowed. Empty values are not
           allowed. Each value must be a UTF-8 encoded string with a length limit of
           256 characters.
         * For number attributes, at most 400 values are allowed.
        
         For product recommendations, an example of extra user information is
         `traffic_channel`, which is how a user arrives at the site. Users can
         arrive
         at the site by coming to the site directly, coming through Google
         search, or in other ways.
         
        map<string, .google.cloud.discoveryengine.v1.CustomAttribute> attributes = 17;
      • getAttributesOrThrow

        CustomAttribute getAttributesOrThrow​(String key)
         Extra user event features to include in the recommendation model.
         These attributes must NOT contain data that needs to be parsed or processed
         further, e.g. JSON or other encodings.
        
         If you provide custom attributes for ingested user events, also include
         them in the user events that you associate with prediction requests. Custom
         attribute formatting must be consistent between imported events and events
         provided with prediction requests. This lets the Discovery Engine API use
         those custom attributes when training models and serving predictions, which
         helps improve recommendation quality.
        
         This field needs to pass all below criteria, otherwise an
         `INVALID_ARGUMENT` error is returned:
        
         * The key must be a UTF-8 encoded string with a length limit of 5,000
           characters.
         * For text attributes, at most 400 values are allowed. Empty values are not
           allowed. Each value must be a UTF-8 encoded string with a length limit of
           256 characters.
         * For number attributes, at most 400 values are allowed.
        
         For product recommendations, an example of extra user information is
         `traffic_channel`, which is how a user arrives at the site. Users can
         arrive
         at the site by coming to the site directly, coming through Google
         search, or in other ways.
         
        map<string, .google.cloud.discoveryengine.v1.CustomAttribute> attributes = 17;
      • hasMediaInfo

        boolean hasMediaInfo()
         Media-specific info.
         
        .google.cloud.discoveryengine.v1.MediaInfo media_info = 18;
        Returns:
        Whether the mediaInfo field is set.
      • getMediaInfo

        MediaInfo getMediaInfo()
         Media-specific info.
         
        .google.cloud.discoveryengine.v1.MediaInfo media_info = 18;
        Returns:
        The mediaInfo.
      • getMediaInfoOrBuilder

        MediaInfoOrBuilder getMediaInfoOrBuilder()
         Media-specific info.
         
        .google.cloud.discoveryengine.v1.MediaInfo media_info = 18;