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 Retail API needs to know about
     how end users interact with customers' website.
     
    Protobuf type google.cloud.retail.v2.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:
        
         * `add-to-cart`: Products being added to cart.
         * `category-page-view`: Special pages such as sale or promotion pages
           viewed.
         * `detail-page-view`: Products detail page viewed.
         * `home-page-view`: Homepage viewed.
         * `promotion-offered`: Promotion is offered to a user.
         * `promotion-not-offered`: Promotion is not offered to a user.
         * `purchase-complete`: User finishing a purchase.
         * `search`: Product search.
         * `shopping-cart-page-view`: User viewing a shopping cart.
         
        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:
        
         * `add-to-cart`: Products being added to cart.
         * `category-page-view`: Special pages such as sale or promotion pages
           viewed.
         * `detail-page-view`: Products detail page viewed.
         * `home-page-view`: Homepage viewed.
         * `promotion-offered`: Promotion is offered to a user.
         * `promotion-not-offered`: Promotion is not offered to a user.
         * `purchase-complete`: User finishing a purchase.
         * `search`: Product search.
         * `shopping-cart-page-view`: User viewing a shopping cart.
         
        string event_type = 1 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getEventTypeBytes in interface UserEventOrBuilder
        Returns:
        The bytes for eventType.
      • getVisitorId

        public String getVisitorId()
         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.
        
         Don't 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 visitor_id = 2 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getVisitorId in interface UserEventOrBuilder
        Returns:
        The visitorId.
      • getVisitorIdBytes

        public com.google.protobuf.ByteString getVisitorIdBytes()
         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.
        
         Don't 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 visitor_id = 2 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getVisitorIdBytes in interface UserEventOrBuilder
        Returns:
        The bytes for visitorId.
      • 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 sesion_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
         visitor_id as prefix.
         
        string session_id = 21;
        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 sesion_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
         visitor_id as prefix.
         
        string session_id = 21;
        Specified by:
        getSessionIdBytes in interface UserEventOrBuilder
        Returns:
        The bytes for sessionId.
      • hasEventTime

        public boolean hasEventTime()
         Only required for
         [UserEventService.ImportUserEvents][google.cloud.retail.v2.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.retail.v2.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.retail.v2.UserEventService.ImportUserEvents]
         method. Timestamp of when the user event happened.
         
        .google.protobuf.Timestamp event_time = 3;
        Specified by:
        getEventTimeOrBuilder in interface UserEventOrBuilder
      • getExperimentIdsList

        public com.google.protobuf.ProtocolStringList getExperimentIdsList()
         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 (e.g. using Retail API, using different
         recommendation models).
         
        repeated string experiment_ids = 4;
        Specified by:
        getExperimentIdsList in interface UserEventOrBuilder
        Returns:
        A list containing the experimentIds.
      • getExperimentIdsCount

        public int getExperimentIdsCount()
         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 (e.g. using Retail API, using different
         recommendation models).
         
        repeated string experiment_ids = 4;
        Specified by:
        getExperimentIdsCount in interface UserEventOrBuilder
        Returns:
        The count of experimentIds.
      • getExperimentIds

        public String getExperimentIds​(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 (e.g. using Retail API, using different
         recommendation models).
         
        repeated string experiment_ids = 4;
        Specified by:
        getExperimentIds in interface UserEventOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The experimentIds at the given index.
      • getExperimentIdsBytes

        public com.google.protobuf.ByteString getExperimentIdsBytes​(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 (e.g. using Retail API, using different
         recommendation models).
         
        repeated string experiment_ids = 4;
        Specified by:
        getExperimentIdsBytes in interface UserEventOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the experimentIds at the given index.
      • getAttributionToken

        public String getAttributionToken()
         Highly recommended for user events that are the result of
         [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict].
         This field enables accurate attribution of recommendation model
         performance.
        
         The value must be a valid
         [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
         for user events that are the result of
         [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict].
         The value must be a valid
         [SearchResponse.attribution_token][google.cloud.retail.v2.SearchResponse.attribution_token]
         for user events that are the result of
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
        
         This token enables us to accurately attribute page view or purchase 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
         [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
         as a URL parameter to product K's page. When recording events on product
         K's page, log the
         [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
         to this field.
         
        string attribution_token = 5;
        Specified by:
        getAttributionToken in interface UserEventOrBuilder
        Returns:
        The attributionToken.
      • getAttributionTokenBytes

        public com.google.protobuf.ByteString getAttributionTokenBytes()
         Highly recommended for user events that are the result of
         [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict].
         This field enables accurate attribution of recommendation model
         performance.
        
         The value must be a valid
         [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
         for user events that are the result of
         [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict].
         The value must be a valid
         [SearchResponse.attribution_token][google.cloud.retail.v2.SearchResponse.attribution_token]
         for user events that are the result of
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
        
         This token enables us to accurately attribute page view or purchase 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
         [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
         as a URL parameter to product K's page. When recording events on product
         K's page, log the
         [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
         to this field.
         
        string attribution_token = 5;
        Specified by:
        getAttributionTokenBytes in interface UserEventOrBuilder
        Returns:
        The bytes for attributionToken.
      • getProductDetailsList

        public List<ProductDetail> getProductDetailsList()
         The main product details related to the event.
        
         This field is optional except for the following event types:
        
         * `add-to-cart`
         * `detail-page-view`
         * `purchase-complete`
        
         In a `search` event, this field represents the products 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
         [product_details][google.cloud.retail.v2.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2.ProductDetail product_details = 6;
        Specified by:
        getProductDetailsList in interface UserEventOrBuilder
      • getProductDetailsOrBuilderList

        public List<? extends ProductDetailOrBuilder> getProductDetailsOrBuilderList()
         The main product details related to the event.
        
         This field is optional except for the following event types:
        
         * `add-to-cart`
         * `detail-page-view`
         * `purchase-complete`
        
         In a `search` event, this field represents the products 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
         [product_details][google.cloud.retail.v2.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2.ProductDetail product_details = 6;
        Specified by:
        getProductDetailsOrBuilderList in interface UserEventOrBuilder
      • getProductDetailsCount

        public int getProductDetailsCount()
         The main product details related to the event.
        
         This field is optional except for the following event types:
        
         * `add-to-cart`
         * `detail-page-view`
         * `purchase-complete`
        
         In a `search` event, this field represents the products 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
         [product_details][google.cloud.retail.v2.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2.ProductDetail product_details = 6;
        Specified by:
        getProductDetailsCount in interface UserEventOrBuilder
      • getProductDetails

        public ProductDetail getProductDetails​(int index)
         The main product details related to the event.
        
         This field is optional except for the following event types:
        
         * `add-to-cart`
         * `detail-page-view`
         * `purchase-complete`
        
         In a `search` event, this field represents the products 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
         [product_details][google.cloud.retail.v2.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2.ProductDetail product_details = 6;
        Specified by:
        getProductDetails in interface UserEventOrBuilder
      • getProductDetailsOrBuilder

        public ProductDetailOrBuilder getProductDetailsOrBuilder​(int index)
         The main product details related to the event.
        
         This field is optional except for the following event types:
        
         * `add-to-cart`
         * `detail-page-view`
         * `purchase-complete`
        
         In a `search` event, this field represents the products 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
         [product_details][google.cloud.retail.v2.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2.ProductDetail product_details = 6;
        Specified by:
        getProductDetailsOrBuilder in interface UserEventOrBuilder
      • hasCompletionDetail

        public boolean hasCompletionDetail()
         The main auto-completion 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.retail.v2.CompletionDetail completion_detail = 22;
        Specified by:
        hasCompletionDetail in interface UserEventOrBuilder
        Returns:
        Whether the completionDetail field is set.
      • getCompletionDetail

        public CompletionDetail getCompletionDetail()
         The main auto-completion 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.retail.v2.CompletionDetail completion_detail = 22;
        Specified by:
        getCompletionDetail in interface UserEventOrBuilder
        Returns:
        The completionDetail.
      • getCompletionDetailOrBuilder

        public CompletionDetailOrBuilder getCompletionDetailOrBuilder()
         The main auto-completion 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.retail.v2.CompletionDetail completion_detail = 22;
        Specified by:
        getCompletionDetailOrBuilder in interface UserEventOrBuilder
      • getAttributesCount

        public int getAttributesCount()
        Description copied from interface: UserEventOrBuilder
         Extra user event features to include in the recommendation model.
        
         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 Retail 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.retail.v2.CustomAttribute> attributes = 7;
        Specified by:
        getAttributesCount in interface UserEventOrBuilder
      • containsAttributes

        public boolean containsAttributes​(String key)
         Extra user event features to include in the recommendation model.
        
         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 Retail 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.retail.v2.CustomAttribute> attributes = 7;
        Specified by:
        containsAttributes in interface UserEventOrBuilder
      • getAttributesMap

        public Map<String,​CustomAttribute> getAttributesMap()
         Extra user event features to include in the recommendation model.
        
         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 Retail 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.retail.v2.CustomAttribute> attributes = 7;
        Specified by:
        getAttributesMap in interface UserEventOrBuilder
      • getAttributesOrDefault

        public CustomAttribute getAttributesOrDefault​(String key,
                                                      CustomAttribute defaultValue)
         Extra user event features to include in the recommendation model.
        
         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 Retail 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.retail.v2.CustomAttribute> attributes = 7;
        Specified by:
        getAttributesOrDefault in interface UserEventOrBuilder
      • getAttributesOrThrow

        public CustomAttribute getAttributesOrThrow​(String key)
         Extra user event features to include in the recommendation model.
        
         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 Retail 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.retail.v2.CustomAttribute> attributes = 7;
        Specified by:
        getAttributesOrThrow in interface UserEventOrBuilder
      • getCartId

        public String getCartId()
         The ID or name of the associated shopping cart. This ID is used
         to associate multiple items added or present in the cart before purchase.
        
         This can only be set for `add-to-cart`, `purchase-complete`, or
         `shopping-cart-page-view` events.
         
        string cart_id = 8;
        Specified by:
        getCartId in interface UserEventOrBuilder
        Returns:
        The cartId.
      • getCartIdBytes

        public com.google.protobuf.ByteString getCartIdBytes()
         The ID or name of the associated shopping cart. This ID is used
         to associate multiple items added or present in the cart before purchase.
        
         This can only be set for `add-to-cart`, `purchase-complete`, or
         `shopping-cart-page-view` events.
         
        string cart_id = 8;
        Specified by:
        getCartIdBytes in interface UserEventOrBuilder
        Returns:
        The bytes for cartId.
      • hasPurchaseTransaction

        public boolean hasPurchaseTransaction()
         A transaction represents the entire purchase transaction.
        
         Required for `purchase-complete` events. Other event types should not set
         this field. Otherwise, an INVALID_ARGUMENT error is returned.
         
        .google.cloud.retail.v2.PurchaseTransaction purchase_transaction = 9;
        Specified by:
        hasPurchaseTransaction in interface UserEventOrBuilder
        Returns:
        Whether the purchaseTransaction field is set.
      • getPurchaseTransaction

        public PurchaseTransaction getPurchaseTransaction()
         A transaction represents the entire purchase transaction.
        
         Required for `purchase-complete` events. Other event types should not set
         this field. Otherwise, an INVALID_ARGUMENT error is returned.
         
        .google.cloud.retail.v2.PurchaseTransaction purchase_transaction = 9;
        Specified by:
        getPurchaseTransaction in interface UserEventOrBuilder
        Returns:
        The purchaseTransaction.
      • getPurchaseTransactionOrBuilder

        public PurchaseTransactionOrBuilder getPurchaseTransactionOrBuilder()
         A transaction represents the entire purchase transaction.
        
         Required for `purchase-complete` events. Other event types should not set
         this field. Otherwise, an INVALID_ARGUMENT error is returned.
         
        .google.cloud.retail.v2.PurchaseTransaction purchase_transaction = 9;
        Specified by:
        getPurchaseTransactionOrBuilder in interface UserEventOrBuilder
      • getSearchQuery

        public String getSearchQuery()
         The user's search query.
        
         See [SearchRequest.query][google.cloud.retail.v2.SearchRequest.query] for
         definition.
        
         The value must be a UTF-8 encoded string with a length limit of 5,000
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         At least one of
         [search_query][google.cloud.retail.v2.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
         required for `search` events. Other event types should not set this field.
         Otherwise, an INVALID_ARGUMENT error is returned.
         
        string search_query = 10;
        Specified by:
        getSearchQuery in interface UserEventOrBuilder
        Returns:
        The searchQuery.
      • getSearchQueryBytes

        public com.google.protobuf.ByteString getSearchQueryBytes()
         The user's search query.
        
         See [SearchRequest.query][google.cloud.retail.v2.SearchRequest.query] for
         definition.
        
         The value must be a UTF-8 encoded string with a length limit of 5,000
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         At least one of
         [search_query][google.cloud.retail.v2.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
         required for `search` events. Other event types should not set this field.
         Otherwise, an INVALID_ARGUMENT error is returned.
         
        string search_query = 10;
        Specified by:
        getSearchQueryBytes in interface UserEventOrBuilder
        Returns:
        The bytes for searchQuery.
      • getFilter

        public String getFilter()
         The filter syntax consists of an expression language for constructing a
         predicate from one or more fields of the products being filtered.
        
         See [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
         definition and syntax.
        
         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 = 16;
        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 products being filtered.
        
         See [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
         definition and syntax.
        
         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 = 16;
        Specified by:
        getFilterBytes in interface UserEventOrBuilder
        Returns:
        The bytes for filter.
      • getOrderBy

        public String getOrderBy()
         The order in which products are returned.
        
         See [SearchRequest.order_by][google.cloud.retail.v2.SearchRequest.order_by]
         for definition and syntax.
        
         The value must be a UTF-8 encoded string with a length limit of 1,000
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         This can only be set for `search` events. Other event types should not set
         this field. Otherwise, an INVALID_ARGUMENT error is returned.
         
        string order_by = 17;
        Specified by:
        getOrderBy in interface UserEventOrBuilder
        Returns:
        The orderBy.
      • getOrderByBytes

        public com.google.protobuf.ByteString getOrderByBytes()
         The order in which products are returned.
        
         See [SearchRequest.order_by][google.cloud.retail.v2.SearchRequest.order_by]
         for definition and syntax.
        
         The value must be a UTF-8 encoded string with a length limit of 1,000
         characters. Otherwise, an INVALID_ARGUMENT error is returned.
        
         This can only be set for `search` events. Other event types should not set
         this field. Otherwise, an INVALID_ARGUMENT error is returned.
         
        string order_by = 17;
        Specified by:
        getOrderByBytes in interface UserEventOrBuilder
        Returns:
        The bytes for orderBy.
      • getOffset

        public int getOffset()
         An integer that specifies the current offset for pagination (the 0-indexed
         starting location, amongst the products deemed by the API as relevant).
        
         See [SearchRequest.offset][google.cloud.retail.v2.SearchRequest.offset] for
         definition.
        
         If this field is negative, an INVALID_ARGUMENT is returned.
        
         This can only be set for `search` events. Other event types should not set
         this field. Otherwise, an INVALID_ARGUMENT error is returned.
         
        int32 offset = 18;
        Specified by:
        getOffset in interface UserEventOrBuilder
        Returns:
        The offset.
      • getPageCategoriesList

        public com.google.protobuf.ProtocolStringList getPageCategoriesList()
         The categories associated with a category page.
        
         To represent full path of category, use '>' sign to separate different
         hierarchies. If '>' is part of the category name, replace it with
         other character(s).
        
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         "pageCategories" : ["Sales > 2017 Black Friday Deals"].
        
         Required for `category-page-view` events. At least one of
         [search_query][google.cloud.retail.v2.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
         required for `search` events. Other event types should not set this field.
         Otherwise, an INVALID_ARGUMENT error is returned.
         
        repeated string page_categories = 11;
        Specified by:
        getPageCategoriesList in interface UserEventOrBuilder
        Returns:
        A list containing the pageCategories.
      • getPageCategoriesCount

        public int getPageCategoriesCount()
         The categories associated with a category page.
        
         To represent full path of category, use '>' sign to separate different
         hierarchies. If '>' is part of the category name, replace it with
         other character(s).
        
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         "pageCategories" : ["Sales > 2017 Black Friday Deals"].
        
         Required for `category-page-view` events. At least one of
         [search_query][google.cloud.retail.v2.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
         required for `search` events. Other event types should not set this field.
         Otherwise, an INVALID_ARGUMENT error is returned.
         
        repeated string page_categories = 11;
        Specified by:
        getPageCategoriesCount in interface UserEventOrBuilder
        Returns:
        The count of pageCategories.
      • getPageCategories

        public String getPageCategories​(int index)
         The categories associated with a category page.
        
         To represent full path of category, use '>' sign to separate different
         hierarchies. If '>' is part of the category name, replace it with
         other character(s).
        
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         "pageCategories" : ["Sales > 2017 Black Friday Deals"].
        
         Required for `category-page-view` events. At least one of
         [search_query][google.cloud.retail.v2.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
         required for `search` events. Other event types should not set this field.
         Otherwise, an INVALID_ARGUMENT error is returned.
         
        repeated string page_categories = 11;
        Specified by:
        getPageCategories in interface UserEventOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The pageCategories at the given index.
      • getPageCategoriesBytes

        public com.google.protobuf.ByteString getPageCategoriesBytes​(int index)
         The categories associated with a category page.
        
         To represent full path of category, use '>' sign to separate different
         hierarchies. If '>' is part of the category name, replace it with
         other character(s).
        
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         "pageCategories" : ["Sales > 2017 Black Friday Deals"].
        
         Required for `category-page-view` events. At least one of
         [search_query][google.cloud.retail.v2.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
         required for `search` events. Other event types should not set this field.
         Otherwise, an INVALID_ARGUMENT error is returned.
         
        repeated string page_categories = 11;
        Specified by:
        getPageCategoriesBytes in interface UserEventOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the pageCategories at the given index.
      • hasUserInfo

        public boolean hasUserInfo()
         User information.
         
        .google.cloud.retail.v2.UserInfo user_info = 12;
        Specified by:
        hasUserInfo in interface UserEventOrBuilder
        Returns:
        Whether the userInfo field is set.
      • getUserInfo

        public UserInfo getUserInfo()
         User information.
         
        .google.cloud.retail.v2.UserInfo user_info = 12;
        Specified by:
        getUserInfo in interface UserEventOrBuilder
        Returns:
        The userInfo.
      • getUri

        public String getUri()
         Complete URL (window.location.href) of the user's current page.
        
         When using the client side event reporting with JavaScript pixel and Google
         Tag Manager, this value is filled in automatically. Maximum length 5,000
         characters.
         
        string uri = 13;
        Specified by:
        getUri in interface UserEventOrBuilder
        Returns:
        The uri.
      • getUriBytes

        public com.google.protobuf.ByteString getUriBytes()
         Complete URL (window.location.href) of the user's current page.
        
         When using the client side event reporting with JavaScript pixel and Google
         Tag Manager, this value is filled in automatically. Maximum length 5,000
         characters.
         
        string uri = 13;
        Specified by:
        getUriBytes in interface UserEventOrBuilder
        Returns:
        The bytes for uri.
      • getReferrerUri

        public String getReferrerUri()
         The referrer URL of the current page.
        
         When using the client side event reporting with JavaScript pixel and Google
         Tag Manager, this value is filled in automatically.
         
        string referrer_uri = 14;
        Specified by:
        getReferrerUri in interface UserEventOrBuilder
        Returns:
        The referrerUri.
      • getReferrerUriBytes

        public com.google.protobuf.ByteString getReferrerUriBytes()
         The referrer URL of the current page.
        
         When using the client side event reporting with JavaScript pixel and Google
         Tag Manager, this value is filled in automatically.
         
        string referrer_uri = 14;
        Specified by:
        getReferrerUriBytes in interface UserEventOrBuilder
        Returns:
        The bytes for referrerUri.
      • getPageViewId

        public String getPageViewId()
         A unique ID of a web page view.
        
         This should be kept the same for all user events triggered from the same
         pageview. For example, an item detail page view could trigger multiple
         events as the user is browsing the page. The `pageViewId` property should
         be kept the same for all these events so that they can be grouped together
         properly.
        
         When using the client side event reporting with JavaScript pixel and Google
         Tag Manager, this value is filled in automatically.
         
        string page_view_id = 15;
        Specified by:
        getPageViewId in interface UserEventOrBuilder
        Returns:
        The pageViewId.
      • getPageViewIdBytes

        public com.google.protobuf.ByteString getPageViewIdBytes()
         A unique ID of a web page view.
        
         This should be kept the same for all user events triggered from the same
         pageview. For example, an item detail page view could trigger multiple
         events as the user is browsing the page. The `pageViewId` property should
         be kept the same for all these events so that they can be grouped together
         properly.
        
         When using the client side event reporting with JavaScript pixel and Google
         Tag Manager, this value is filled in automatically.
         
        string page_view_id = 15;
        Specified by:
        getPageViewIdBytes in interface UserEventOrBuilder
        Returns:
        The bytes for pageViewId.
      • getEntity

        public String getEntity()
         The entity for customers that may run multiple different entities, domains,
         sites or regions, for example, `Google US`, `Google Ads`, `Waymo`,
         `google.com`, `youtube.com`, etc.
         It is recommended to set this field to get better per-entity search,
         completion and prediction results.
         
        string entity = 23;
        Specified by:
        getEntity in interface UserEventOrBuilder
        Returns:
        The entity.
      • getEntityBytes

        public com.google.protobuf.ByteString getEntityBytes()
         The entity for customers that may run multiple different entities, domains,
         sites or regions, for example, `Google US`, `Google Ads`, `Waymo`,
         `google.com`, `youtube.com`, etc.
         It is recommended to set this field to get better per-entity search,
         completion and prediction results.
         
        string entity = 23;
        Specified by:
        getEntityBytes in interface UserEventOrBuilder
        Returns:
        The bytes for entity.
      • 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