Là đại lý, bạn có thể liên kết siêu dữ liệu (chẳng hạn như số điện thoại hoặc số đơn đặt hàng) với từng thiết bị. Bạn có thể liên kết siêu dữ liệu bằng cách gọi API hoặc tải tệp CSV lên trong cổng thông tin tự động đăng ký. Bảng 1 cho thấy những ai có thể liên kết và xem siêu dữ liệu:
Bảng 1. Quyền đối với siêu dữ liệu
Việc cần làm | Đại lý | Khách hàng |
---|---|---|
Liên kết siêu dữ liệu bằng cách gọi API | ||
Liên kết siêu dữ liệu bằng cách tải tệp CSV lên cổng thông tin tự động đăng ký | ||
Xem siêu dữ liệu thiết bị trong kết quả của lệnh gọi API | ||
Xem siêu dữ liệu của thiết bị trong cổng thông tin tự động |
Chỉ định siêu dữ liệu
Để liên kết siêu dữ liệu với từng thiết bị, hãy gọi phương thức partners.devices.metadata
. Bạn có thể thêm số điện thoại và số đơn đặt hàng cho các thiết bị Android bằng cách sử dụng các khoá trong bảng 2 dưới đây:
Bảng 2. Khoá siêu dữ liệu cho thiết bị Android
Dữ liệu | Khoá | Loại giá trị | Ví dụ: |
---|---|---|---|
Số điện thoại | phonenumber |
Chuỗi | +1 (800) 555-0100 |
Số đơn đặt hàng | ordernumber |
Chuỗi | GOOG#123/ABC-123456 |
Cả hai giá trị siêu dữ liệu đều là chuỗi dạng tự do nên bạn có thể sử dụng định dạng phù hợp với tổ chức của mình.
Đối với các thiết bị ChromeOS, bạn có thể sử dụng các khoá trong bảng 3 dưới đây:
Bảng 3. Khoá siêu dữ liệu cho thiết bị ChromeOS
Dữ liệu | Khoá | Loại giá trị | Ví dụ: |
---|---|---|---|
Số đơn đặt hàng | ordernumber |
Chuỗi | GOOG#123/ABC-123456 |
Để gán siêu dữ liệu khi bạn tạo thiết bị, hãy thêm siêu dữ liệu khi gọi claimAsync
. Ví dụ bên dưới cho thấy cách đặt số điện thoại và số đơn đặt hàng cho thiết bị hiện có 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()
Đối số siêu dữ liệu của bạn sẽ thay thế các giá trị siêu dữ liệu hiện có cho cùng một khoá.
Xoá siêu dữ liệu
Bạn có thể xoá siêu dữ liệu của mình khỏi các thiết bị. Truyền các chuỗi trống cho các giá trị siêu dữ liệu bạn muốn xoá. Ví dụ bên dưới cho biết cách xoá số điện thoại:
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...