Schémas de modèles d'appareils et d'instances
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Modèle de l'appareil
Le modèle de l'appareil est défini par les champs de cette section.
Les champs "Modèle de l'appareil" ne peuvent contenir que des lettres, des chiffres et les éléments suivants :
Symboles: point (.), tiret (-), trait de soulignement (_), espace ( ) et plus
(+). Le premier caractère d'un champ doit être une lettre ou un chiffre.
<ph type="x-smartling-placeholder">
</ph>
<ph type="x-smartling-placeholder"></ph>
{
"project_id": "my-devices-project",
"device_model_id": "my-devices-project-prototype-light-v1",
"manifest": {
"manufacturer": "Assistant SDK developer",
"product_name": "Assistant SDK light",
"device_description": "Assistant SDK light device"
},
"device_type": "action.devices.types.LIGHT",
"traits": ["action.devices.traits.OnOff"]
}
<ph type="x-smartling-placeholder"></ph>
{
"project_id": string,
"device_model_id": string,
"manifest": {
"manufacturer": string,
"product_name": string,
"device_description": string
},
"device_type": string,
"traits": [ string ]
}
project_id
: (chaîne) obligatoire. ID du projet Google Cloud Platform
du projet de la console Actions à associer à ce modèle d'appareil.
Un projet peut contenir plusieurs modèles d'appareils.
device_model_id
: (chaîne) obligatoire. Identifiant unique global
pour ce modèle d'appareil. utiliser project_id
comme
un préfixe pour éviter les conflits
sur la plage de tous les projets. Utilisé
dans les métriques et lors de l'enregistrement des appareils.
manifest
: (object(Manifest)) obligatoire. Métadonnées qui décrivent
le modèle et le fabricant de l'appareil. Cela peut s'afficher dans le SDK (à venir)
la console, les tableaux de bord
des métriques et d'autres interfaces visuelles connexes.
manifest.manufacturer
: (chaîne) obligatoire. Nom de l'appareil
fabricant.
manifest.product_name
: (chaîne) obligatoire. En contact avec les clients
nom de produit pour ce modèle d'appareil.
manifest.device_description
: (chaîne) facultatif. Description
de ce modèle d'appareil.
device_type
: (chaîne) obligatoire. Type de matériel de l'appareil. Sélectionner
parmi les éléments suivants:
<ph type="x-smartling-placeholder"></ph>
action.devices.types.CAMERA
action.devices.types.DISHWASHER
action.devices.types.DRYER
action.devices.types.LIGHT
action.devices.types.OUTLET
action.devices.types.PHONE
action.devices.types.REFRIGERATOR
action.devices.types.SCENE
action.devices.types.SOUNDBAR
action.devices.types.SPEAKER
action.devices.types.SWITCH
action.devices.types.THERMOSTAT
action.devices.types.TV
action.devices.types.VACUUM
action.devices.types.WASHER
traits
: (tableau<String>) facultatif. Liste des caractéristiques de l'appareil
compatibles. Les traits comprennent les commandes, les attributs et les états
appareil. Il n'est pas nécessaire de définir un package d'actions
à utiliser
caractéristiques intégrées.
Instance d'appareil
L'instance d'appareil est définie par les champs de cette section.
Les champs d'instances d'appareil doivent commencer par une lettre ou un chiffre. ID de l'appareil
ne peut contenir que des lettres, des chiffres et les symboles suivants: point (.), ;
tiret (-), trait de soulignement (_) et plus (+). Le pseudo de l'appareil ne peut
contenir des chiffres, des lettres et l'espace ( ).
<ph type="x-smartling-placeholder">
</ph>
<ph type="x-smartling-placeholder"></ph>
{
"id": "my_led_1",
"model_id": "my-devices-project-prototype-light-v1",
"nickname": "My Assistant Light",
"client_type": "SDK_LIBRARY"
}
<ph type="x-smartling-placeholder"></ph>
{
"id": string,
"model_id": string,
"nickname": string,
"client_type": string
}
id
: (chaîne) obligatoire. Identifiant de l'appareil de test. Doit être
unique parmi tous les appareils enregistrés sous le même compte
Projet de développement.
model_id
: (chaîne) obligatoire. Identifiant du modèle de l'appareil. doit
être identique à device_model_id
associées à cet appareil de test. Le modèle de l'appareil doit avoir été enregistré
précédemment.
nickname
: (chaîne) facultatif. Pseudo de l'appareil. Ce nom
sera utilisé pour désigner l'appareil dans des interfaces visuelles telles que
Paramètres de l'Assistant.
client_type
: (chaîne) obligatoire. Type d'appareil client. Doit être
l'une des valeurs suivantes: SDK_SERVICE
ou SDK_LIBRARY
.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/25 (UTC).
[null,null,["Dernière mise à jour le 2025/07/25 (UTC)."],[[["\u003cp\u003eDevice models are defined with a unique ID, manufacturer details, device type, and supported traits, enabling the Google Assistant to understand and interact with the device.\u003c/p\u003e\n"],["\u003cp\u003eDevice instances represent individual devices, linking to a specific model with a unique ID, an optional nickname, and client type (SDK service or library).\u003c/p\u003e\n"],["\u003cp\u003eDevice model and instance IDs can contain letters, numbers, and specific symbols, ensuring proper formatting for identification within the Google ecosystem.\u003c/p\u003e\n"],["\u003cp\u003eA device model's \u003ccode\u003etraits\u003c/code\u003e field determines its functionalities and capabilities, allowing developers to define its behavior and interaction with the Google Assistant.\u003c/p\u003e\n"],["\u003cp\u003eDevice instances are registered using their unique ID and associated with a pre-registered device model, enabling them to be recognized and controlled by the Google Assistant.\u003c/p\u003e\n"]]],["Device models are defined by fields such as `project_id`, `device_model_id`, `manifest`, `device_type`, and `traits`. Fields can contain letters, numbers, and specific symbols. `Manifest` describes the device's manufacturer, product name, and description. Device instances have fields like `id`, `model_id`, `nickname`, and `client_type`, which specify unique identifiers, associated device models, nicknames, and client types. The device `id` and `model_id` are required.\n"],null,["# Device Model and Instance Schemas\n\nDevice model\n------------\n\nThe device model is defined by the fields in this section.\n\n\nDevice model fields can only contain letters, numbers, and the following\nsymbols: period (.), hyphen (-), underscore (_), space ( ) and plus\n(+). The first character of a field must be a letter or number.\nExample \n\n```carbon\n{\n \"project_id\": \"my-devices-project\",\n \"device_model_id\": \"my-devices-project-prototype-light-v1\",\n \"manifest\": {\n \"manufacturer\": \"Assistant SDK developer\",\n \"product_name\": \"Assistant SDK light\",\n \"device_description\": \"Assistant SDK light device\"\n },\n \"device_type\": \"action.devices.types.LIGHT\",\n \"traits\": [\"action.devices.traits.OnOff\"]\n}\n```\nSchema \n\n```carbon\n{\n \"project_id\": string,\n \"device_model_id\": string,\n \"manifest\": {\n \"manufacturer\": string,\n \"product_name\": string,\n \"device_description\": string\n },\n \"device_type\": string,\n \"traits\": [ string ]\n}\n```\n\n- **`project_id`:** (String) Required. Google Cloud Platform project [ID](https://support.google.com/cloud/answer/6158840) of the Actions Console project to associate with this device model. A project can contain multiple device models.\n- **`device_model_id`:** (String) Required. Globally-unique identifier for this device model; use the `project_id` as a prefix to help avoid collisions over the range of all projects. Used in metrics and during device registration.\n- **`manifest`:** (object(Manifest)) Required. Metadata that describes the device model and manufacturer. This may be shown in the (upcoming) SDK console, metrics dashboards, and other related visual interfaces.\n - **`manifest.manufacturer`:** (String) Required. Name of the device manufacturer.\n - **`manifest.product_name`:** (String) Required. Consumer-facing product name for this device model.\n - **`manifest.device_description`:** (String) Optional. Description of this device model.\n- **`device_type`:** (String) Required. The type of device hardware. Select from the following:\n - `action.devices.types.CAMERA`\n - `action.devices.types.DISHWASHER`\n - `action.devices.types.DRYER`\n - `action.devices.types.LIGHT`\n - `action.devices.types.OUTLET`\n - `action.devices.types.PHONE`\n - `action.devices.types.REFRIGERATOR`\n - `action.devices.types.SCENE`\n - `action.devices.types.SOUNDBAR`\n - `action.devices.types.SPEAKER`\n - `action.devices.types.SWITCH`\n - `action.devices.types.THERMOSTAT`\n - `action.devices.types.TV`\n - `action.devices.types.VACUUM`\n - `action.devices.types.WASHER`\n- **`traits`:** (Array\\\u003cString\\\u003e) Optional. List of traits the device supports. Traits include the commands, attributes, and states for the device. You do not need to define an [Action package](/assistant/conversational/action-package/reference/rest/Shared.Types/ActionPackage) to use [built-in traits](/assistant/sdk/reference/traits).\n\nDevice instance\n---------------\n\nThe device instance is defined by the fields in this section.\n\n\nDevice instance fields must start with a letter or number. The device ID\ncan only contain letters, numbers, and the following symbols: period (.),\nhyphen (-), underscore (_), and plus (+). The device nickname can only\ncontain numbers, letters, and the space ( ) symbol.\nExample \n\n```carbon\n {\n \"id\": \"my_led_1\",\n \"model_id\": \"my-devices-project-prototype-light-v1\",\n \"nickname\": \"My Assistant Light\",\n \"client_type\": \"SDK_LIBRARY\"\n }\n```\nSchema \n\n```carbon\n {\n \"id\": string,\n \"model_id\": string,\n \"nickname\": string,\n \"client_type\": string\n }\n```\n\n- **`id`:** (String) Required. Identifier for the test device. Must be unique within all of the devices registered under the same Google Developer project.\n- **`model_id`:** (String) Required. Identifier of the device model; must be the same as the [`device_model_id`](#device_model_json) associated with this test device. The device model must have been registered previously.\n- **`nickname`:** (String) Optional. Nickname for the device. This name will be used to refer to the device in visual interfaces like the Assistant settings.\n- **`client_type`:** (String) Required. The type of client device. Must be either of the following: `SDK_SERVICE` or `SDK_LIBRARY`."]]