اتّبِع التعليمات الواردة في كل قسم أدناه لدمج "مساعد Google" في مشروعك.
عمليات ربط gRPC
تستند خدمة مساعد Google إلى gRPC، وهي الأداء، وإطار عمل استدعاء إجراء عن بُعد مفتوح المصدر. إطار العمل هذا مناسب تمامًا بث صوتي ثنائي الاتجاه
Python
إذا كنت تستخدم Python، ابدأ باستخدام هذا الدليل.
C++
يمكنك إلقاء نظرة على نموذج C++ على GitHub.
Node.js
يمكنك الاطّلاع على نموذج Node.js. على GitHub.
Android Things
هل يهمّك استخدام الأجهزة المضمَّنة؟ الاطّلاع على حزمة تطوير البرامج (SDK) لخدمة "مساعد Google" عيّنة لـ أشياء Android:
لغات أخرى
- إنشاء نسخة طبق الأصل من مستودع googleapis للحصول على تعريفات واجهة المخزن المؤقت للبروتوكولات الخاصة بواجهة برمجة التطبيقات لخدمة مساعد Google.
- اتّبِع مستندات 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 للتعرّف على كيفية الحصول على رموز الدخول عبر بروتوكول OAuth والاحتفاظ بها واستخدامها للسماح الجهاز للتحدث مع واجهة برمجة تطبيقات Assistant.
يُرجى استخدام ما يلي عند مراجعة هذه الأدلة:
- نطاق OAuth: https://www.googleapis.com/auth/assistant-sdk-prototype
مسارات OAuth المتوافقة:
- (مقترَح) التطبيقات المثبّتة
- تطبيقات خادم الويب
الاطّلاع على أفضل الممارسات المتعلّقة بالخصوصية والأمان للحصول على اقتراحات حول كيفية تأمين جهازك.
مصادقة اتصال gRPC باستخدام رموز OAuth المميزة
وأخيرًا، اجمع كل المكوّنات معًا من خلال الاطّلاع على كيفية استخدام ميزات قائمة على المصادقة مع Google مصادقة اتصال gRPC بواجهة برمجة تطبيقات Assistant.
تسجيل الجهاز
سجِّل طراز جهازك ومثيله يدويًا. أو باستخدام أداة التسجيل (المتاحة في بايثون).
تنفيذ مربّع حوار أساسي للمحادثة مع "مساعد 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
ارجع إلى سمات الجهاز قائمة السمات المدعومة. تعرض كل صفحة في مخطط السمات نموذج "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
.
تحديد المشاكل وحلّها
راجع قسم تحديد المشاكل وحلّها إذا واجهت مشكلات.