إنشاء المشاريع

يجمع مشروع "الإجراءات" كل "الإجراءات" في حاوية واحدة. إِنْتَ نشر هذا المشروع في "المهام مع مساعد Google" حتى يعرف "مساعد Google" طريقة اكتشاف واستدعاء تجاربك الحوارية.

مكونات مشروع الإجراءات
الشكل 1. بنية مشروع الإجراءات

يمكنك استخدام المكونات المنخفضة المستوى التالية لإنشاء مشروع "الإجراءات" الخاص بك:

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

  • تمثّل الأهداف مَهمّة يجب تنفيذها، مثل بعض البيانات التي أدخلها المستخدم أو حدث النظام الذي يحتاج إلى المعالجة إن النوع الأكثر شيوعًا من الغرض الذي ستستخدمه هو نوايا المستخدم. تتيح لك هذه الأهداف الإعلان عن التدريب. العبارات التي يتم توسيعها بشكل طبيعي بواسطة NLU (فهم اللغة الطبيعية) لتضمين العديد من العبارات المتشابهة. تستخدم NLU تجميع هذه العبارات لتدريب نموذج لغوي يستخدمه "مساعد Google" لمطابقة بيانات المستخدم إدخال. أثناء المحادثة، إذا تطابق بعض إدخالات المستخدم مع لغة الغرض ، يُرسِل وقت تشغيل "مساعد Google" الهدف إلى المهمّة ومعالجتها والاستجابة للمستخدم.

  • تتيح لك الأنواع استخراج البيانات المنظَّمة من البيانات التي يُدخلها المستخدمون. من ونضع تعليقات توضيحية على العبارات التدريبية بأنواعها، يمكن لـ NLU استخراج بيانات منظَّمة البيانات نيابة عنك، لذا لن تحتاج إلى تحليل الإدخالات المفتوحة.

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

  • تحدد الطلبات الردود الثابتة أو الديناميكية التي تستخدمها والاستجابة للمستخدمين.

  • تتيح لك الردّ التلقائي على الويب تفويض خدمات الويب بالعمل الإضافي. (التنفيذ)، مثل التحقق من صحة البيانات أو إنشاء الطلبات. الإجراءات التواصل مع التنفيذ من خلال بروتوكول ردّ تلقائي على الويب مستند إلى JSON.

  • تتيح لك لوحة الرسم التفاعلية إنشاء محتوى غني وتجارب غامرة مع تطبيقات الويب التي تستخدم HTML وCSS وJavaScript.

إنشاء مشروع

يجب إنشاء مشروع في وحدة تحكّم المهام قبل أن تتمكّن من تطويره. مساعد Google لإنشاء مشروع، اتّبِع الخطوات التالية:

  1. انتقِل إلى وحدة تحكّم الإجراءات.
  2. انقر على مشروع جديد.
  3. أدخِل اسمًا لمشروعك وانقر على إنشاء مشروع.
  4. في شاشة ما نوع الإجراء الذي تريد إنشاءه؟، اختَر الفئة التي تمثل مشروعك على أفضل وجه، ثم انقر على التالي.
  5. في شاشة كيفية إنشاء التطبيق، اختَر طريقة لإنشاء وانقر على بدء البناء. على سبيل المثال، يمكنك البدء بحقل مشروعك أو باستخدام عينة.

إنشاء مشروع حزمة SDK للإجراءات المحلية

بعد إنشاء مشروع "المهام" في وحدة تحكُّم المهام، يمكنك تهيئة مشروع في بيئة التطوير المحلية لديك.

لإعداد مشروع حزمة SDK للإجراءات من مشروع حالي على "المهام"، يُرجى اتّباع الخطوات التالية: الخطوات التالية:

  1. أنشئ دليلاً فارغًا لمشروع "الإجراءات" على نظام الملفات على الجهاز.
  2. في هذا الدليل الفارغ، أنشئ دليل sdk.
  3. غيِّر دليل العمل إلى دليل sdk في الوحدة الطرفية.

البدء بمشروع فارغ

إذا كنت تريد البدء من المشروع الفارغ الذي أنشأته للتو في وحدة التحكم، تشغيل gactions pull --project-id <my-project-id>.

$ mkdir myAction
$ cd myAction
$ mkdir sdk
$ cd sdk
$ gactions pull --project-id my-project-id
Pulling your project files from Draft for a project id: "my-project-id"
✔ Done. You should see the files written in path/to/myAction/sdk

البدء بنموذج مشروع

إذا كنت تريد البدء من نموذج مشروع، شغِّل gactions init <sample name>.

$ mkdir actions-test
$ cd actions-test
$ mkdir sdk
$ cd sdk
$ gactions init question
Writing sample files for question.
✔ Done. Please checkout the following documentation - https://developers.google.com/assistant/conversational/build on the next steps on how to get started.

تحديد معلومات المشروع

تحدد إعدادات وموارد مشروعك معلومات حول مشروعك مثل دعم الميزات والمساحات، واللغات المتاحة، والاسم المعروض، والوصف والشعارات وغيرها. يوضّح الجدول التالي الإعدادات والموارد الرئيسية. التي تقدمها. يستخدم "المهام مع مساعد Google" هذه الميزة المعلومات لنشر مشروعك ونشره في "مساعد Google" الدليل.

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

