الأغراض المضمّنة (Dialogflow)

النية المضمّنة هي معرّف فريد يمكنك تحديده لإخبار "مساعد Google" ليتمكّن الإجراء الخاص بك من تلبية فئة معيّنة من المستخدمين الطلبات. على سبيل المثال، إليك بعض الأمثلة على استعلامات المستخدم التي يتطابق "مساعد Google" مع الأهداف المضمّنة:

  • "تشغيل اللعبة" هدف مضمّن: "Ok Google. تشغيل لعبة ذاكرة"
  • "الاطّلاع على الأبراج" هدف مضمّن: "Ok Google. الاطّلاع على برجي"

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

للاطّلاع على القائمة الكاملة للعناصر المدمجة التي يوفّرها "مساعد Google"، بما في ذلك معلماتها وأمثلة لطلبات بحث المستخدمين، فراجع مرجع الأغراض المضمَّنة:

دمج الأهداف المضمّنة

هناك طرق مختلفة لإنشاء الإجراء، وذلك وفقًا للطريقة التي تعتمدها دمج الأهداف المضمنة.

Dialogflow

إذا كنت تستخدم Dialogflow لإنشاء الإجراء، يمكنك إرفاق هدف مضمّن. بيانيًا من وحدة تحكُّم Dialogflow.

لإرفاق هدف مضمّن باستخدام Dialogflow، اتّبِع الخطوات التالية:

  1. افتح وحدة تحكُّم Dialogflow، واختَر الوكيل، ثم انتقِل إلى شاشة الأهداف.
  2. أنشئ أو اختَر هدفًا يحثّ وكيلك على تلقّي رسالة هدف مضمّن محدد. افتح قسم الأحداث، وانقر على إضافة. الحدث.

    الشكل 1. إضافة حدث Dialogflow في وحدة تحكُّم Dialogflow.
  3. في حقل الأحداث، اكتب اسم الحدث المضمَّن الوكيل (على سبيل المثال، actions_intent_PLAY_GAME).

    الشكل 2. إرفاق هدف مضمّن بوكيلك في وحدة التحكّم Dialogflow
  4. انقر على حفظ.

حزمة تطوير برامج المهام

إذا كنت تستخدم حزمة تطوير البرامج (SDK) الخاصة بالإجراءات لإنشاء الإجراء الخاص بك، يجب تحديد الربط بين الأهداف المضمّنة و"المهام" في حزمة الإجراءات.

لإرفاق الغرض من حزمة تطوير البرامج (SDK) الخاصة بالإجراءات، اتّبِع الخطوات التالية:

  1. حدِّد الهدف المضمَّن في حقل الاسم ضمن تعريف الإجراء.
  2. حمِّل حزمة الإجراءات إلى مشروع المهام باستخدام أداة gactions، بصفتك كما هو موضَّح في نظرة عامة على حزمة تطوير البرامج (SDK) للإجراءات.

على سبيل المثال، يوضح المقتطف التالي كيفية إضافة CHECK_AIR_QUALITY. هدف مضمّن:

{
   "actions":[
      {
         "description":"Default Welcome Intent",
         "name":"MAIN",
         "fulfillment":{
            "conversationName":"conversation_1"
         },
         "intent":{
            "name":"actions.intent.MAIN"
         }
      },
      {
         "description":"Check Air Quality",
         "name":"CHECK_AIR_QUALITY",
         "fulfillment":{
            "conversationName":"conversation_1"
         },
         "intent":{
            "name":"actions.intent.CHECK_AIR_QUALITY"
         }
      }
   ],
   "conversations":{
      "conversation_1":{
         "name":"conversation_1",
         "url":"https://example.com/fulfillment",
         "fulfillmentApiVersion":2
      }
   }
}

التعامل مع مَعلمات intent المضمّنة

عند استدعاء الإجراء الخاص بك من خلال هدف مدمج، قد يبدأ تنفيذك. وتتلقى معلمات إضافية. يحدد مخطط الغرض أسماء وأنواعها كأنواع أساسية أو schema.org والكيانات. لعرض مخطط الأهداف المضمّنة في "الإجراء الحواري"، راجِع مرجع الأغراض المضمَّنة:

تكون معلَمات الأهداف المضمّنة اختيارية. يتعامل "مساعد Google" مع ملء المعاملات ذات القيم إذا كان من الممكن استخراجها من استدعاء المستخدم الهدف المضمَّن.

على سبيل المثال، يعرض مخطط actions.intent.CHECK_AIR_QUALITY المضمن تحدد intent أربع معلَمات اختيارية:

اسم المعلمة النوع
attributes قيمة سلسلة.
location عنصر schema.org/Place
temporalCoverage عنصر schema.org/Duration
timeIndicator EnumeratedDuration (إضافة خاصة بـ Google).

يعرض مقتطف الرمز التالي مثالاً على الرد التلقائي على الويب للمحادثة (JSON) الطلب عندما يستدعي المستخدم الإجراء عبر قول "ما هي جودة الهواء في سان فرانسيسكو غدًا؟":

"inputs":[
      {
         "intent":"actions.intent.CHECK_AIR_QUALITY",
         "rawInputs":[
            {
               "inputType":"VOICE",
               "query":"what is the air quality in san francisco tomorrow"
            }
         ],
         "arguments":[
            {
               "name":"location",
               "structuredValue":{
                  "geo":{
                     "longitude":-122.41941550000001,
                     "latitude":37.7749295
                  },
                  "@context":"https://schema.org",
                  "@type":"Place",
                  "name":"san francisco"
               }
            },
            {
               "name":"temporalCoverage",
               "rawText":"2018-04-25",
               "textValue":"2018-04-25"
            }
         ]
      }
   ]

في هذا المثال، تستخدم المَعلمات القيم التالية:

  • تحتوي المَعلمة location على schema.org/Place. لـ "سان فرانسيسكو".
  • تحتوي المَعلمة temporalCoverage على schema.org/Duration. لتاريخ الغد بالنسبة إلى وقت الاستدعاء.
  • ما مِن قيم للمعلّمتَين attributes وtimeIndicator لأنّ عبارة الاستدعاء التي أدخلها المستخدم لم تتضمّن هذه المعلومات.

إذا كنت تستخدم Actions on Google Client Library for Node.js، يمكنك استرجاع قيمة المعلمات كما هو موضح في المقتطف التالي:

app.intent('actions.intent.CHECK_AIR_QUALITY', (conv) => {
  const attributes = conv.arguments.get('attributes');
  const location = conv.arguments.get('location');
  const temporal_coverage = conv.arguments.get('temporalCoverage');
  Const time_indicator = conv.arguments.get('timeIndicator')

  // Your Action logic. If you need to use any of the parameter values,
  // you should check first that it is defined. Arguments.get returns
  // undefined if it can't find a value for a parameter.

});

اختبار عمليات الدمج باستخدام الأهداف المضمّنة

يُرجى اتّباع الخطوات التالية لاختبار عملية الدمج:

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

أفضل الممارسات لاستخدام الأهداف المضمّنة

يجب اتّباع أفضل الممارسات التالية عند استخدام الأهداف المضمّنة:

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