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

Google Cloud يوفّر لك أدوات لمراقبة موثوقية مشاريعك باستخدام Google Cloud Monitoring وتصحيح الأخطاء المتعلقة بسجلات أخطاء Google Cloud Logging. عندما يحدث إخفاق عند تحقيق نوايا المستخدم، يسجِّل مسار "إحصاءات Google Home" هذا الفشل في المقاييس، وينشر سجل أخطاء في سجلات مشروعك.

هناك خطوتان لتحديد الأخطاء وحلّها:

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

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

رصد الأخطاء

يمكنك استخدام Google Cloud Monitoring dashboards للوصول إلى مقاييس مشروعك. هناك بعض المخططات الرئيسية التي تفيد بشكل خاص لمراقبة الجودة وتصحيح الأخطاء:

  • مخطط معدل النجاح هو أول مخطط يبدأ من وقت مراقبة موثوقية مشروعاتك. يمكن أن تشير الانخفاضات في هذا المخطط إلى انقطاع في الخدمة لجزء من قاعدة المستخدمين أو كل قاعدة المستخدمين. نوصي بمراقبة هذا المخطط عن كثب بحثًا عن أي مخالفات بعد كل تغيير أو تحديث لمشروعك.
  • يُعدّ مخطط وقت استجابة الشريحة المئوية الخامسة والتسعين مؤشرًا مهمًا على مستوى أداء إجراء المنزل المزوّد بأجهزة ذكية بالنسبة إلى المستخدمين. قد تشير التقلّبات المفاجئة في هذا الرسم البياني إلى أنّ أنظمتك قد تكون غير قادرة على تلبية الطلبات. يُنصح بالتحقق الدوري من هذا المخطط لمعرفة أي سلوك غير متوقع.
  • يمكنك الاستفادة إلى أقصى حدّ من الرسوم البيانية لتقسيم الأخطاء في ما يتعلّق بتحديد وحلّ المشاكل في عمليات الدمج. لكل خطأ تم تسليط الضوء عليه في مخطط النسبة المئوية للنجاح، يتم عرض رمز خطأ في تقسيم الأخطاء لديك. يمكنك الاطّلاع على الأخطاء التي تم وضع علامة عليها من خلال Google Home platform وكيفية تحديد المشاكل وحلّها في الجدول أدناه.

رموز الخطأ في النظام الأساسي

إليك بعض رموز الخطأ الشائعة التي قد تظهر لك في سجلّات المشاريع لتحديد المشاكل التي رصدها Google Home platform. يرجى الرجوع إلى الجدول التالي للحصول على معلومات استكشاف الأخطاء وإصلاحها.

رمز الخطأ الوصف
BACKEND_FAILURE_URL_ERROR تلقّى محرّك بحث Google رمز الخطأ HTTP 4xx غير 401 من خدمتك.

يمكنك استخدام requestId في تسجيل الدخول إلى Google Cloud Platform للتحقُّق من سجلات الخدمات المنزلية الذكية.
BACKEND_FAILURE_URL_TIMEOUT انتهت مهلة طلب Google عند محاولة الوصول إلى الخدمة.

تأكَّد من أنّ الخدمة متصلة بالإنترنت وتقبل عمليات الربط وأنّها لم تتجاوز السعة. بالإضافة إلى ذلك، تأكَّد من أنّ الجهاز المستهدَف مشغَّل ومتصل بالإنترنت ومتزامن.
BACKEND_FAILURE_URL_UNREACHABLE تلقّى محرّك بحث Google رمز خطأ HTTP 5xx من خدمتك.

يمكنك استخدام requestId في تسجيل الدخول إلى Google Cloud Platform للتحقُّق من سجلات الخدمات المنزلية الذكية.
DEVICE_NOT_FOUND الجهاز غير موجود من جانب خدمة الشريك.

يشير هذا عادةً إلى حدوث إخفاق في مزامنة البيانات أو حالة سباق.
GAL_BAD_3P_RESPONSE يتعذّر على Google تحليل الاستجابة من خدمة ربط الحساب بسبب وجود تنسيق أو قيم غير صالحة في الحمولة.

