Gerätemetadaten

Als Reseller können Sie jedem Gerät Metadaten wie eine Telefonnummer oder eine Bestellnummer zuordnen. Sie können Metadaten zuordnen, indem Sie die API aufrufen oder eine CSV-Datei hochladen im Portal für die kontaktlose Registrierung. In Tabelle 1 sehen Sie, wer Metadaten zuordnen und ansehen kann:

Tabelle 1 : Berechtigungen für Metadaten

Aufgabe Reseller Kunden
Metadaten durch Aufrufen der API zuordnen
Metadaten zuordnen, indem Sie eine CSV-Datei in das Portal für die kontaktlose Registrierung hochladen
Gerätemetadaten in den Ergebnissen von API-Aufrufen ansehen
Gerätemetadaten im Portal für die kontaktlose Registrierung ansehen

Metadaten zuweisen

Wenn Sie jedem Gerät Metadaten zuordnen möchten, rufen Sie die partners.devices.metadata Methode auf. Sie können Telefon- und Bestellnummern für Ihre Android-Geräte mit den Schlüsseln aus Tabelle 2 unten hinzufügen:

Tabelle 2 : Metadatenschlüssel für Android-Geräte

Daten Schlüssel Werttyp Beispiel
Telefonnummer phonenumber String +1 (800) 555-0100
Bestellnummer ordernumber String GOOG#123/ABC-123456

Beide Metadatenwerte sind Freiform-Strings. Sie können also ein Format verwenden, das für Ihre Organisation sinnvoll ist.

Für ChromeOS-Geräte können Sie die Schlüssel aus Tabelle 3 unten verwenden:

Tabelle 3 : Metadatenschlüssel für ChromeOS-Geräte

Daten Schlüssel Werttyp Beispiel
Bestellnummer ordernumber String GOOG#123/ABC-123456
Asset-ID annotatedassetid String CORP-001234
Standort annotatedlocation String New York
Zugewiesener Nutzer annotateduser String John Doe

Wenn Sie beim Erstellen von Geräten Metadaten zuweisen möchten, fügen Sie die Metadaten beim Aufrufen von claimAsync ein. Im folgenden Beispiel werden eine Telefonnummer und eine Bestellnummer für das vorhandene Gerät TARGET_DEVICE_ID festgelegt:

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()

Ihre Metadatenargumente ersetzen vorhandene Metadatenwerte für denselben Schlüssel.

Metadaten löschen

Sie können Ihre Metadaten von Geräten löschen. Übergeben Sie leere Strings für Metadatenwerte, die Sie löschen möchten. Im folgenden Beispiel wird gezeigt, wie Sie die Telefonnummer löschen:

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