فراداده دستگاه

به‌عنوان فروشنده می‌توانید فراداده‌هایی مثل شماره تلفن یا شماره سفارش خرید را به هر دستگاه منسوب کنید. می‌توانید فراداده را با فراخوانی میانای برنامه‌سازی کاربردی یا با بارگذاری فایل CSV در پورتال ثبت‌نام بدون لمس مرتبط کنید. جدول ۱ نشان می‌دهد چه کسانی می‌توانند فراداده را مرتبط و مشاهده کنند:

جدول ۱. اجازه‌های فراداده

وظیفه توزیع‌کنندگان مشتریان
فراداده را با فراخوانی API مرتبط کنید
فراداده را با بارگذاری فایل CSV در درگاه تمام‌خودکار مرتبط کنید
مشاهده فراداده دستگاه در نتایج فراخوانی‌های میانای برنامه‌سازی کاربردی
مشاهده فراداده دستگاه در درگاه تمام‌خودکار

اختصاص دادن فراداده

برای مرتبط کردن فراداده با هر دستگاه، روش partners.devices.metadata را فراخوانی کنید. می‌توانید شماره تلفن و سفارش را برای دستگاه‌های Android خود بااستفاده از کلیدهای جدول ۲ در زیر اضافه کنید:

جدول ۲. کلیدهای فراداده برای دستگاه‌های Android

داده کلید نوع مقدار مثال
شماره تلفن phonenumber رشته ‎+۱ (۸۰۰) ۵۵۵-۰۱۰۰
شماره سفارش ordernumber رشته GOOG#123/ABC-123456

هر دو مقدار فراداده رشته‌های قالب آزاد هستند، بنابراین می‌توانید از قالبی استفاده کنید که برای سازمان شما منطقی باشد.

برای دستگاه‌های ChromeOS، می‌توانید از کلیدهای جدول ۳ در زیر استفاده کنید:

جدول ۳. کلیدهای فراداده برای دستگاه‌های ChromeOS

داده کلید نوع مقدار مثال
شماره سفارش ordernumber رشته GOOG#123/ABC-123456
شناسه دارایی annotatedassetid رشته CORP-001234
مکان annotatedlocation رشته نیویورک
کاربر واگذارشده annotateduser رشته John Doe

برای اختصاص دادن فراداده هنگام ایجاد دستگاه‌ها، فراداده را هنگام فراخوانی claimAsync اضافه کنید. مثال زیر تنظیم شماره تلفن و شماره سفارش را برای دستگاه موجود TARGET_DEVICE_ID نشان می‌دهد:

جاوا

// 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();

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()

آرگومان‌های فراداده شما جایگزین مقادیر فراداده موجود برای همان کلید می‌شود.

حذف فراداده

می‌توانید فراداده‌هایتان را از دستگاه‌ها حذف کنید. رشته‌های خالی را برای مقادیر فراداده‌ای که می‌خواهید حذف کنید ارسال کنید. مثال زیر نشان می‌دهد که چگونه شماره تلفن را حذف کنید:

جاوا

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

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