Métadonnées de l'appareil

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

Tableau 1. Autorisations d'accès 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 d'enregistrement sans contact
Afficher les métadonnées d'appareil dans les résultats des appels d'API
Afficher les métadonnées d'un appareil sur le portail d'enregistrement 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 numéros de téléphone et numéros de commande de vos appareils Android à l'aide des clés fournies dans le 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 qui rend 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 Numéro de téléphone et numéro de commande de l'appareil TARGET_DEVICE_ID existant:

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. Transmettre des chaînes vides pour les métadonnées de valeurs à supprimer. L'exemple ci-dessous montre comment supprimer le numéro de téléphone numéro:

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...