AssistantApiCoreTypesDeviceId

Assistant APIInfrastructure

GoogleApi.ContentWarehouse.V1.Model.AssistantApiCoreTypesDeviceId

1
out of 10
Minimal
SEO Impact
LINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two DeviceIds, you should always use an isSameDevice{As} function to check for equality, as deep equality between DeviceId's is not guaranteed. C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14

SEO Analysis

AI Generated

Backend infrastructure with indirect SEO impact. This model (Assistant Api Core Types Device Id) contains 13 attributes that define its data structure. Key functionality includes: The client_instance_id on devices with GSA. See 'client_instance_field' in go/androidids.

Actionable Insights for SEOs

  • Understanding this model helps SEOs grasp Google's internal data architecture

Attributes

13
Sort:|Filter:
agsaClientInstanceIdstring
Default: nilFull type: String.t

The client_instance_id on devices with GSA. See 'client_instance_field' in go/androidids.

alloDeviceIdstring
Default: nilFull type: String.t

Allo Id. Corresponds to the GBotRequest.Sender.sender. NOTE(dychen): This may change to standard android/ios physical device ids in order to enable shared data (e.g. installed app on physical device shared between Allo and Opa apps on Nexus).

canonicalDeviceIdstring
Default: nilFull type: String.t

A unique device ID for Assistant devices as proposed by go/ocelot-team to solve the device id fragmentation problem. The value of this id is the HomeGraph id of the device. See go/ocelot-track-0-registry-design. New surfaces should use the canonical_device_id instead of using other ids, and the registration should utilize the DeviceDataLayer (go/ddl-v0). Please contact the assistant-state-management@ team for guidance. Note: We didn't reuse |home_graph_device_id| because in Assistant code base |home_graph_device_id| is common to associate it with 3P devices. See go/project-yellowstone for more context.

castDeviceIdstring
Default: nilFull type: String.t

If set, indicates that the device is a cast device, and contains the UUID of the cast device. Corresponds to the device_id field of the CastDevice proto.

clientInstanceIdstring
Default: nilFull type: String.t

DUSI (go/dusi) is used as the identifier here. This identifier is unique to the user and device. This will help identify which device or application the user's request originated from. This is not to be confused with the client_instance_id that android devices provide. This is currently used by surfaces that use the assistant-legacy-nexus and assistant-legacy-clockwork pipelines. DUSI is created and set in S3. This field is only filled for GAIA requests.

connectedDockIdstring
Default: nilFull type: String.t

A device ID produced by a connected dock, which is registered in HomeGraph.

Default: nilFull type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiCoreTypesDeviceConfig.t

The unique DeviceConfig to the specific third party device. It is also used by Android Auto Embedded first party device. See go/opa-ids.

deviceTypestring
Default: nilFull type: String.t

DEPRECATED. assistant.api.core_types.governed.SurfaceIdentity.surface_type field should be used instead. The device's surface type. This is the string version of surface_type. The server should use the SurfaceType value derived from this string. If the device_type isn't supported within the SurfaceType enum, it will be set as UNKNOWN. Developers should use the enum in ServerParams instead of this string. WARNING: Clients are not actually setting this field. This field will be removed once references to it within the code base have been removed.

homeGraphDeviceIdstring
Default: nilFull type: String.t

The unique device ID for HomeGraph devices. This is the HomeGraph ID, created when the device is registered into HomeGraph. It is immutable for the same device unless it is completely deleted and recreated. See go/home-graph for details.

libassistantDeviceIdstring
Default: nilFull type: String.t

The unique ID for libassistant based devices. See go/libassistant-id for details.

multiHotwordArbitrationDeviceIdstring
Default: nilFull type: String.t

If set, indicates that the device is participating the multi-hotword arbitration and the id is an UUID to distinguish it from other devices. It should also be consistent between requests from a single device within a session (or short duration).

opaIosDeviceIdstring
Default: nilFull type: String.t

The unique device ID for the Assistant App on iOS. See go/opa-ios-design for details.

quartzDeviceIdstring
Default: nilFull type: String.t

The unique ID of a Quartz device. See go/quartz-design-doc for more details. Quartz ID is a hash of (android_id + gaia).