تحديد المشاكل وحلّها

نموذج التطبيق

إذا واجهت أي مشاكل عند استخدام واجهات برمجة التطبيقات Home API، يمكنك جمع السجلّات لتصحيح الأخطاء بشكل أكبر. يتطلّب جمع السجلّات من الجهاز الجوّال استخدام Xcode. إذا كنت بحاجة إلى مساعدة من Google، اجمَع السجلّات من كل من جهاز iOS والموزّع وافتح طلبًا في Issue Tracker مع المعلومات والسجلّات ذات الصلة المرتبطة به.

جمع سجلّات iOS

يجب أن يكون جهازك الجوّال متصلاً بجهازك المحلي لجميع الخطوات التي تتضمن Xcode.

يتم عرض سجلّات التطبيقات وسجلّات حِزم SDK وجمعها مباشرةً في وحدة تحكّم Xcode. عندما يكون جهازك الجوّال متصلاً بجهازك المحلي وتشغّل التطبيق من خلال Xcode، تلتقط وحدة التحكّم تلقائيًا سجلّات الإخراج المعياري (stdout) والخطأ المعياري (stderr) من كلّ من طبقة التطبيقات وحزمة Home SDK المدمجة وتبثّها. ويوفّر ذلك طريقة مباشرة لمراقبة عمليات الإعداد في الوقت الفعلي وتفاعلات واجهة برمجة التطبيقات وأحداث حزمة تطوير البرامج (SDK) أثناء التطوير وتصحيح الأخطاء.

جمع سجلّات الإضافات من Xcode

إذا واجهت أي مشاكل عند استخدام واجهات برمجة التطبيقات Home API، يمكنك جمع السجلّات لتصحيح الأخطاء بشكل أكبر.

  1. في Xcode، انتقِل إلى تصحيح الأخطاء في شريط القوائم في أعلى الشاشة وانقر على إرفاق بالعملية حسب رقم تعريف العملية أو الاسم.

    تصحيح أخطاء نموذج التطبيق

  2. ضمن PID or Process Name (رقم تعريف العملية أو اسم العملية)، اختَر MatterExtension وانقر على Attach (إرفاق).

    نموذج لإضافة ربط التطبيق

  3. ستظهر لك رسالة في انتظار الإرفاق بـ MatterAddDeviceExtension على iPhone إذا نقرت على أعلى يسار الشاشة.

    حالة انتظار نموذج التطبيق

  4. انقر على علامة التبويب واختَر MatterAddExtension.

    نموذج تطبيق يضيف إضافة Matter

  5. ستسجّل وحدة التحكّم سجلّ الإضافة.

‫Sherlog: تتبُّع الأحداث في حِزم متعددة

‫Sherlog هي خدمة تتبُّع في الوقت الفعلي توفّر عرضًا شاملاً للتفاعلات بين البنية الأساسية لـ Google والخدمات السحابية للشركاء.

شرط أساسي: يتطلّب التتبُّع استخدام حساب مشترك منسَّق مع Google (على سبيل المثال، حساب مسجَّل في GReg أو حساب تجريبي).

الغرض الأساسي: تصحيح الأخطاء الوظيفية ومشاكل التكامل بين السحابة الإلكترونية والسحابة الإلكترونية (C2C) (مثل حالات تعذُّر ربط الحساب أو حالات الجهاز غير الصحيحة) بدون الحاجة إلى إجراء تغييرات في رمز الإنتاج.

الإمكانات: توفّر رسومات بيانية كاملة لطلبات RPC، وحمولات الطلبات/الاستجابات، والبيانات الوصفية لطلبات SYNC وEXECUTE وQUERY و"ربط الحساب".

سجلّات أجهزة Fuchsia Hub

يمكنك جمع السجلّات من أجهزة Fuchsia Hubs التالية باستخدام هذه الطريقة: * Google Nest Hub (الجيل الثاني) * Google Nest Hub Max

