ข้อมูลเมตาของอุปกรณ์

ในฐานะที่เป็นตัวแทนจำหน่าย คุณสามารถเชื่อมโยงข้อมูลเมตา เช่น หมายเลขโทรศัพท์ หรือ หมายเลขใบสั่งซื้อของอุปกรณ์แต่ละเครื่อง คุณสามารถเชื่อมโยงข้อมูลเมตาได้ด้วยการเรียก API หรือการอัปโหลดไฟล์ CSV ในพอร์ทัลการตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม ตารางที่ 1 แสดงผู้ที่เชื่อมโยงและดูข้อมูลเมตาได้

ตาราง 1 สิทธิ์สำหรับข้อมูลเมตา

งาน ตัวแทนจำหน่าย ลูกค้า
เชื่อมโยงข้อมูลเมตาโดยการเรียก API
เชื่อมโยงข้อมูลเมตาโดยการอัปโหลดไฟล์ CSV ไปยังพอร์ทัลการตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม
ดูข้อมูลเมตาของอุปกรณ์ในผลการเรียก API
ดูข้อมูลเมตาของอุปกรณ์ในพอร์ทัลการตั้งค่าอุปกรณ์พร้อมใช้แบบรวมกลุ่ม

กำหนดข้อมูลเมตา

ในการเชื่อมโยงข้อมูลเมตากับอุปกรณ์แต่ละเครื่อง ให้เรียกเมธอด partners.devices.metadata คุณสามารถเพิ่ม หมายเลขโทรศัพท์และหมายเลขคำสั่งซื้อสำหรับอุปกรณ์ Android ของคุณโดยใช้คีย์จากตาราง 2 ด้านล่าง

ตารางที่ 2 คีย์ข้อมูลเมตาสำหรับอุปกรณ์ Android

ข้อมูล คีย์ ประเภทค่า ตัวอย่าง
หมายเลขโทรศัพท์ phonenumber สตริง +1 (800) 555-0100
หมายเลขคำสั่งซื้อ ordernumber สตริง GOOG#123/ABC-123456

ค่าข้อมูลเมตาทั้ง 2 รายการเป็นสตริงรูปแบบอิสระ คุณจึงใช้รูปแบบที่เหมาะกับองค์กรได้

สำหรับอุปกรณ์ ChromeOS คุณใช้คีย์จากตารางที่ 3 ด้านล่างได้

ตาราง 3 คีย์ข้อมูลเมตาสำหรับอุปกรณ์ ChromeOS

ข้อมูล คีย์ ประเภทค่า ตัวอย่าง
หมายเลขคำสั่งซื้อ ordernumber สตริง GOOG#123/ABC-123456

หากต้องการกำหนดข้อมูลเมตาขณะที่คุณสร้างอุปกรณ์ ให้ใส่ข้อมูลเมตาเมื่อเรียกใช้ claimAsync ตัวอย่างด้านล่างแสดงการตั้งค่า หมายเลขโทรศัพท์และหมายเลขคำสั่งซื้อสำหรับอุปกรณ์ที่มีอยู่ TARGET_DEVICE_ID:

Java.NETPython
// 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();
// 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();
# 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()

อาร์กิวเมนต์ข้อมูลเมตาจะแทนที่ค่าข้อมูลเมตาที่มีอยู่สำหรับคีย์เดียวกัน

ลบข้อมูลเมตา

คุณลบข้อมูลเมตาออกจากอุปกรณ์ได้ ส่งสตริงว่างสำหรับข้อมูลเมตา ค่าที่ต้องการลบ ตัวอย่างด้านล่างแสดงวิธีลบหมายเลขโทรศัพท์

Java.NETPython
// 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...
// 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...
# 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...