البيانات الوصفية للجهاز

بصفتك مورّدًا، يمكنك ربط البيانات الوصفية، مثل رقم الهاتف أو رقم طلب الشراء، بكل جهاز. يمكنك ربط البيانات الوصفية من خلال طلب البيانات من واجهة برمجة التطبيقات أو من خلال تحميل ملف CSV في بوابة برنامج "إعداد الأجهزة الجوّالة للمؤسسات دفعةً واحدة". يعرض الجدول 1 من يمكنه ربط البيانات الوصفية وعرضها:

الجدول 1. أذونات البيانات الوصفية

مهمة المورّدون العملاء
ربط البيانات الوصفية عن طريق استدعاء واجهة برمجة التطبيقات
ربط البيانات الوصفية من خلال تحميل ملف CSV إلى منصة برنامج "إعداد الأجهزة الجوّالة للمؤسسات دفعةً واحدة"
عرض البيانات الوصفية للجهاز في نتائج طلبات البيانات من واجهة برمجة التطبيقات
عرض البيانات الوصفية للجهاز في منصة برنامج "إعداد الأجهزة الجوّالة للمؤسسات دفعةً واحدة"

تخصيص البيانات الوصفية

لربط البيانات الوصفية بكل جهاز، يمكنك استدعاء طريقة partners.devices.metadata. يمكنك إضافة أرقام الهاتف وطلب أجهزة Android باستخدام المفاتيح من الجدول 2 أدناه:

الجدول 2. مفاتيح البيانات الوصفية لأجهزة Android

البيانات المفتاح نوع القيمة مثال
رقم الهاتف phonenumber سلسلة +1 (800) 555-0100
رقم الطلب ordernumber سلسلة GOOG#123/ABC-123456

كلتا قيمتَي البيانات الوصفية هما سلاسل حرة، لذا يمكنك استخدام تنسيق مفيد لمؤسستك.

بالنسبة إلى أجهزة ChromeOS، يمكنك استخدام المفاتيح من الجدول 3 أدناه:

الجدول 3. مفاتيح البيانات الوصفية لأجهزة ChromeOS

البيانات المفتاح نوع القيمة مثال
رقم الطلب ordernumber سلسلة GOOG#123/ABC-123456

لتخصيص البيانات الوصفية أثناء إنشاء الأجهزة، عليك تضمين البيانات الوصفية عند الاتصال بـ claimAsync. يوضح المثال أدناه إعداد رقم هاتف ورقم طلب للجهاز الحالي 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()

تحلّ وسيطات البيانات الوصفية محل قيم البيانات الوصفية الحالية للمفتاح نفسه.

حذف البيانات الوصفية

يمكنك حذف البيانات الوصفية من الأجهزة. مرر سلاسل فارغة لقيم بيانات التعريف التي تريد حذفها. يوضح المثال أدناه كيفية حذف رقم الهاتف:

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