لتفعيل مركز لاسترداد السجلّات المحلية:

  1. أرسِل رسالة إلكترونية تتضمّن الرقم التسلسلي وطراز أجهزتك إلى المدير التقني للحسابات (TAM) في Google. ويمكن العثور عليها بأحرف صغيرة أسفل الجهاز.
  2. بعد إضافتك إلى القائمة المسموح بها، عليك تفعيل الميزة باتّباع الخطوات التالية:
    • من المركز:
      1. التمرير سريعًا لأسفل الشاشة من أعلاها
      2. انقر على رمز الإعدادات
      3. للعثور على إصدار Fuchsia: على جهاز Nest Hub (الجيل الثاني)، انتقِل إلى معلومات الجهاز > المعلومات الفنية > إصدار Fuchsia
      4. انقر على "إصدار Fuchsia"‏ 7 مرات. سيؤدي ذلك إلى تفعيل خيارات المطوّرين
      5. الرجوع إلى قائمة المستوى الأعلى
      6. النقر على "خيارات المطوّرين"
      7. انقر على "تسجيل الشركاء" (Partner Logging)
    • سيتم تفعيل الميزة لمدة 24 ساعة. بعد ذلك، أعِد تفعيل ميزة التسجيل من الخطوة 5 فصاعدًا.
  3. احصل على عنوان IP الخاص بمركزك:
    • من جهاز Hub، إذا كان مزوّدًا بشاشة:
      1. التمرير سريعًا لأسفل الشاشة من أعلاها
      2. انقر على رمز الإعدادات
      3. للعثور على عنوان IP الخاص بالجهاز: على جهاز Nest Hub (الجيل الثاني)، انتقِل إلى معلومات الجهاز > المعلومات الفنية > عنوان IP
    • من تطبيق Google Home على هاتفك:
    • انقر على الجهاز لفتح صفحة تفاصيله
    • انقر على رمز الإعدادات لفتح صفحة الإعدادات
    • ابحث عن عنوان IP الخاص بالجهاز: انتقِل إلى معلومات الجهاز > المعلومات الفنية > عنوان IP
  4. لاسترداد السجلّات من المحور، عليك إرسال طلب HTTP إلى المحور من جهاز كمبيوتر متصل بشبكة Wi-Fi نفسها.
    • يُرجى تدوين المنفذ والمسار لنقطة النهاية:
      curl -k -X GET https://ip-address:8443/setup/get_logs --output output-file
      
    • يمكن إبقاء الاتصال مفتوحًا لمدة دقيقة واحدة فقط، ولكن البيانات التي يتم استردادها من المخزن المؤقت عادةً ما تحتوي على أحداث سابقة مدتها من 20 إلى 30 دقيقة.
      • من الأفضل استخراج السجلّات باستخدام هذه الطريقة بعد إكمال إجراء الاختبار مباشرةً لضمان احتواء المخزن المؤقت على محتوى مرتبط بالاختبار (على غرار تقارير الأخطاء في Android).

عمليات التشغيل الآلي

رصد الحواف

تتضمّن عمليات التشغيل الآلي في منظومة Google Home المتكاملة ميزة رصد الحافة، وهي منطق يتحقّق من أنّ عامل التفعيل لا يتم تفعيله إلا عند حدوث تغيير فعلي في الحالة، وليس عند تحديث الحالة الذي يكرّر الحالة السابقة للجهاز فقط.

على سبيل المثال، إذا كان إجراء التفعيل هو تشغيل مصباح، تتحقّق ميزة "رصد الحافة" من أنّ إجراء التفعيل لا يتم إلا إذا تغيّرت حالة المصباح من "مطفأ" إلى "مضاء"، وليس من "مضاء" إلى "مضاء" (أي لم يحدث تغيير).

ميزة التشغيل الآلي لا تعمل على النحو المتوقَّع

