Class UserEvent.Builder

  • All Implemented Interfaces:
    UserEventOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
    Enclosing class:
    UserEvent

    public static final class UserEvent.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<UserEvent.Builder>
    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.v2alpha.UserEvent
    • Method Detail

      • 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.Builder<UserEvent.Builder>
      • internalGetMutableMapField

        protected com.google.protobuf.MapField internalGetMutableMapField​(int number)
        Overrides:
        internalGetMutableMapField in class com.google.protobuf.GeneratedMessageV3.Builder<UserEvent.Builder>
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<UserEvent.Builder>
      • clear

        public UserEvent.Builder clear()
        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<UserEvent.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<UserEvent.Builder>
      • getDefaultInstanceForType

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

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

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

        public UserEvent.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<UserEvent.Builder>
      • setField

        public UserEvent.Builder setField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                          Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<UserEvent.Builder>
      • clearField

        public UserEvent.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<UserEvent.Builder>
      • clearOneof

        public UserEvent.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<UserEvent.Builder>
      • setRepeatedField

        public UserEvent.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                  int index,
                                                  Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<UserEvent.Builder>
      • addRepeatedField

        public UserEvent.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                  Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<UserEvent.Builder>
      • mergeFrom

        public UserEvent.Builder mergeFrom​(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<UserEvent.Builder>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<UserEvent.Builder>
      • mergeFrom

        public UserEvent.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<UserEvent.Builder>
        Throws:
        IOException
      • 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.
      • setEventType

        public UserEvent.Builder setEventType​(String value)
         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];
        Parameters:
        value - The eventType to set.
        Returns:
        This builder for chaining.
      • clearEventType

        public UserEvent.Builder clearEventType()
         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];
        Returns:
        This builder for chaining.
      • setEventTypeBytes

        public UserEvent.Builder setEventTypeBytes​(com.google.protobuf.ByteString value)
         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];
        Parameters:
        value - The bytes for eventType to set.
        Returns:
        This builder for chaining.
      • 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.
      • setVisitorId

        public UserEvent.Builder setVisitorId​(String value)
         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];
        Parameters:
        value - The visitorId to set.
        Returns:
        This builder for chaining.
      • clearVisitorId

        public UserEvent.Builder clearVisitorId()
         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];
        Returns:
        This builder for chaining.
      • setVisitorIdBytes

        public UserEvent.Builder setVisitorIdBytes​(com.google.protobuf.ByteString value)
         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];
        Parameters:
        value - The bytes for visitorId to set.
        Returns:
        This builder for chaining.
      • 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.
      • setSessionId

        public UserEvent.Builder setSessionId​(String value)
         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;
        Parameters:
        value - The sessionId to set.
        Returns:
        This builder for chaining.
      • clearSessionId

        public UserEvent.Builder clearSessionId()
         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;
        Returns:
        This builder for chaining.
      • setSessionIdBytes

        public UserEvent.Builder setSessionIdBytes​(com.google.protobuf.ByteString value)
         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;
        Parameters:
        value - The bytes for sessionId to set.
        Returns:
        This builder for chaining.
      • hasEventTime

        public boolean hasEventTime()
         Only required for
         [UserEventService.ImportUserEvents][google.cloud.retail.v2alpha.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.v2alpha.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.
      • setEventTime

        public UserEvent.Builder setEventTime​(com.google.protobuf.Timestamp value)
         Only required for
         [UserEventService.ImportUserEvents][google.cloud.retail.v2alpha.UserEventService.ImportUserEvents]
         method. Timestamp of when the user event happened.
         
        .google.protobuf.Timestamp event_time = 3;
      • setEventTime

        public UserEvent.Builder setEventTime​(com.google.protobuf.Timestamp.Builder builderForValue)
         Only required for
         [UserEventService.ImportUserEvents][google.cloud.retail.v2alpha.UserEventService.ImportUserEvents]
         method. Timestamp of when the user event happened.
         
        .google.protobuf.Timestamp event_time = 3;
      • mergeEventTime

        public UserEvent.Builder mergeEventTime​(com.google.protobuf.Timestamp value)
         Only required for
         [UserEventService.ImportUserEvents][google.cloud.retail.v2alpha.UserEventService.ImportUserEvents]
         method. Timestamp of when the user event happened.
         
        .google.protobuf.Timestamp event_time = 3;
      • clearEventTime

        public UserEvent.Builder clearEventTime()
         Only required for
         [UserEventService.ImportUserEvents][google.cloud.retail.v2alpha.UserEventService.ImportUserEvents]
         method. Timestamp of when the user event happened.
         
        .google.protobuf.Timestamp event_time = 3;
      • getEventTimeBuilder

        public com.google.protobuf.Timestamp.Builder getEventTimeBuilder()
         Only required for
         [UserEventService.ImportUserEvents][google.cloud.retail.v2alpha.UserEventService.ImportUserEvents]
         method. Timestamp of when the user event happened.
         
        .google.protobuf.Timestamp event_time = 3;
      • getEventTimeOrBuilder

        public com.google.protobuf.TimestampOrBuilder getEventTimeOrBuilder()
         Only required for
         [UserEventService.ImportUserEvents][google.cloud.retail.v2alpha.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.
      • setExperimentIds

        public UserEvent.Builder setExperimentIds​(int index,
                                                  String value)
         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;
        Parameters:
        index - The index to set the value at.
        value - The experimentIds to set.
        Returns:
        This builder for chaining.
      • addExperimentIds

        public UserEvent.Builder addExperimentIds​(String value)
         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;
        Parameters:
        value - The experimentIds to add.
        Returns:
        This builder for chaining.
      • addAllExperimentIds

        public UserEvent.Builder addAllExperimentIds​(Iterable<String> values)
         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;
        Parameters:
        values - The experimentIds to add.
        Returns:
        This builder for chaining.
      • clearExperimentIds

        public UserEvent.Builder clearExperimentIds()
         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;
        Returns:
        This builder for chaining.
      • addExperimentIdsBytes

        public UserEvent.Builder addExperimentIdsBytes​(com.google.protobuf.ByteString value)
         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;
        Parameters:
        value - The bytes of the experimentIds to add.
        Returns:
        This builder for chaining.
      • getAttributionToken

        public String getAttributionToken()
         Highly recommended for user events that are the result of
         [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict].
         This field enables accurate attribution of recommendation model
         performance.
        
         The value must be a valid
         [PredictResponse.attribution_token][google.cloud.retail.v2alpha.PredictResponse.attribution_token]
         for user events that are the result of
         [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict].
         The value must be a valid
         [SearchResponse.attribution_token][google.cloud.retail.v2alpha.SearchResponse.attribution_token]
         for user events that are the result of
         [SearchService.Search][google.cloud.retail.v2alpha.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.v2alpha.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.v2alpha.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.v2alpha.PredictionService.Predict].
         This field enables accurate attribution of recommendation model
         performance.
        
         The value must be a valid
         [PredictResponse.attribution_token][google.cloud.retail.v2alpha.PredictResponse.attribution_token]
         for user events that are the result of
         [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict].
         The value must be a valid
         [SearchResponse.attribution_token][google.cloud.retail.v2alpha.SearchResponse.attribution_token]
         for user events that are the result of
         [SearchService.Search][google.cloud.retail.v2alpha.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.v2alpha.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.v2alpha.PredictResponse.attribution_token]
         to this field.
         
        string attribution_token = 5;
        Specified by:
        getAttributionTokenBytes in interface UserEventOrBuilder
        Returns:
        The bytes for attributionToken.
      • setAttributionToken

        public UserEvent.Builder setAttributionToken​(String value)
         Highly recommended for user events that are the result of
         [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict].
         This field enables accurate attribution of recommendation model
         performance.
        
         The value must be a valid
         [PredictResponse.attribution_token][google.cloud.retail.v2alpha.PredictResponse.attribution_token]
         for user events that are the result of
         [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict].
         The value must be a valid
         [SearchResponse.attribution_token][google.cloud.retail.v2alpha.SearchResponse.attribution_token]
         for user events that are the result of
         [SearchService.Search][google.cloud.retail.v2alpha.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.v2alpha.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.v2alpha.PredictResponse.attribution_token]
         to this field.
         
        string attribution_token = 5;
        Parameters:
        value - The attributionToken to set.
        Returns:
        This builder for chaining.
      • clearAttributionToken

        public UserEvent.Builder clearAttributionToken()
         Highly recommended for user events that are the result of
         [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict].
         This field enables accurate attribution of recommendation model
         performance.
        
         The value must be a valid
         [PredictResponse.attribution_token][google.cloud.retail.v2alpha.PredictResponse.attribution_token]
         for user events that are the result of
         [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict].
         The value must be a valid
         [SearchResponse.attribution_token][google.cloud.retail.v2alpha.SearchResponse.attribution_token]
         for user events that are the result of
         [SearchService.Search][google.cloud.retail.v2alpha.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.v2alpha.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.v2alpha.PredictResponse.attribution_token]
         to this field.
         
        string attribution_token = 5;
        Returns:
        This builder for chaining.
      • setAttributionTokenBytes

        public UserEvent.Builder setAttributionTokenBytes​(com.google.protobuf.ByteString value)
         Highly recommended for user events that are the result of
         [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict].
         This field enables accurate attribution of recommendation model
         performance.
        
         The value must be a valid
         [PredictResponse.attribution_token][google.cloud.retail.v2alpha.PredictResponse.attribution_token]
         for user events that are the result of
         [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict].
         The value must be a valid
         [SearchResponse.attribution_token][google.cloud.retail.v2alpha.SearchResponse.attribution_token]
         for user events that are the result of
         [SearchService.Search][google.cloud.retail.v2alpha.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.v2alpha.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.v2alpha.PredictResponse.attribution_token]
         to this field.
         
        string attribution_token = 5;
        Parameters:
        value - The bytes for attributionToken to set.
        Returns:
        This builder for chaining.
      • 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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
        Specified by:
        getProductDetailsList 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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
        Specified by:
        getProductDetails in interface UserEventOrBuilder
      • setProductDetails

        public UserEvent.Builder setProductDetails​(int index,
                                                   ProductDetail value)
         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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      • setProductDetails

        public UserEvent.Builder setProductDetails​(int index,
                                                   ProductDetail.Builder builderForValue)
         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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      • addProductDetails

        public UserEvent.Builder addProductDetails​(ProductDetail value)
         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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      • addProductDetails

        public UserEvent.Builder addProductDetails​(int index,
                                                   ProductDetail value)
         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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      • addProductDetails

        public UserEvent.Builder addProductDetails​(ProductDetail.Builder builderForValue)
         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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      • addProductDetails

        public UserEvent.Builder addProductDetails​(int index,
                                                   ProductDetail.Builder builderForValue)
         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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      • addAllProductDetails

        public UserEvent.Builder addAllProductDetails​(Iterable<? extends ProductDetail> values)
         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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      • clearProductDetails

        public UserEvent.Builder clearProductDetails()
         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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      • removeProductDetails

        public UserEvent.Builder removeProductDetails​(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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      • getProductDetailsBuilder

        public ProductDetail.Builder getProductDetailsBuilder​(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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      • 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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
        Specified by:
        getProductDetailsOrBuilder 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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
        Specified by:
        getProductDetailsOrBuilderList in interface UserEventOrBuilder
      • addProductDetailsBuilder

        public ProductDetail.Builder addProductDetailsBuilder()
         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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      • addProductDetailsBuilder

        public ProductDetail.Builder addProductDetailsBuilder​(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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      • getProductDetailsBuilderList

        public List<ProductDetail.Builder> getProductDetailsBuilderList()
         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.v2alpha.UserEvent.product_details] is
         desired. The end user may have not finished browsing the whole page yet.
         
        repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      • 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.v2alpha.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.v2alpha.CompletionDetail completion_detail = 22;
        Specified by:
        getCompletionDetail in interface UserEventOrBuilder
        Returns:
        The completionDetail.
      • setCompletionDetail

        public UserEvent.Builder setCompletionDetail​(CompletionDetail value)
         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.v2alpha.CompletionDetail completion_detail = 22;
      • setCompletionDetail

        public UserEvent.Builder setCompletionDetail​(CompletionDetail.Builder builderForValue)
         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.v2alpha.CompletionDetail completion_detail = 22;
      • mergeCompletionDetail

        public UserEvent.Builder mergeCompletionDetail​(CompletionDetail value)
         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.v2alpha.CompletionDetail completion_detail = 22;
      • clearCompletionDetail

        public UserEvent.Builder clearCompletionDetail()
         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.v2alpha.CompletionDetail completion_detail = 22;
      • getCompletionDetailBuilder

        public CompletionDetail.Builder getCompletionDetailBuilder()
         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.v2alpha.CompletionDetail completion_detail = 22;
      • 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.v2alpha.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.v2alpha.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.v2alpha.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.v2alpha.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.v2alpha.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.v2alpha.CustomAttribute> attributes = 7;
        Specified by:
        getAttributesOrThrow in interface UserEventOrBuilder
      • removeAttributes

        public UserEvent.Builder removeAttributes​(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.v2alpha.CustomAttribute> attributes = 7;
      • putAttributes

        public UserEvent.Builder putAttributes​(String key,
                                               CustomAttribute value)
         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.v2alpha.CustomAttribute> attributes = 7;
      • putAllAttributes

        public UserEvent.Builder putAllAttributes​(Map<String,​CustomAttribute> values)
         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.v2alpha.CustomAttribute> attributes = 7;
      • 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.
      • setCartId

        public UserEvent.Builder setCartId​(String value)
         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;
        Parameters:
        value - The cartId to set.
        Returns:
        This builder for chaining.
      • clearCartId

        public UserEvent.Builder clearCartId()
         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;
        Returns:
        This builder for chaining.
      • setCartIdBytes

        public UserEvent.Builder setCartIdBytes​(com.google.protobuf.ByteString value)
         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;
        Parameters:
        value - The bytes for cartId to set.
        Returns:
        This builder for chaining.
      • 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.v2alpha.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.v2alpha.PurchaseTransaction purchase_transaction = 9;
        Specified by:
        getPurchaseTransaction in interface UserEventOrBuilder
        Returns:
        The purchaseTransaction.
      • setPurchaseTransaction

        public UserEvent.Builder setPurchaseTransaction​(PurchaseTransaction value)
         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.v2alpha.PurchaseTransaction purchase_transaction = 9;
      • setPurchaseTransaction

        public UserEvent.Builder setPurchaseTransaction​(PurchaseTransaction.Builder builderForValue)
         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.v2alpha.PurchaseTransaction purchase_transaction = 9;
      • mergePurchaseTransaction

        public UserEvent.Builder mergePurchaseTransaction​(PurchaseTransaction value)
         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.v2alpha.PurchaseTransaction purchase_transaction = 9;
      • clearPurchaseTransaction

        public UserEvent.Builder clearPurchaseTransaction()
         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.v2alpha.PurchaseTransaction purchase_transaction = 9;
      • getPurchaseTransactionBuilder

        public PurchaseTransaction.Builder getPurchaseTransactionBuilder()
         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.v2alpha.PurchaseTransaction purchase_transaction = 9;
      • 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.v2alpha.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.v2alpha.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.v2alpha.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2alpha.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.v2alpha.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.v2alpha.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2alpha.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.
      • setSearchQuery

        public UserEvent.Builder setSearchQuery​(String value)
         The user's search query.
        
         See [SearchRequest.query][google.cloud.retail.v2alpha.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.v2alpha.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2alpha.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;
        Parameters:
        value - The searchQuery to set.
        Returns:
        This builder for chaining.
      • clearSearchQuery

        public UserEvent.Builder clearSearchQuery()
         The user's search query.
        
         See [SearchRequest.query][google.cloud.retail.v2alpha.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.v2alpha.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2alpha.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;
        Returns:
        This builder for chaining.
      • setSearchQueryBytes

        public UserEvent.Builder setSearchQueryBytes​(com.google.protobuf.ByteString value)
         The user's search query.
        
         See [SearchRequest.query][google.cloud.retail.v2alpha.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.v2alpha.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2alpha.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;
        Parameters:
        value - The bytes for searchQuery to set.
        Returns:
        This builder for chaining.
      • 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.v2alpha.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.v2alpha.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.
      • setFilter

        public UserEvent.Builder setFilter​(String value)
         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.v2alpha.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;
        Parameters:
        value - The filter to set.
        Returns:
        This builder for chaining.
      • clearFilter

        public UserEvent.Builder clearFilter()
         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.v2alpha.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;
        Returns:
        This builder for chaining.
      • setFilterBytes

        public UserEvent.Builder setFilterBytes​(com.google.protobuf.ByteString value)
         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.v2alpha.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;
        Parameters:
        value - The bytes for filter to set.
        Returns:
        This builder for chaining.
      • getOrderBy

        public String getOrderBy()
         The order in which products are returned.
        
         See
         [SearchRequest.order_by][google.cloud.retail.v2alpha.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.v2alpha.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.
      • setOrderBy

        public UserEvent.Builder setOrderBy​(String value)
         The order in which products are returned.
        
         See
         [SearchRequest.order_by][google.cloud.retail.v2alpha.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;
        Parameters:
        value - The orderBy to set.
        Returns:
        This builder for chaining.
      • clearOrderBy

        public UserEvent.Builder clearOrderBy()
         The order in which products are returned.
        
         See
         [SearchRequest.order_by][google.cloud.retail.v2alpha.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;
        Returns:
        This builder for chaining.
      • setOrderByBytes

        public UserEvent.Builder setOrderByBytes​(com.google.protobuf.ByteString value)
         The order in which products are returned.
        
         See
         [SearchRequest.order_by][google.cloud.retail.v2alpha.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;
        Parameters:
        value - The bytes for orderBy to set.
        Returns:
        This builder for chaining.
      • 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.v2alpha.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.
      • setOffset

        public UserEvent.Builder setOffset​(int value)
         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.v2alpha.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;
        Parameters:
        value - The offset to set.
        Returns:
        This builder for chaining.
      • clearOffset

        public UserEvent.Builder clearOffset()
         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.v2alpha.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;
        Returns:
        This builder for chaining.
      • 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.v2alpha.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2alpha.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.v2alpha.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2alpha.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.v2alpha.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2alpha.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.v2alpha.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2alpha.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.
      • setPageCategories

        public UserEvent.Builder setPageCategories​(int index,
                                                   String value)
         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.v2alpha.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2alpha.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;
        Parameters:
        index - The index to set the value at.
        value - The pageCategories to set.
        Returns:
        This builder for chaining.
      • addPageCategories

        public UserEvent.Builder addPageCategories​(String value)
         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.v2alpha.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2alpha.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;
        Parameters:
        value - The pageCategories to add.
        Returns:
        This builder for chaining.
      • addAllPageCategories

        public UserEvent.Builder addAllPageCategories​(Iterable<String> values)
         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.v2alpha.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2alpha.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;
        Parameters:
        values - The pageCategories to add.
        Returns:
        This builder for chaining.
      • clearPageCategories

        public UserEvent.Builder clearPageCategories()
         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.v2alpha.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2alpha.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;
        Returns:
        This builder for chaining.
      • addPageCategoriesBytes

        public UserEvent.Builder addPageCategoriesBytes​(com.google.protobuf.ByteString value)
         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.v2alpha.UserEvent.search_query] or
         [page_categories][google.cloud.retail.v2alpha.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;
        Parameters:
        value - The bytes of the pageCategories to add.
        Returns:
        This builder for chaining.
      • hasUserInfo

        public boolean hasUserInfo()
         User information.
         
        .google.cloud.retail.v2alpha.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.v2alpha.UserInfo user_info = 12;
        Specified by:
        getUserInfo in interface UserEventOrBuilder
        Returns:
        The userInfo.
      • setUserInfo

        public UserEvent.Builder setUserInfo​(UserInfo value)
         User information.
         
        .google.cloud.retail.v2alpha.UserInfo user_info = 12;
      • mergeUserInfo

        public UserEvent.Builder mergeUserInfo​(UserInfo value)
         User information.
         
        .google.cloud.retail.v2alpha.UserInfo user_info = 12;
      • clearUserInfo

        public UserEvent.Builder clearUserInfo()
         User information.
         
        .google.cloud.retail.v2alpha.UserInfo user_info = 12;
      • getUserInfoBuilder

        public UserInfo.Builder getUserInfoBuilder()
         User information.
         
        .google.cloud.retail.v2alpha.UserInfo user_info = 12;
      • 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.
      • setUri

        public UserEvent.Builder setUri​(String value)
         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;
        Parameters:
        value - The uri to set.
        Returns:
        This builder for chaining.
      • clearUri

        public UserEvent.Builder clearUri()
         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;
        Returns:
        This builder for chaining.
      • setUriBytes

        public UserEvent.Builder setUriBytes​(com.google.protobuf.ByteString value)
         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;
        Parameters:
        value - The bytes for uri to set.
        Returns:
        This builder for chaining.
      • 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.
      • setReferrerUri

        public UserEvent.Builder setReferrerUri​(String value)
         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;
        Parameters:
        value - The referrerUri to set.
        Returns:
        This builder for chaining.
      • clearReferrerUri

        public UserEvent.Builder clearReferrerUri()
         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;
        Returns:
        This builder for chaining.
      • setReferrerUriBytes

        public UserEvent.Builder setReferrerUriBytes​(com.google.protobuf.ByteString value)
         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;
        Parameters:
        value - The bytes for referrerUri to set.
        Returns:
        This builder for chaining.
      • 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.
      • setPageViewId

        public UserEvent.Builder setPageViewId​(String value)
         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;
        Parameters:
        value - The pageViewId to set.
        Returns:
        This builder for chaining.
      • clearPageViewId

        public UserEvent.Builder clearPageViewId()
         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;
        Returns:
        This builder for chaining.
      • setPageViewIdBytes

        public UserEvent.Builder setPageViewIdBytes​(com.google.protobuf.ByteString value)
         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;
        Parameters:
        value - The bytes for pageViewId to set.
        Returns:
        This builder for chaining.
      • 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.
      • setEntity

        public UserEvent.Builder setEntity​(String value)
         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;
        Parameters:
        value - The entity to set.
        Returns:
        This builder for chaining.
      • clearEntity

        public UserEvent.Builder clearEntity()
         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;
        Returns:
        This builder for chaining.
      • setEntityBytes

        public UserEvent.Builder setEntityBytes​(com.google.protobuf.ByteString value)
         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;
        Parameters:
        value - The bytes for entity to set.
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final UserEvent.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<UserEvent.Builder>
      • mergeUnknownFields

        public final UserEvent.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<UserEvent.Builder>