يمكنك استخدام requestId في تسجيل الدخول إلى Google Cloud Platform للتحقق من سجلات الأخطاء في خدمة ربط الحساب.
GAL_INTERNAL حدث خطأ داخلي في Google عندما حاول محرّك بحث Google استرداد رمز دخول.

إذا لاحظت ارتفاعًا في معدّل هذا الخطأ في تسجيل الدخول إلى Google Cloud Platform، يُرجى التواصل معنا للحصول على مزيد من المعلومات.
GAL_INVALID_ARGUMENT حدث خطأ داخلي في Google عندما حاول محرّك بحث Google استرداد رمز دخول.

إذا لاحظت ارتفاعًا في معدّل هذا الخطأ في تسجيل الدخول إلى Google Cloud Platform، يُرجى التواصل معنا للحصول على مزيد من المعلومات.
GAL_NOT_FOUND يتم إبطال صلاحية رموز الدخول والرموز المميزة لإعادة التحميل الخاصة بالمستخدم والمُخزَّنة على Google ولا يمكن إعادة تحميلها بعد ذلك. يحتاج المستخدم إلى إعادة ربط حسابه لمواصلة استخدام خدمتك.

إذا لاحظت ارتفاعًا في معدّل هذا الخطأ في تسجيل الدخول إلى Google Cloud Platform، يُرجى التواصل معنا للحصول على مزيد من المعلومات.
GAL_PERMISSION_DENIED حدث خطأ داخلي في Google عندما تكون مشاركة الرمز المميّز غير مصرّح بها.

إذا لاحظت ارتفاعًا في معدّل هذا الخطأ في تسجيل الدخول إلى Google Cloud Platform، يُرجى التواصل معنا للحصول على مزيد من المعلومات.
GAL_REFRESH_IN_PROGRESS انتهت صلاحية رمز الدخول الخاص بالمستخدم وتجري حاليًا محاولة أخرى متزامنة لإعادة التحميل.

هذه ليست مشكلة وليس عليك اتخاذ أي إجراء.
INVALID_AUTH_TOKEN تلقّى محرّك بحث Google رمز الخطأ HTTP 401 من خدمتك.

لم تنته صلاحية رمز الدخول ولكن تم إبطاله من خلال خدمتك. يمكنك استخدام "requestId" في تسجيل الدخول إلى Google Cloud Platform للتحقّق من سجلات الخدمات المنزلية الذكية.
INVALID_JSON يتعذّر تحليل استجابة JSON أو فهمها.

تحقَّق من بنية استجابة JSON بحثًا عن بنية غير صالحة، مثل الأقواس غير المتطابقة والفواصل المفقودة والأحرف غير الصالحة.
OPEN_AUTH_FAILURE انتهت صلاحية رمز الدخول الخاص بالمستخدم ويتعذّر على Google إعادة تحميله، أو تلقّى محرّك بحث Google رمز الخطأ HTTP 401 من خدمتك.

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

إذا أشار ردّ طلبك إلى حدوث خطأ، احرص على استخدام الخطأ المقدَّم من رموز الخطأ المتوافقة.
PARTNER_RESPONSE_INVALID_PAYLOAD لا يمكن تحليل حقل الردّ payload ككائن JSON.

تحقَّق مما إذا كان حقل الحمولة في استجابة الطلب يحتوي على أقواس مُطابِقة وأنّه منظم بشكلٍ صحيح كحقل JSON.
PARTNER_RESPONSE_INVALID_STATUS لا تشير الإجابة إلى حالة أو تشير إلى حالة غير صحيحة.

يجب أن تشير الردود على طلبات تنفيذ النية بالشراء إلى حالة باستخدام السمة SUCCESS, OFFLINE, ERROR, EXCEPTIONS. يمكنك العثور على مزيد من المعلومات حول التعامل مع الأخطاء والاستثناءات.
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES هناك هدف واحد أو أكثر من الأغراض الواردة في الطلب غير مضمّن في الإجابة.

