اتّبِع التعليمات الواردة في كل قسم أدناه لدمج "مساعد Google" في مشروعك.
عمليات ربط gRPC
تم إنشاء "خدمة مساعد Google" استنادًا إلى gRPC، وهي إطار عمل مفتوح المصدر وعالية الأداء لاستدعاء الإجراء عن بُعد (RPC). يُعد إطار العمل هذا مناسبًا تمامًا للبث الصوتي ثنائي الاتجاه.
Python
إذا كنت تستخدم Python، فابدأ باستخدام هذا الدليل.
C++
ألقِ نظرة على نموذج C++ على GitHub.
Node.js
يمكنك إلقاء نظرة على نموذج Node.js على GitHub.
Android Things
هل يهمّك الأجهزة المضمّنة؟ يمكنك الاطّلاع على نموذج Assistant SDK for Android Things.
اللغات الأخرى
- استنسِخ مستودع googleapis للحصول على تعريفات واجهة مخزن البروتوكول المؤقت لواجهة Google Assistant Service API.
- اتّبِع مستندات gRPC لإنشاء عمليات ربط gRPC للغتك التي تختارها.
- اتّبِع الخطوات الواردة في الأقسام أدناه.
يجب المصادقة على حسابك على Google والمصادقة عليه للعمل مع "مساعد Google"
الخطوة التالية هي منح جهازك الإذن بالتحدّث مع "مساعد Google" باستخدام حسابك على Google.
الحصول على رموز OAuth المميزة باستخدام نطاق حزمة تطوير البرامج (SDK) لخدمة "مساعد Google"
تستخدم حزمة تطوير البرامج (SDK) لخدمة "مساعد Google" رموز الدخول عبر OAuth 2.0 للسماح لجهازك بالاتصال بخدمة "مساعد Google".
عند إنشاء نماذج أولية، يمكنك استخدام أداة التفويض لإنشاء بيانات اعتماد OAuth2.0 بسهولة من ملف client_secret_<client-id>.json
الذي تم إنشاؤه عند تسجيل طراز جهازك.
قم بما يلي لإنشاء بيانات الاعتماد:
استخدام بيئة 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
ثبِّت أداة التفويض:
python -m pip install --upgrade google-auth-oauthlib[tool]
شغِّل الأداة. أزِل علامة
--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 APIs لفهم كيفية الحصول على رموز الدخول عبر بروتوكول OAuth والاحتفاظ بها واستخدامها للسماح لجهازك باستخدام واجهة برمجة التطبيقات Assistant API.
يُرجى استخدام ما يلي أثناء الاطّلاع على هذه الأدلة:
- نطاق OAuth: https://www.googleapis.com/auth/assistant-sdk-prototype
مسارات OAuth المتوافقة:
- (مقترَح) التطبيقات المثبّتة
- تطبيقات خادم الويب
يُرجى الاطّلاع على أفضل الممارسات بشأن الخصوصية والأمان للحصول على اقتراحات حول كيفية تأمين جهازك.
مصادقة اتصال gRPC باستخدام رموز OAuth المميزة
أخيرًا، اجمع كل المعلومات معًا من خلال قراءة كيفية استخدام المصادقة المستندة إلى الرمز المميّز مع Google لمصادقة اتصال gRPC بواجهة Assistant API.
تسجيل جهازك
ويمكنك تسجيل طراز جهازك ومثيله إما يدويًا أو باستخدام أداة التسجيل (المتوفرة في بايثون).
تنفيذ مربّع حوار أساسي للمحادثة مع "مساعد Google"
- تنفيذ برنامج gRPC للبث ثنائي الاتجاه لواجهة برمجة التطبيقات لخدمة مساعد Google
- انتظر حتى يبدأ المستخدم طلبًا جديدًا (على سبيل المثال، انتظر حتى مقاطعة GPIO عند الضغط على زر).
أرسِل رسالة
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
).
- الحقل
ابدأ التسجيل.
أرسِل عدة رسائل
AssistRequest
صادرة مع بيانات صوتية من الطلب المنطوق في حقلaudio_in
.تعامل مع رسائل
AssistResponse
الواردة.استخرِج البيانات الوصفية للمحادثة من رسالة
AssistResponse
. على سبيل المثال، منdialog_state_out
، احصل علىconversation_state
وvolume_percentage
(راجِعDialogStateOut
).يمكنك إيقاف التسجيل عند تلقّي
AssistResponse
معevent_type
منEND_OF_UTTERANCE
.تشغيل الصوت من إجابة "مساعد Google" باستخدام بيانات صوتية من الحقل
audio_out
.خُذ
conversation_state
التي استخرجتها سابقًا وانسخها في رسالةDialogStateIn
فيAssistConfig
ضِمنAssistRequest
التالي.
بهذه الطريقة، تكون جاهزًا لتقديم طلباتك الأولى إلى "مساعد Google" عبر جهازك.
تمديد مربّع حوار محادثة باستخدام "إجراءات الجهاز"
قم بتوسيع مربع حوار المحادثة الأساسية أعلاه لتشغيل الإمكانات الفريدة للأجهزة لجهازك المحدد:
- في رسائل
AssistResponse
الواردة، استخرِج حقلdevice_action
(راجِعDeviceAction
). - تحليل حمولة JSON للحقل
device_request_json
يُرجى الرجوع إلى صفحة سمات الجهاز للاطّلاع على قائمة السمات المتوافقة. تعرض كل صفحة في مخطط السمات نموذج طلب تنفيذي يتضمن أوامر الجهاز والمعلَمات التي يتم عرضها في حمولة JSON.
الحصول على نص طلب المستخدم
إذا كانت لديك شاشة عرض مرتبطة بالجهاز، فقد ترغب في استخدامها
لعرض طلب المستخدم. للحصول على هذا النص، حلّل الحقل speech_results
في رسائل AssistResponse
. عند اكتمال التعرّف على الكلام، ستحتوي هذه القائمة على عنصر واحد مع ضبط stability
على 1.0.
الاطّلاع على النص و/أو العرض المرئي لردّ "مساعد Google"
إذا كان هناك شاشة متصلة بالجهاز، يمكنك استخدامها لعرض ردّ "مساعد Google" بتنسيق النص العادي على طلب المستخدم. يوجد هذا النص
في الحقل
DialogStateOut.supplemental_display_text
.
يتيح "مساعد Google" ردودًا مرئية عبر HTML5 لطلبات بحث معيّنة (ما حالة الطقس في ماونتن فيو؟ أو ما الوقت؟). لتفعيل هذا الإعداد، عليك ضبط
الحقل screen_out_config
في AssistConfig
.
تحتوي رسالة ScreenOutConfig
على الحقل screen_mode
الذي يجب ضبطه على PLAYING
.
سيتم بعد ذلك ضبط الحقل screen_out
على رسائل AssistResponse
. يمكنك استخراج بيانات HTML5 (إذا كانت متوفّرة) من الحقل data
.
إرسال الطلبات عبر إدخال النص
إذا كانت لديك واجهة نصية (مثل لوحة مفاتيح) متصلة بالجهاز،
اضبط الحقل text_query
في حقل config
(راجِع AssistConfig
).
ولا تضبط الحقل audio_in_config
.
تحديد المشاكل وحلّها
راجِع صفحة تحديد المشاكل وحلّها إذا واجهت مشاكل.