بعد مراعاة ميزة "رصد الحواف"، إذا لم تعمل عملية التشغيل الآلي على النحو المتوقّع، يُرجى اتّباع الخطوات التالية:

  1. تحقّق من كل جهاز للتأكّد من أنه يعمل بشكل صحيح بشكل مستقل عن التشغيل الآلي.

  2. ألقِ نظرة على الرسم البياني للأتمتة، وقارنه بلغة DSL الخاصة بالأتمتة، للكشف عن أي افتراضات قد تكون غير صحيحة من جانبك.

  3. راقِب حالة الجهاز في تطبيق Google Home أثناء تنفيذ عملية التشغيل الآلي.

  4. يُرجى التأكّد من أنّ جميع الأجهزة التي يشير إليها التشغيل الآلي موجودة في البنية التي تتوقّع أن تكون فيها. قد يؤدي حذف جهاز تعتمد عليه عملية تشغيل آلي إلى عواقب غير مقصودة. راجِع تأثير حذف الجهاز على عمليات التشغيل الآلي.

تبدأ عملية التشغيل الآلي في حالات غير مناسبة

إذا تم تشغيل عملية التشغيل الآلي في وقت غير مناسب، راجِع معايير إجراء التفعيل. قد يكون من الضروري إضافة منطق إضافي للتأكّد من أنّ التغيير في الحالة يتم تسجيله مرة واحدة فقط ويؤدي إلى تشغيل عملية التشغيل الآلي مرة واحدة فقط.

لا يمكن تجميع عملية التشغيل الآلي

تأكَّد من أنّ تطبيقك يحتوي على جميع عمليات الاستيراد اللازمة، بما في ذلك كل فئة تتوافق مع أنواع العُقَد المختلفة بالإضافة إلى السمات التي تشير إليها.

تعذُّر التحقّق من صحة عملية التشغيل الآلي التي تم إنشاؤها

إذا لم تنجح عملية إنشاء التشغيل الآلي في اجتياز عملية التحقّق، ستظهر رسالة تحذير أو رسالة خطأ توفّر معلومات عن المشكلة. لمزيد من المعلومات، يُرجى الاطّلاع على مرجع ValidationIssueType.

OAuth

إذا كان لديك عميل OAuth حالي

إذا كان لديك عميل OAuth تم التحقّق منه لتطبيق منشور، يمكنك استخدام عميل OAuth الحالي لاختبار واجهات برمجة التطبيقات Home API.

لا يتطلّب اختبار Home APIs واستخدامها التسجيل في Google Home Developer Console. ومع ذلك، سيظل عليك الحصول على موافقة على تسجيل Developer Console لنشر تطبيقك، حتى إذا كان لديك عميل OAuth تم التحقّق منه من عملية دمج أخرى.

تنطبق الاعتبارات التالية:

  • هناك حدّ أقصى يبلغ 100 مستخدم عند استخدام عميل OAuth حالي. للحصول على معلومات حول إضافة مستخدمين تجريبيين، يُرجى الرجوع إلى إنشاء معرِّف عميل OAuth. بغض النظر عن عملية التحقّق من OAuth، تفرض واجهات برمجة التطبيقات Home APIs حدًا أقصى يبلغ 100 مستخدم يمكنهم منح الأذونات لتطبيقك. ويتم رفع هذا القيد عند إكمال عملية التسجيل في "Developer Console".

  • Developer Console registration يجب إرسال طلب الموافقة عندما تكون مستعدًا لتقييد الأذونات الممنوحة لنوع الجهاز من خلال OAuth استعدادًا لتحديث تطبيقك باستخدام واجهات برمجة التطبيقات Home API.

بالنسبة إلى Google Cloud تطبيق لا يزال في انتظار التحقّق من OAuth، لا يمكن للمستخدمين إكمال عملية OAuth حتى يكتمل التحقّق. وستؤدي محاولات منح الأذونات إلى ظهور الخطأ التالي:

Access blocked: <Project Name> has not completed the Google verification process.