Là đại lý bán 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 bằng cách tải tệp CSV lên trong cổng thông tin tự động. Bảng 1 cho biết những người 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 của thiết bị trong kết quả của lệnh gọi API | ||
Xem siêu dữ liệu về 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
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 thiết bị Android của bạn sử dụng các khoá trong bảng 2
bên dưới:
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 |
Mã 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 giúp phù hợp với tổ chức của bạn.
Đối với thiết bị ChromeOS, bạn có thể 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ụ: |
---|---|---|---|
Mã số đơn đặt hàng | ordernumber |
Chuỗi | GOOG#123/ABC-123456 |
Để chỉ định 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()
Các đối số siêu dữ liệu 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 khỏi các thiết bị. Truyền chuỗi trống cho siêu dữ liệu các giá trị bạn muốn xoá. Ví dụ bên dưới trình bày cách xoá số điện thoại 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...