دمج "مساعد Google" في مشروعك (بلغات أخرى)

اتّبِع التعليمات الواردة في كل قسم أدناه لدمج "مساعد Google" في مشروعك.

عمليات ربط gRPC

تستند خدمة مساعد Google إلى gRPC، وهي الأداء، وإطار عمل استدعاء إجراء عن بُعد مفتوح المصدر. إطار العمل هذا مناسب تمامًا بث صوتي ثنائي الاتجاه

Python

إذا كنت تستخدم Python، ابدأ باستخدام هذا الدليل.

C++‎

يمكنك إلقاء نظرة على نموذج C++ على GitHub.

Node.js

يمكنك الاطّلاع على نموذج Node.js. على GitHub.

Android Things

هل يهمّك استخدام الأجهزة المضمَّنة؟ الاطّلاع على حزمة تطوير البرامج (SDK) لخدمة "مساعد Google" عيّنة لـ أشياء Android:

لغات أخرى

تفويض حساب Google ومصادقته للعمل مع "مساعد Google"

الخطوة التالية هي منح جهازك الإذن بالتحدّث مع "مساعد Google". باستخدام حسابك على Google.

الحصول على رموز OAuth المميزة باستخدام نطاق حزمة تطوير البرامج (SDK) في "مساعد Google"

تستخدم "حزمة تطوير البرامج (SDK) لخدمة "مساعد Google" رموز الدخول عبر OAuth 2.0 لمنح جهازك الإذن الربط بخدمة "مساعد Google"

عند إنشاء نماذج أولية، يمكنك استخدام أداة التفويض لإنشاء OAuth2.0 بسهولة. بيانات الاعتماد من ملف client_secret_<client-id>.json التي تم إنشاؤها عند تسجيل طراز جهازك

يجب إجراء ما يلي لإنشاء بيانات الاعتماد:

  1. استخدام بيئة افتراضية في Python لعزل أداة التفويض وتبعياتها من حزم Python الخاصة بالنظام.

    sudo apt-get update
    sudo apt-get install python3-dev python3-venv # Use python3.4-venv if the package cannot be found.
    python3 -m venv env
    env/bin/python -m pip install --upgrade pip setuptools wheel
    source env/bin/activate
    
  2. تثبيت أداة التفويض:

    python -m pip install --upgrade google-auth-oauthlib[tool]
  3. شغِّل الأداة. أزِل علامة --headless إذا كنت تشغّل هذه العلامة من محطة دفع على الجهاز (وليس من جلسة بروتوكول النقل الآمن):

    google-oauthlib-tool --client-secrets /path/to/client_secret_client-id.json --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless
    

عندما تكون مستعدًا لدمج التفويض كجزء من عملية توفير المتطلبات اللازمة جهازك، فاقرأ أدلتنا حول استخدام OAuth 2.0 للدخول إلى واجهات برمجة تطبيقات Google للتعرّف على كيفية الحصول على رموز الدخول عبر بروتوكول OAuth والاحتفاظ بها واستخدامها للسماح الجهاز للتحدث مع واجهة برمجة تطبيقات Assistant.

يُرجى استخدام ما يلي عند مراجعة هذه الأدلة:

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

مصادقة اتصال gRPC باستخدام رموز OAuth المميزة

وأخيرًا، اجمع كل المكوّنات معًا من خلال الاطّلاع على كيفية استخدام ميزات قائمة على المصادقة مع Google مصادقة اتصال gRPC بواجهة برمجة تطبيقات Assistant.

تسجيل الجهاز

سجِّل طراز جهازك ومثيله يدويًا. أو باستخدام أداة التسجيل (المتاحة في بايثون).

