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

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

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

جمع سجلّات iOS

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

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

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

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

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

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

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

    نموذج تطبيق إضافة "استخدام التطبيق بدون تثبيت"

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

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

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

    مثال على إضافة تطبيق يضيف إضافة Matter

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

Sherlog: تتبُّع الأحداث على مستوى جميع المكدّسات

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

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

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

الإمكانات: توفّر هذه الخدمة رسومًا بيانية كاملة لطلبات الإجراءات عن بُعد (RPC)، وحِملات الطلبات/الردود، والبيانات الوصفية لأغراض SYNC وEXECUTE وQUERY وربط الحسابات.

سجلّات جهاز مركز Fuchsia

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

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

  1. أرسِل رسالة إلكترونية تتضمّن الرقم التسلسلي وطراز أجهزتك إلى المدير التقني للحسابات في Google (TAM). يمكن العثور على هذه المعلومات بأحرف صغيرة أسفل الجهاز.
  2. بعد إضافتك إلى القائمة المسموح بها، عليك تفعيل الميزة باتّباع الخطوات التالية:
    • من المركز:
      1. التمرير سريعًا لأسفل الشاشة من أعلاها
      2. النقر على رمز "الإعدادات"
      3. العثور على إصدار Fuchsia: على Nest Hub (الجيل الثاني)، انتقِل إلى معلومات الجهاز > المعلومات الفنية > إصدار Fuchsia
      4. النقر على "إصدار Fuchsia" 7 مرات سيؤدي ذلك إلى تفعيل خيارات المطوّرين
      5. الرجوع إلى القائمة ذات المستوى الأعلى
      6. النقر على "خيارات المطوّرين"
      7. النقر على "تسجيل الشريك"
    • سيتم تفعيل الميزة لمدة 24 ساعة. بعد ذلك، أعِد تفعيل ميزة التسجيل بدءًا من الخطوة 5 فصاعدًا.
  3. الحصول على عنوان IP الخاص بالمركز:
    • من المركز، إذا كان يتضمّن شاشة:
      1. التمرير سريعًا لأسفل الشاشة من أعلاها
      2. النقر على رمز "الإعدادات"
      3. العثور على عنوان IP للجهاز: على Nest Hub (الجيل الثاني)، انتقِل إلى معلومات الجهاز > المعلومات الفنية > عنوان IP
    • من تطبيق Google Home على هاتفك:
    • النقر على الجهاز لعرض صفحة تفاصيل الجهاز
    • النقر على رمز "الإعدادات" لعرض صفحة الإعدادات
    • العثور على عنوان IP للجهاز: انتقِل إلى معلومات الجهاز > المعلومات الفنية > عنوان IP
  4. لاسترداد السجلّات من المركز، عليك إرسال طلب GET 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.

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

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

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

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

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

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