pub struct UserInfo {
pub user_id: String,
pub ip_address: String,
pub user_agent: String,
pub direct_user_request: bool,
}
Expand description
Information of an end user.
Fields§
§user_id: String
Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. Don’t set for anonymous users.
Always use a hashed value for this ID.
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.
ip_address: String
The end user’s IP address. This field is used to extract location information for personalization.
This field must be either an IPv4 address (e.g. “104.133.9.80”) or an IPv6 address (e.g. “2001:0db8:85a3:0000:0000:8a2e:0370:7334”). Otherwise, an INVALID_ARGUMENT error is returned.
This should not be set when:
- setting [SearchRequest.user_info][google.cloud.retail.v2beta.SearchRequest.user_info].
- using the JavaScript tag in [UserEventService.CollectUserEvent][google.cloud.retail.v2beta.UserEventService.CollectUserEvent] or if [direct_user_request][google.cloud.retail.v2beta.UserInfo.direct_user_request] is set.
user_agent: String
User agent as included in the HTTP header. Required for getting [SearchResponse.sponsored_results][google.cloud.retail.v2beta.SearchResponse.sponsored_results].
The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
This should not be set when using the client side event reporting with GTM or JavaScript tag in [UserEventService.CollectUserEvent][google.cloud.retail.v2beta.UserEventService.CollectUserEvent] or if [direct_user_request][google.cloud.retail.v2beta.UserInfo.direct_user_request] is set.
direct_user_request: bool
True if the request is made directly from the end user, in which case the [ip_address][google.cloud.retail.v2beta.UserInfo.ip_address] and [user_agent][google.cloud.retail.v2beta.UserInfo.user_agent] can be populated from the HTTP request. This flag should be set only if the API request is made directly from the end user such as a mobile app (and not if a gateway or a server is processing and pushing the user events).
This should not be set when using the JavaScript tag in [UserEventService.CollectUserEvent][google.cloud.retail.v2beta.UserEventService.CollectUserEvent].
Trait Implementations§
source§impl Message for UserInfo
impl Message for UserInfo
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for UserInfo
impl PartialEq for UserInfo
impl StructuralPartialEq for UserInfo
Auto Trait Implementations§
impl Freeze for UserInfo
impl RefUnwindSafe for UserInfo
impl Send for UserInfo
impl Sync for UserInfo
impl Unpin for UserInfo
impl UnwindSafe for UserInfo
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request