Metadane urządzenia

Jako sprzedawca możesz powiązać z każdym urządzeniem metadane, takie jak numer telefonu czy numer zamówienia. Metadane możesz powiązać, wywołując interfejs API lub przesyłając plik CSV w portalu rejestracji typu zero-touch. Tabela 1 pokazuje, kto może powiązywać i wyświetlać metadane:

Tabela 1. Uprawnienia do metadanych

Zadanie Sprzedawcy Klienci
Powiązywanie metadanych przez wywołanie interfejsu API
Powiązywanie metadanych przez przesłanie pliku CSV do portalu rejestracji typu zero-touch
Wyświetlanie metadanych urządzenia w wynikach wywołań interfejsu API
Wyświetlanie metadanych urządzenia w portalu rejestracji typu zero-touch

Przypisywanie metadanych

Aby powiązać metadane z każdym urządzeniem, wywołaj metodę partners.devices.metadata. Numery telefonów i zamówień na urządzenia z Androidem możesz dodawać za pomocą kluczy z tabeli 2 poniżej:

Tabela 2. Klucze metadanych urządzeń z Androidem

Dane Klucz Typ wartości Przykład
Numer telefonu phonenumber Ciąg znaków +1 (800) 555-0100
Numer zamówienia ordernumber Ciąg znaków GOOG#123/ABC-123456

Obie wartości metadanych to ciągi znaków w dowolnym formacie, więc możesz użyć formatu, który jest odpowiedni dla Twojej organizacji.

W przypadku urządzeń z ChromeOS możesz użyć kluczy z tabeli 3 poniżej:

Tabela 3. Klucze metadanych urządzeń z ChromeOS

Dane Klucz Typ wartości Przykład
Numer zamówienia ordernumber Ciąg znaków GOOG#123/ABC-123456
Identyfikator zasobu annotatedassetid Ciąg znaków CORP-001234
Lokalizacja annotatedlocation Ciąg znaków Nowy Jork
Przypisany użytkownik annotateduser Ciąg znaków Jan Kowalski

Aby przypisać metadane podczas tworzenia urządzeń, dołącz je podczas wywoływania metody claimAsync. Poniższy przykład pokazuje ustawianie numeru telefonu i numeru zamówienia dla istniejącego urządzenia 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()

Argumenty metadanych zastępują istniejące wartości metadanych dla tego samego klucza.

Usuwanie metadanych

Możesz usunąć metadane z urządzeń. W przypadku wartości metadanych, które chcesz usunąć, przekaż puste ciągi znaków. Poniższy przykład pokazuje, jak usunąć numer telefonu:

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