تنفيذ مربّع حوار أساسي للمحادثة مع "مساعد Google"

  1. تنفيذ برنامج gRPC للبث ثنائي الاتجاه لواجهة برمجة تطبيقات خدمة مساعد Google.
  2. الانتظار حتى يبدأ المستخدم طلبًا جديدًا (على سبيل المثال، انتظر حتى تتم مقاطعة GPIO) من ضغطة زر).
  3. إرسال AssistRequest رسالة تحتوي على مجموعة حقول config (راجِع AssistConfig). تأكَّد من أنّ الحقل config يحتوي على ما يلي:

    • ويمثل الحقل audio_in_config، الذي يحدد كيفية معالجة بيانات audio_in التي سيتم تقديمها في الطلبات اللاحقة (راجِع AudioInConfig).
    • الحقل audio_out_config، الذي يحدد التنسيق المطلوب خادم لاستخدامه عند عرض رسائل audio_out (يمكنك الاطلاع على AudioOutConfig).
    • الحقل device_config، الذي يحدد تسجيل جهازك في "مساعد Google" (راجِع DeviceConfig).
    • الحقل dialog_state_in الذي يحتوي على language_code المرتبط بالطلب (يمكنك الاطّلاع على DialogStateIn).
  4. ابدأ التسجيل.

  5. إرسال عدّة رسائل صادرة AssistRequest الرسائل التي تحتوي على بيانات صوتية من طلب البحث الصوتي في الحقل audio_in.

  6. التعامل مع AssistResponse الواردة الرسائل.

  7. استخراج البيانات الوصفية للمحادثة من AssistResponse . على سبيل المثال، من "dialog_state_out"، يمكنك الحصول على "conversation_state". وvolume_percentage (راجِع DialogStateOut).

  8. إيقاف التسجيل عند تلقّي AssistResponse مع event_type من END_OF_UTTERANCE.

  9. تشغيل الصوت من إجابة "مساعد Google" باستخدام البيانات الصوتية الواردة من audio_out .

  10. استخدِم conversation_state الذي استخرجته سابقًا وانسخه. في DialogStateIn في AssistConfig لـ AssistRequest في المستقبل.

من خلال ذلك، يجب أن تكون مستعدًا لإرسال طلباتك الأولى إلى فريق دعم "مساعد Google" عبر جهازك

تمديد مربّع حوار المحادثة باستخدام إجراءات الجهاز

توسيع مربع حوار المحادثة الأساسي أعلاه لتشغيل الأجهزة الفريدة إمكانات جهازك المحدد:

  1. في قسم الوارد AssistResponse الرسائل، استخرج الحقل device_action (راجع DeviceAction).
  2. تحليل حمولة JSON للحقل device_request_json ارجع إلى سمات الجهاز قائمة السمات المدعومة. تعرض كل صفحة في مخطط السمات نموذج "EXECUTE" (تنفيذ) باستخدام أوامر الجهاز والمعلمات التي يتم عرضها في حمولة JSON

الحصول على نص طلب المستخدم

إذا كان لديك شاشة متصلة بالجهاز، يمكنك استخدامها إظهار طلب المستخدم. للحصول على هذا النص، عليك تحليل الحقل speech_results. في AssistResponse الرسائل. عند اكتمال التعرف على الكلام، ستحتوي هذه القائمة على عنصر واحد. مع ضبط stability على 1.0.

الحصول على النص و/أو العرض المرئي لردّ "مساعد Google"

إذا كان لديك شاشة متصلة بالجهاز، يمكنك استخدامها عرض رد "مساعد Google" بالنص العادي على طلب المستخدم. يقع هذا النص في DialogStateOut.supplemental_display_text .

يدعم "مساعد Google" الردود المرئية عبر HTML5 لطلبات بحث معيّنة (ما هل الطقس في ماونتن فيو؟ أو ما الوقت الآن؟). لتفعيل هذا، اضبط الحقل screen_out_config في AssistConfig. ScreenOutConfig تحتوي الرسالة على الحقل screen_mode الذي يجب ضبطه على PLAYING.

AssistResponse سيتم عندئذ ضبط الحقل screen_out للرسائل. يمكنك استخراج بيانات HTML5 (إن وجدت) من data.

إرسال طلبات البحث عبر إدخال النص

إذا كان لديك واجهة نصية (على سبيل المثال، لوحة مفاتيح) متصلة بالجهاز، اضبط الحقل text_query في الحقل config (راجِع AssistConfig). لا تضبط الحقل audio_in_config.

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

راجع قسم تحديد المشاكل وحلّها إذا واجهت مشكلات.