Class UserEvent

  • All Implemented Interfaces:
    UserEventOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class UserEvent
    extends com.google.protobuf.GeneratedMessageV3
    implements UserEventOrBuilder
     UserEvent captures all metadata information Discovery Engine API needs to
     know about how end users interact with customers' website.
     
    Protobuf type google.cloud.discoveryengine.v1.UserEvent
    See Also:
    Serialized Form
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetMapField

        protected com.google.protobuf.MapField internalGetMapField​(int number)
        Overrides:
        internalGetMapField in class com.google.protobuf.GeneratedMessageV3
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getEventType

        public 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];
        Specified by:
        getEventType in interface UserEventOrBuilder
        Returns:
        The eventType.
      • getEventTypeBytes

        public 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];
        Specified by:
        getEventTypeBytes in interface UserEventOrBuilder
        Returns:
        The bytes for eventType.
      • getUserPseudoId

        public 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];
        Specified by:
        getUserPseudoId in interface UserEventOrBuilder
        Returns:
        The userPseudoId.
      • getUserPseudoIdBytes

        public 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];
        Specified by:
        getUserPseudoIdBytes in interface UserEventOrBuilder
        Returns:
        The bytes for userPseudoId.
      • hasEventTime

        public 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;
        Specified by:
        hasEventTime in interface UserEventOrBuilder
        Returns:
        Whether the eventTime field is set.
      • getEventTime

        public 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;
        Specified by:
        getEventTime in interface UserEventOrBuilder
        Returns:
        The eventTime.
      • getEventTimeOrBuilder

        public 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;
        Specified by:
        getEventTimeOrBuilder in interface UserEventOrBuilder
      • hasUserInfo

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

        public UserInfo getUserInfo()
         Information about the end user.
         
        .google.cloud.discoveryengine.v1.UserInfo user_info = 4;
        Specified by:
        getUserInfo in interface UserEventOrBuilder
        Returns:
        The userInfo.
      • getDirectUserRequest

        public 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;
        Specified by:
        getDirectUserRequest in interface UserEventOrBuilder
        Returns:
        The directUserRequest.
      • getSessionId

        public 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;
        Specified by:
        getSessionId in interface UserEventOrBuilder
        Returns:
        The sessionId.
      • getSessionIdBytes

        public 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;
        Specified by:
        getSessionIdBytes in interface UserEventOrBuilder
        Returns:
        The bytes for sessionId.
      • hasPageInfo

        public 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;
        Specified by:
        hasPageInfo in interface UserEventOrBuilder
        Returns:
        Whether the pageInfo field is set.
      • getPageInfo

        public 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;
        Specified by:
        getPageInfo in interface UserEventOrBuilder
        Returns:
        The pageInfo.
      • getPageInfoOrBuilder

        public 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;
        Specified by:
        getPageInfoOrBuilder in interface UserEventOrBuilder
      • getAttributionToken

        public 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;
        Specified by:
        getAttributionToken in interface UserEventOrBuilder
        Returns:
        The attributionToken.
      • getAttributionTokenBytes

        public 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;
        Specified by:
        getAttributionTokenBytes in interface UserEventOrBuilder
        Returns:
        The bytes for attributionToken.
      • getFilter

        public 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;
        Specified by:
        getFilter in interface UserEventOrBuilder
        Returns:
        The filter.
      • getFilterBytes

        public 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;
        Specified by:
        getFilterBytes in interface UserEventOrBuilder
        Returns:
        The bytes for filter.
      • getDocumentsList

        public 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;
        Specified by:
        getDocumentsList in interface UserEventOrBuilder
      • getDocumentsOrBuilderList

        public 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;
        Specified by:
        getDocumentsOrBuilderList in interface UserEventOrBuilder
      • getDocumentsCount

        public 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;
        Specified by:
        getDocumentsCount in interface UserEventOrBuilder
      • getDocuments

        public 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;
        Specified by:
        getDocuments in interface UserEventOrBuilder
      • getDocumentsOrBuilder

        public 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;
        Specified by:
        getDocumentsOrBuilder in interface UserEventOrBuilder
      • hasPanel

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

        public PanelInfo getPanel()
         Panel metadata associated with this user event.
         
        .google.cloud.discoveryengine.v1.PanelInfo panel = 11;
        Specified by:
        getPanel in interface UserEventOrBuilder
        Returns:
        The panel.
      • hasSearchInfo

        public 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;
        Specified by:
        hasSearchInfo in interface UserEventOrBuilder
        Returns:
        Whether the searchInfo field is set.
      • getSearchInfo

        public 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;
        Specified by:
        getSearchInfo in interface UserEventOrBuilder
        Returns:
        The searchInfo.
      • getSearchInfoOrBuilder

        public 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;
        Specified by:
        getSearchInfoOrBuilder in interface UserEventOrBuilder
      • hasCompletionInfo

        public 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;
        Specified by:
        hasCompletionInfo in interface UserEventOrBuilder
        Returns:
        Whether the completionInfo field is set.
      • getCompletionInfo

        public 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;
        Specified by:
        getCompletionInfo in interface UserEventOrBuilder
        Returns:
        The completionInfo.
      • getCompletionInfoOrBuilder

        public 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;
        Specified by:
        getCompletionInfoOrBuilder in interface UserEventOrBuilder
      • hasTransactionInfo

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

        public TransactionInfo getTransactionInfo()
         The transaction metadata (if any) associated with this user event.
         
        .google.cloud.discoveryengine.v1.TransactionInfo transaction_info = 14;
        Specified by:
        getTransactionInfo in interface UserEventOrBuilder
        Returns:
        The transactionInfo.
      • getTagIdsList

        public com.google.protobuf.ProtocolStringList 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;
        Specified by:
        getTagIdsList in interface UserEventOrBuilder
        Returns:
        A list containing the tagIds.
      • getTagIdsCount

        public 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;
        Specified by:
        getTagIdsCount in interface UserEventOrBuilder
        Returns:
        The count of tagIds.
      • getTagIds

        public 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;
        Specified by:
        getTagIds in interface UserEventOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The tagIds at the given index.
      • getTagIdsBytes

        public 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;
        Specified by:
        getTagIdsBytes in interface UserEventOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the tagIds at the given index.
      • getPromotionIdsList

        public com.google.protobuf.ProtocolStringList 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;
        Specified by:
        getPromotionIdsList in interface UserEventOrBuilder
        Returns:
        A list containing the promotionIds.
      • getPromotionIdsCount

        public 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;
        Specified by:
        getPromotionIdsCount in interface UserEventOrBuilder
        Returns:
        The count of promotionIds.
      • getPromotionIds

        public 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;
        Specified by:
        getPromotionIds in interface UserEventOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The promotionIds at the given index.
      • getPromotionIdsBytes

        public 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;
        Specified by:
        getPromotionIdsBytes in interface UserEventOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the promotionIds at the given index.
      • getAttributesCount

        public int getAttributesCount()
        Description copied from interface: UserEventOrBuilder
         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;
        Specified by:
        getAttributesCount in interface UserEventOrBuilder
      • containsAttributes

        public 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;
        Specified by:
        containsAttributes in interface UserEventOrBuilder
      • getAttributesMap

        public 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;
        Specified by:
        getAttributesMap in interface UserEventOrBuilder
      • getAttributesOrDefault

        public 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;
        Specified by:
        getAttributesOrDefault in interface UserEventOrBuilder
      • getAttributesOrThrow

        public 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;
        Specified by:
        getAttributesOrThrow in interface UserEventOrBuilder
      • hasMediaInfo

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

        public MediaInfo getMediaInfo()
         Media-specific info.
         
        .google.cloud.discoveryengine.v1.MediaInfo media_info = 18;
        Specified by:
        getMediaInfo in interface UserEventOrBuilder
        Returns:
        The mediaInfo.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static UserEvent parseFrom​(ByteBuffer data)
                                   throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static UserEvent parseFrom​(ByteBuffer data,
                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                   throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static UserEvent parseFrom​(com.google.protobuf.ByteString data)
                                   throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static UserEvent parseFrom​(com.google.protobuf.ByteString data,
                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                   throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static UserEvent parseFrom​(byte[] data)
                                   throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static UserEvent parseFrom​(byte[] data,
                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                   throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static UserEvent parseFrom​(com.google.protobuf.CodedInputStream input,
                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                   throws IOException
        Throws:
        IOException
      • newBuilderForType

        public UserEvent.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public UserEvent.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected UserEvent.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static UserEvent getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<UserEvent> parser()
      • getParserForType

        public com.google.protobuf.Parser<UserEvent> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public UserEvent getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder