action.devices.مزامنة
يتطلب هذا الهدف قائمة الأجهزة المرتبطة بالمستخدم المحدَّد وإمكاناته.
ويتم تشغيله أثناء ربط الحساب أو عندما يُعيد المستخدم مزامنة أجهزته يدويًا. يجب أن تفي طلباتك بالسمات والسمات المسموح بها لكل جهاز.
يجب أن تعرض استجابة SYNC
جميع الأجهزة المرتبطة بالمستخدم.
ولا يحدِّد ذلك ما إذا كان من الممكن الوصول إلى أي جهاز معيّن. تتم معالجة هذه المشكلة من خلال إجابتَي QUERY
وEXECUTE
.
لمزيد من التفاصيل، يُرجى الاطِّلاع على تحديد البيانات ومزامنتها.
تنسيق الطلب
الحقول | النوع | الوصف |
---|---|---|
requestId |
سلسلة |
إنّ هذه السمة مطلوبة. رقم تعريف الطلب. |
inputs |
المصفوفة |
إنّ هذه السمة مطلوبة. قائمة المدخلات التي تطابق طلب النية. |
[item, ...] |
الكائن |
اكتب الحمولة والحمولة المرتبطة بطلب intent. |
intent |
إنّ هذه السمة مطلوبة. (القيمة الثابتة: نوع طلب intent. |
أمثلة
مزامنة طلب intent
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [ { "intent": "action.devices.SYNC" } ] }
تنسيق الاستجابة
الحقول | النوع | الوصف |
---|---|---|
requestId |
سلسلة |
إنّ هذه السمة مطلوبة. رقم تعريف الطلب المقابل. |
payload |
الكائن |
إنّ هذه السمة مطلوبة. الحمولة في الاستجابة للنية بالشراء |
agentUserId |
سلسلة |
إنّ هذه السمة مطلوبة. يعكس رقم تعريف المستخدم الفريد (غير القابل للتغيير) على منصة الوكيل. السلسلة غير واضحة بالنسبة إلى Google، لذا إذا كان هناك نموذج غير قابل للتغيير مقابل نموذج قابل للتغيير على جانب الوكيل، استخدِم النموذج غير القابل للتغيير (مثل رقم الحساب بدلاً من البريد الإلكتروني). |
errorCode |
سلسلة |
بالنسبة إلى الأخطاء المنهجية في SYNC |
debugString |
سلسلة |
خطأ تفصيلي لن يتم عرضه للمستخدمين مطلقًا ولكن يمكن تسجيله أو استخدامه أثناء التطوير. |
devices |
المصفوفة |
إنّ هذه السمة مطلوبة. قائمة الأجهزة التي يملكها المستخدم. يتم عرض أجهزة صفرية أو أكثر (صفر أجهزة يعني أن المستخدم ليس لديه أجهزة، أو أنه تم إلغاء ربطها جميعًا). |
[item, ...] |
الكائن |
البيانات الوصفية للجهاز |
id |
سلسلة |
إنّ هذه السمة مطلوبة. رقم تعريف الجهاز في السحابة الإلكترونية لمطوّر البرامج. ويجب أن يكون هذا فريدًا لكل من المستخدم ومطوّر البرامج، كما هو الحال في حالات المشاركة، قد نستخدم هذا المحتوى لإزالة تكرار عدة طرق عرض للجهاز نفسه. ويجب أن يكون غير قابل للتغيير على الجهاز، وإذا تغيّر، سيتعامل "مساعد Google" معه على أنه جهاز جديد. |
type |
سلسلة |
إنّ هذه السمة مطلوبة. نوع الجهاز |
traits |
المصفوفة |
إنّ هذه السمة مطلوبة. قائمة السمات التي يتميز بها هذا الجهاز تحدّد هذه السياسة الأوامر والسمات والحالات التي يتوافق معها الجهاز. |
[item, ...] |
سلسلة |
اسم السمة المعتمدة. |
name |
الكائن |
إنّ هذه السمة مطلوبة. أسماء هذا الجهاز. |
defaultNames |
المصفوفة |
قائمة الأسماء التي يوفرها مطوّر البرامج بدلاً من المستخدم، والتي تتضمن غالبًا أسماء الشركات المصنِّعة ورموز التخزين التعريفية وما إلى ذلك |
[item, ...] |
سلسلة |
الاسم التلقائي للجهاز. |
name |
سلسلة |
إنّ هذه السمة مطلوبة. الاسم الأساسي للجهاز، يقدّمه المستخدم بشكل عام. هذا هو الاسم الذي يفضّل "مساعد Google" وصفه للجهاز في الردود. |
nicknames |
المصفوفة |
الأسماء الإضافية التي يقدمها المستخدم للجهاز. |
[item, ...] |
سلسلة |
لقب الجهاز. |
willReportState |
منطقي |
إنّ هذه السمة مطلوبة. يشير هذا الإعداد إلى ما إذا كان سيتم تعديل حالات هذا الجهاز من خلال خلاصة الوقت الفعلي. (صحيح لاستخدام خلاصة الوقت الفعلي لإعداد التقارير، وخطأ لاستخدام نموذج استطلاع الرأي). |
notificationSupportedByAgent |
منطقي |
(القيمة التلقائية: تشير هذه الخاصية إلى ما إذا كانت الإشعارات مفعّلة للجهاز. |
roomHint |
سلسلة |
يقدم الغرفة الحالية للجهاز في منزل المستخدم لتبسيط الإعداد. |
deviceInfo |
الكائن |
تحتوي على حقول تصف الجهاز للاستخدام بمنطق واحد إذا لزم الأمر (مثلاً "يتطلب الإصدار الثابت المتوقف X من الضوء Y ضبط اللون" أو "يتطلب الثغرات الأمنية إشعار جميع مستخدمي البرامج الثابتة Z"). |
manufacturer |
سلسلة |
ويكون ذلك مفيدًا على وجه الخصوص عندما يكون مطوّر البرامج مركزًا للأجهزة الأخرى. قد توفّر Google قائمة قياسية للشركات المصنّعة هنا بحيث تستخدم كل من "TP-Link" و"الذكاء" وصف "OSram" بالطريقة نفسها. |
model |
سلسلة |
طراز الجهاز أو معرّف رمز التخزين التعريفي (SKU) للجهاز المحدد. |
hwVersion |
سلسلة |
رقم الإصدار المحدّد والمرفق بالجهاز في حال توفّره. |
swVersion |
سلسلة |
رقم الإصدار المحدّد والمرفق بالبرنامج/البرامج الثابتة، في حال توفّره. |
attributes |
الكائن |
تتم المحاذاة مع سمات كل سمة واردة في كل مرجع مخطط للسمات. |
customData |
الكائن |
العنصر الذي حدّده مطوّر البرامج والذي سيتم إرفاقه بطلبات البحث QUERY وEXECUTE المستقبلية، بحد أقصى 512 بايت لكل جهاز. يمكنك استخدام هذا العنصر لتخزين معلومات إضافية عن الجهاز الذي قد تحتاج خدمة السحابة الإلكترونية إليه، مثل المنطقة العامة للجهاز. هناك بعض القيود على البيانات في هذا العنصر: لا تتوفّر معلومات حساسة، بما في ذلك على سبيل المثال لا الحصر، معلومات تحديد الهوية الشخصية. |
otherDeviceIds |
المصفوفة |
قائمة بمعرّفات بديلة تُستخدم لتحديد جهاز تمت مزامنته من خلال السحابة الإلكترونية لتنفيذه محليًا |
[item, ...] |
الكائن |
رقم تعريف الجهاز البديل. |
agentId |
سلسلة |
رقم تعريف الوكيل وبوجهٍ عام، هذا هو رقم تعريف المشروع في وحدة تحكم الإجراءات. |
deviceId |
سلسلة |
إنّ هذه السمة مطلوبة. معرّف الجهاز الذي يحدّده الوكيل يجب أن يكون رقم تعريف الجهاز فريدًا. |
أمثلة
مزامنة الاستجابة لنية الشراء
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "agentUserId": "1836.15267389", "devices": [ { "id": "123", "type": "action.devices.types.OUTLET", "traits": [ "action.devices.traits.OnOff" ], "name": { "defaultNames": [ "My Outlet 1234" ], "name": "Night light", "nicknames": [ "wall plug" ] }, "willReportState": false, "roomHint": "kitchen", "deviceInfo": { "manufacturer": "lights-out-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" }, "otherDeviceIds": [ { "deviceId": "local-device-id" } ], "customData": { "fooValue": 74, "barValue": true, "bazValue": "foo" } }, { "id": "456", "type": "action.devices.types.LIGHT", "traits": [ "action.devices.traits.OnOff", "action.devices.traits.Brightness", "action.devices.traits.ColorSetting" ], "name": { "defaultNames": [ "lights out inc. bulb A19 color hyperglow" ], "name": "lamp1", "nicknames": [ "reading lamp" ] }, "willReportState": false, "roomHint": "office", "attributes": { "colorModel": "rgb", "colorTemperatureRange": { "temperatureMinK": 2000, "temperatureMaxK": 9000 }, "commandOnlyColorSetting": false }, "deviceInfo": { "manufacturer": "lights out inc.", "model": "hg11", "hwVersion": "1.2", "swVersion": "5.4" }, "customData": { "fooValue": 12, "barValue": false, "bazValue": "bar" } } ] } }