تأكَّد من أنّ استجابة التنفيذ منظّمة بشكل صحيح وأنّ ردّك يتضمّن نتائج جميع الأغراض من الطلب.
PARTNER_RESPONSE_MISSING_DEVICE هناك جهاز واحد أو أكثر في الطلب غير مضمّن في الاستجابة.

تأكَّد من أنّ استجابة التنفيذ منظّمة بشكل صحيح ومن أنّ جميع أرقام تعريف الأجهزة من الطلب متضمّنة في ردّك.
PARTNER_RESPONSE_MISSING_PAYLOAD الردّ لا يتضمّن الحقل payload.

احرص على تضمين حقل حمولة البيانات في استجابة الطلب. يمكنك الاطّلاع على مزيد من المعلومات حول كيفية إنشاء استجابة للتنفيذ بشكل صحيح.
PARTNER_RESPONSE_NOT_OBJECT لا يمكن تحليل الاستجابة ككائن JSON.

تحقَّق من جميع الحقول في استجابة الطلب بحثًا عن أحرف غير مقصودة أو عدم تطابق الأقواس أو أخطاء التنسيق. وقد تكون بعض أحرف يونيكود غير متوافقة. وتأكّد أيضًا من أنّ ردودك منظَّمة بشكل صحيح ككائن JSON.
PROTOCOL_ERROR تعذّرت معالجة الطلب.

يمكنك استخدام requestId في Google Cloud Logging للتحقّق من سجلات خدمات المنزل المزوّد بأجهزة ذكية.
RESPONSE_TIMEOUT انتهت مهلة الطلب أثناء انتظار الرد.

تنتهي مهلة إرسال الردّ من 9 ثوانٍ من وقت إرسال الطلب. احرص على إرسال ردّ خلال هذه الفترة الزمنية.
RESPONSE_UNAVAILABLE لم يتم تلقي أي رد، أو أنه لا يشير إلى الحالة.

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

تظهر هذه الأخطاء عادةً كاتصال بجهاز أو خدمة يتم قطعها. وأيضًا في حال تعذَّر فتح اتصالات جديدة بالخادم.

سجلات البحث

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

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

سجلات السحابة الإلكترونية لطلب البحث

يمكنك استخدام أزرار طلبات البحث لمساعدتك في إنشاء فلاتر مخصصة.

إنشاء طلبات بحث سجلّ Cloud

لتحديد النطاق الزمني، انقر على زر اختيار النطاق الزمني وحدِّد أحد الخيارات المتاحة. سيؤدي ذلك إلى تصفية السجلات وعرض السجلات التي نشأت في النطاق الزمني المحدد.

لتحديد مورد، انقر على القائمة المنسدلة المورد، ثم اختَر مشروع مهام "مساعد Google". يؤدي ذلك إلى إضافة عامل تصفية في الاستعلام الخاص بك لعرض السجلات التي تنشأ من مشروعك.

استخدِم زر درجة الخطورة للفلترة حسب الطوارئ والمعلومات وتصحيح الأخطاء ومستويات سجلّ الخطورة الأخرى.

يمكنك أيضًا استخدام حقل "طلب البحث" في Logs Explorer لإدخال إدخالات مخصّصة. يتوافق محرك طلب البحث الذي يستخدمه هذا الحقل مع كل من طلبات البحث الأساسية مثل مطابقة السلاسل، وأنواع طلبات البحث الأكثر تقدمًا التي تشمل المقارنات (<, >=, !=) والعوامل المنطقية (AND, OR, NOT).

على سبيل المثال، سيعرض الإدخال المخصّص أدناه الأخطاء التي تنشأ من نوع جهاز LIGHT:

resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"

يمكنك الانتقال إلى مكتبة طلبات البحث للعثور على المزيد من الأمثلة لطلب البحث في السجلات بفعالية.

إصلاحات الاختبار

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

موارد التعلُّم

يوضّح هذا المستند خطوات تحديد وحلّ الأخطاء في إجراءات المنزل المزوّد بأجهزة ذكية. يمكنك أيضًا الاطّلاع على الدروس التطبيقية حول الترميز للحصول على مزيد من المعلومات حول تصحيح الأخطاء: