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

به عنوان یک نماینده فروش، می‌توانید فراداده‌هایی مانند شماره تلفن یا شماره سفارش خرید را به هر دستگاه مرتبط کنید. می‌توانید فراداده‌ها را با فراخوانی API یا با آپلود یک فایل CSV در پورتال بدون تماس مرتبط کنید. جدول 1 نشان می‌دهد چه کسی می‌تواند فراداده‌ها را مرتبط کرده و مشاهده کند:

جدول 1. مجوزهای فراداده

وظیفه فروشندگان مشتریان
مرتبط کردن متادیتا با فراخوانی API
با آپلود یک فایل CSV در پورتال zero-touch، فراداده‌ها را مرتبط کنید
مشاهده فراداده‌های دستگاه در نتایج فراخوانی‌های API
مشاهده فراداده‌های دستگاه در پورتال بدون تماس

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

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

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

داده‌ها کلید نوع مقدار مثال
شماره تلفن phonenumber رشته ‎+1 (800) 555-0100‎
شماره سفارش ordernumber رشته گوگل#123/ABC-123456

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

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

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

داده‌ها کلید نوع مقدار مثال
شماره سفارش ordernumber رشته گوگل#123/ABC-123456
شناسه دارایی annotatedassetid رشته شرکت-۰۰۱۲۳۴
مکان annotatedlocation رشته نیویورک
کاربر اختصاص داده شده annotateduser رشته جان دو

برای اختصاص فراداده هنگام ایجاد دستگاه‌ها، هنگام فراخوانی 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();

پایتون

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

پایتون

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