Class UserEvent.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<UserEvent.Builder>
com.google.cloud.retail.v2alpha.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.GeneratedMessage.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 Details

    • getDescriptor

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

      protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection(int number)
      Overrides:
      internalGetMapFieldReflection in class com.google.protobuf.GeneratedMessage.Builder<UserEvent.Builder>
    • internalGetMutableMapFieldReflection

      protected com.google.protobuf.MapFieldReflectionAccessor internalGetMutableMapFieldReflection(int number)
      Overrides:
      internalGetMutableMapFieldReflection in class com.google.protobuf.GeneratedMessage.Builder<UserEvent.Builder>
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.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.GeneratedMessage.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.GeneratedMessage.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
    • 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>
    • mergeFrom

      public UserEvent.Builder mergeFrom(UserEvent other)
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.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.
       * `remove-from-cart`: Products being removed from 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.
       * `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.
       * `remove-from-cart`: Products being removed from 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.
       * `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.
       * `remove-from-cart`: Products being removed from 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.
       * `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.
       * `remove-from-cart`: Products being removed from 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.
       * `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.
       * `remove-from-cart`: Products being removed from 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.
       * `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
    • getAttributes

      @Deprecated public Map<String,CustomAttribute> getAttributes()
      Deprecated.
      Use getAttributesMap() instead.
      Specified by:
      getAttributes 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
    • clearAttributes

      public UserEvent.Builder clearAttributes()
    • 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;
    • getMutableAttributes

      @Deprecated public Map<String,CustomAttribute> getMutableAttributes()
      Deprecated.
      Use alternate mutation accessors instead.
    • 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;
    • putAttributesBuilderIfAbsent

      public CustomAttribute.Builder putAttributesBuilderIfAbsent(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;
    • 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;
    • setUserInfo

      public UserEvent.Builder setUserInfo(UserInfo.Builder builderForValue)
       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;
    • getUserInfoOrBuilder

      public UserInfoOrBuilder getUserInfoOrBuilder()
       User information.
       
      .google.cloud.retail.v2alpha.UserInfo user_info = 12;
      Specified by:
      getUserInfoOrBuilder in interface UserEventOrBuilder
    • 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.
       We recommend that you 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.
       We recommend that you 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.
       We recommend that you 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.
       We recommend that you 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.
       We recommend that you 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.