Como revendedor, você pode associar metadados, como um número de telefone ou um o número da ordem de compra de cada dispositivo. É possível associar metadados chamando a API ou fazendo upload de um arquivo CSV no portal de registro sem toque. A Tabela 1 mostra quem pode associar e visualizar metadados:
Tabela 1. Permissões de metadados
Tarefa | Revendedores | Clientes |
---|---|---|
Associar metadados chamando a API | ||
Associar metadados fazendo upload de um arquivo CSV para o portal de registro sem toque | ||
Conferir metadados do dispositivo nos resultados das chamadas de API | ||
Acessar metadados do dispositivo no portal de registro sem toque |
Atribuir metadados
Para associar metadados a cada dispositivo, chame o método
método partners.devices.metadata
. Você pode adicionar
números de telefone e pedido dos seus dispositivos Android usando as chaves da tabela 2
abaixo:
Tabela 2. Chaves de metadados para dispositivos Android
Dados | Chave | Tipo de valor | Exemplo |
---|---|---|---|
Número de telefone | phonenumber |
String | +1 (800) 555-0100 |
Número do pedido | ordernumber |
String | GOOG#123/ABC-123456 (em inglês) |
Os dois valores de metadados são strings de formato livre. Portanto, use um formato que faça sentido para sua organização.
Em dispositivos ChromeOS, você pode usar as chaves da tabela 3 abaixo:
Tabela 3. Chaves de metadados para dispositivos ChromeOS
Dados | Chave | Tipo de valor | Exemplo |
---|---|---|---|
Número do pedido | ordernumber |
String | GOOG#123/ABC-123456 (em inglês) |
Para atribuir metadados ao criar dispositivos, inclua-os ao chamar
claimAsync
O exemplo abaixo mostra como definir
Número de telefone e número do pedido do dispositivo atual 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()
Seus argumentos de metadados substituem os valores de metadados existentes para a mesma chave.
Excluir metadados
É possível excluir metadados dos dispositivos. Transmitir strings vazias para metadados os valores que você quer excluir. O exemplo abaixo mostra como excluir o número número:
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...