Métadonnées de l'appareil

En tant que revendeur, vous pouvez associer à chaque appareil des métadonnées, telles qu'un numéro de téléphone ou un numéro de bon de commande. Vous pouvez associer des métadonnées en appelant l'API ou en important un fichier CSV dans le portail sans contact. Le tableau 1 indique qui peut associer et afficher les métadonnées:

Tableau 1. Autorisations liées aux métadonnées

Tâche Revendeurs Clients
Associer des métadonnées en appelant l'API
Associer des métadonnées en important un fichier CSV sur le portail sans contact
Afficher les métadonnées de l'appareil dans les résultats des appels d'API
Afficher les métadonnées des appareils dans le portail sans contact

Attribuer des métadonnées

Pour associer des métadonnées à chaque appareil, appelez la méthode partners.devices.metadata. Vous pouvez ajouter des numéros de téléphone et des numéros de commande pour vos appareils Android à l'aide des clés du tableau 2 ci-dessous:

Tableau 2. Clés de métadonnées pour les appareils Android

Données Clé Type de valeur Exemple
Numéro de téléphone phonenumber Chaîne +1 (800) 555-0100
Numéro de commande ordernumber Chaîne GOOG#123/ABC-123456

Les deux valeurs de métadonnées sont des chaînes au format libre. Vous pouvez donc utiliser un format pertinent pour votre organisation.

Pour les appareils ChromeOS, vous pouvez utiliser les clés du tableau 3 ci-dessous:

Tableau 3. Clés de métadonnées pour les appareils ChromeOS

Données Clé Type de valeur Exemple
Numéro de commande ordernumber Chaîne GOOG#123/ABC-123456

Pour attribuer des métadonnées lorsque vous créez des appareils, incluez-les lorsque vous appelez claimAsync. L'exemple ci-dessous montre comment définir un numéro de téléphone et un numéro de commande pour l'appareil existant TARGET_DEVICE_ID:

Java

// Allowed metadata dictionary keys.
private static String METADATA_KEY_PHONE_NUMBER = "phonenumber";
private static String METADATA_KEY_ORDER_NUMBER = "ordernumber";

// ...
// Create the metadata record with the values.
DeviceMetadata metadata = new DeviceMetadata();
Map<String,String> entries = new HashMap<String, String>();
entries.put(METADATA_KEY_ORDER_NUMBER, "GOOG123/ABC-#123456");
entries.put(METADATA_KEY_PHONE_NUMBER, "+1 (800) 555-0100");
metadata.setEntries(entries);

// Set the metadata values on the target device.
UpdateDeviceMetadataRequest body = new UpdateDeviceMetadataRequest();
body.setDeviceMetadata(metadata);

DeviceMetadata response = service
        .partners()
        .devices()
        .metadata(PARTNER_ID, targetDeviceId, body)
        .execute();

.NET

// Allowed metadata dictionary keys.
private static string MetadataKeyPhoneNumber = "phonenumber";
private static string MetadataKeyOrderNumber = "ordernumber";

// ...
// Create the metadata record with the values.
DeviceMetadata metadata = new DeviceMetadata
{
    Entries = new Dictionary<string, string> {
        {MetadataKeyOrderNumber, "GOOG123/ABC-#123456"},
        {MetadataKeyPhoneNumber, "+1 (800) 555-0100"}
    }
};

// Set the metadata values on the target device.
UpdateDeviceMetadataRequest body = new UpdateDeviceMetadataRequest
{
    DeviceMetadata = metadata
};
var request = service.Partners.Devices.Metadata(body, PartnerId, targetDeviceId);
var results = request.Execute();

Python

# Allowed metadata dictionary keys.
METADATA_KEY_ENTRIES = "entries";
METADATA_KEY_PHONE_NUMBER = "phonenumber";
METADATA_KEY_ORDER_NUMBER = "ordernumber";

# ...
# Create the record with values.
new_metadata = {METADATA_KEY_ENTRIES:{ \
    METADATA_KEY_PHONE_NUMBER:'+1 (800) 555-0100', \
    METADATA_KEY_ORDER_NUMBER:'GOOG123/ABC-#123456'}}

# Set the metadata values on the target device.
response = service.partners().devices().metadata(
    metadataOwnerId=PARTNER_ID,
    deviceId=target_device_id,
    body={'deviceMetadata':new_metadata}).execute()

Vos arguments de métadonnées remplacent les valeurs de métadonnées existantes pour la même clé.

Supprimer les métadonnées

Vous pouvez supprimer vos métadonnées des appareils. Transmettez des chaînes vides pour les valeurs de métadonnées que vous souhaitez supprimer. L'exemple ci-dessous montre comment supprimer le numéro de téléphone:

Java

// Create the metadata record with the values.
DeviceMetadata metadata = new DeviceMetadata();
Map<String,String> entries = new HashMap<String, String>();
entries.put(METADATA_KEY_PHONE_NUMBER, "");
metadata.setEntries(entries);

// Call partners().devices().metadata() to remove the phone metadata from the device...

.NET

// Create the metadata record with empty values.
DeviceMetadata metadata = new DeviceMetadata
{
    Entries = new Dictionary<string, string> {
        {MetadataKeyPhoneNumber, ""}
    }
};

// Call Partners.Devices.Metadata to remove the phone metadata from the device...

Python

# Create the metadata record with empty values.
metadata_to_remove = {METADATA_KEY_ENTRIES: {METADATA_KEY_PHONE_NUMBER:''}}

# Call partners().devices().metadata() to remove the phone number
# metadata from the device...