لتحديد معلومات المشروع:

  1. يمكنك ضبط الإعدادات العامة لمشروع "المهام" في sdk/settings/settings.yaml. الاطّلاع على مرجع الإعدادات للقيم المسموح بها.

    يعرض المقتطف التالي مثالاً لملف sdk/settings/settings.yaml:

    accountLinking:
      enableAccountCreation: true
      linkingType: GOOGLE_SIGN_IN
    category: GAMES_AND_TRIVIA
    projectId: my-project-id
    ...
    

  2. يمكنك تحديد الإعدادات التي يمكن أن تختلف بناءً على لغة المستخدم (على سبيل المثال، عبارات الاستدعاء بلغات مختلفة) في ملف sdk/settings/<locale>/settings.yaml، مع استبدال اللغة باللغة المستهدفة.

    راجِع LocalizedSettings الوثائق المرجعية للقيم المسموح بها.

    المقتطف التالي هو مثال لإعدادات اللغة الإنجليزية المحددة في ملف sdk/settings/en/settings.yaml:

    localizedSettings:
      developerEmail: developer@developers.com
      developerName: Developer Name
      displayName: My Display Name
      fullDescription: full description of the action
      largeBannerImage: https://path/to/large/banner
      privacyPolicyUrl: http://path/to/privacy/policy
      sampleInvocations:
      - Talk to My Display Name
      shortDescription: short description of the action
      smallLogoImage: https://path/to/small/logo
      voice: female_1
    ...
    

إضافة موارد

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

يتم تخزين موارد المشروع ضمن resources/، ويصبح كل نوع من أنواع الموارد تعيين مجلد في الدليل.

يمكنك ترجمة الموارد عن طريق إنشاء مجلدات خاصة بالمنطقة في المورد ، فيمكنك مثلاً تخزين الإصدارات الإسبانية من السلاسل في resources/strings/es/<filename>.yaml

الصور

تم تخزين ملفات الصور في resources/images/، ويمكنك الرجوع إليها. مع $resources.images.<name of the image file without file extension>. امتدادات الملفات المسموح بها هي:

  • gif
  • png
  • jpg
  • jpeg

على سبيل المثال، إذا تم حفظ النسخة الإنجليزية من الشعار الصغير في resources/images/en/square.png والنسخة الإنجليزية من البانر الكبير هي تم الحفظ في resources/images/en/landscape.jpg على التوالي، سيصبح sdk/settings/en/settings.yaml من المثال السابق:

localizedSettings:
  developerEmail: developer@developers.com
  developerName: Developer Name
  displayName: My Display Name
  fullDescription: full description of the action

  largeBannerImage: $resources.images.landscape
  privacyPolicyUrl: http://path/to/privacy/policy
  sampleInvocations:
  - Talk to My Display Name
  shortDescription: short description of the action

  smallLogoImage: $resources.images.square
  voice: female_1
...

ملفات صوتية

يتم تخزين الملفات الصوتية في resources/audio/، ويمكنك الرجوع إليها. مع $resources.audio.<name of the audio file without file extension>.

امتدادات الملفات المسموح بها هي:

  • mp3
  • mpeg

على سبيل المثال، يمكنك الإشارة إلى التسجيلات الصوتية من الطلبات:

candidates:
  - first_simple:
      variants:
        - speech: your speech response
    content:
      media:
        mediaType: audio
        mediaObjects:
          - name: media name
            description: media description
            url: $resources.audio.intro

السلاسل

يتم تخزين السلاسل في resources/strings/ كملفات .yaml. يحتوي كل ملف على خريطة لمفاتيح السلسلة والقيم المرتبطة بها، والتي يمكن أن تكون سلاسل أو قوائم فردية السلاسل. يمكنك الرجوع إلى القيم باستخدام $resources.strings.<name of the image file without file extension>.<key> لقيم السلسلة الفردية أو للحصول على قيمة عشوائية من قائمة، $resources.strings.<name of the image file without file extension>.<key>.<numerical index> لقيمة سلسلة معينة داخل قائمة.

على سبيل المثال، استخدام سلاسل الموارد لأقلمة السلاسل، يمكن أن يصبح الحقل sdk/settings/en/settings.yaml من المثال السابق:

localizedSettings:
  developerEmail: developer@developers.com
  developerName: $resources.strings.appinfo.developerName
  displayName: $resources.strings.appinfo.displayName
  fullDescription: $resources.strings.appinfo.fullDescription
  largeBannerImage: $resources.images.landscape
  privacyPolicyUrl: $resources.strings.appinfo.privacyPolicyUrl
  sampleInvocations:
  - $resources.strings.invocations.sample
  shortDescription: $resources.strings.appinfo.shortDescription
  smallLogoImage: $resources.images.square
  voice: female_1
...

اختبار المشاريع في المحاكي

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

الشكل 3. المناطق الرئيسية في المحاكي: (1) إدخالات المستخدم، (2) عرض الجهاز، (3) الخيارات والإعدادات، (4) سجلّ المحادثات.

لاختبار مشروع:

  1. قم بتشغيل gactions deploy preview لنشر الإجراء الخاص بك في "المعاينة" وتفعيل الخيار للاختبار في المحاكي.
  2. افتح عنوان URL في مخرجات الأمر للوصول إلى المحاكي.
$ gactions deploy preview
Deploying your project files to your Actions console preview for a project id: "my-project". This may take a few minutes.
Sending configuration files
Waiting for server to respond.
✔ Done. You can now navigate to the Actions Console simulator to test your changes: http://console.actions.google.com/project/my-project/simulator?disableAutoPreview