نظرة عامة على حزمة تطوير برامج المهام (Dialogflow)

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

حزمة تطوير البرامج (SDK) للإجراءات هي طريقة لتطوير طريقة تنفيذ المحادثة بدون استخدام Dialogflow. عند استخدام حزمة تطوير برامج المهام، يمكنك استخدام حزمة إجراءات لربط الأهداف بعمليات التنفيذ. يجب أيضًا تقديم أنماط طلبات البحث في "حزمة الإجراءات" لتحديد أمثلة للعبارات التي قد يقولها المستخدمون.

واجهة سطر الأوامر في "المهام"

عند تطوير حزمة تطوير البرامج (SDK) الخاصة بالإجراءات، يمكنك استخدام واجهة سطر الأوامر gactions (CLI) لاختبار مشروع Actions وتحديثه. تساعدك واجهة سطر الأوامر (gactions) أيضًا في إنشاء وإدارة حزمة الإجراءات الخاصة بإجراء المحادثة.

إنشاء الإجراءات في حزمة الإجراءات

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

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

  • "Ok Google، أريد التحدّث إلى ExampleAction"
  • "Ok Google، أريد التحدّث إلى ExampleAction لشراء بعض الأحذية"
  • "Ok Google، أريد التحدّث إلى ExampleAction للتحقّق من طلبي"
  • "Ok Google، أريد التحدّث إلى ExampleAction لعرض صفقات اليوم"

قد يظهر ملف JSON لحزمة الإجراءات على النحو التالي:

{
  "actions": [
    {
      "name": "MAIN",
      "intent": {
        "name": "actions.intent.MAIN"
      },
      "fulfillment": {
        "conversationName": "ExampleAction"
      }
    },
    {
      "name": "BUY",
      "intent": {
        "name": "com.example.ExampleAction.BUY",
        "parameters": [{
          "name": "color",
          "type": "org.schema.type.Color"
        }],
        "trigger": {
          "queryPatterns": [
            "find some $org.schema.type.Color:color sneakers",
            "buy some blue suede shoes",
            "get running shoes"
          ]
        }
      },
      "fulfillment": {
        "conversationName": "ExampleAction"
      }
    },
    {
      "name": "ORDER_STATUS",
      "intent": {
        "name": "com.example.ExampleAction.ORDER_STATUS",
        "trigger": {
          "queryPatterns": [
            "check on my order",
            "see order updates",
            "check where my order is"
          ]
        }
      },
      "fulfillment": {
        "conversationName": "ExampleAction"
      }
    },
    {
      "name": "DAILY_DEALS",
      "intent": {
        "name": "com.example.ExampleAction.DAILY_DEALS",
        "trigger": {
          "queryPatterns": [
            "hear about daily deals",
            "buying some daily deals",
            "get today's deals"
          ]
        }
      },
      "fulfillment": {
        "conversationName": "ExampleAction"
      }
    }
  ],
  "conversations": {
    "ExampleAction": {
      "name": "ExampleAction",
      "url": "https://www.example.com/ExampleAction"
    }
  }
}

إنشاء ردّ تلقائي على الويب لتوصيل الطلبات ونشره

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

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

تحميل حزمة الإجراءات

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

وبعد إنشاء مشروع، يمكنك تحميل حزمة الإجراءات التي تحدِّد جميع الإجراءات باستخدام gactions CLI.

إرسال مشروعك للموافقة عليه وإتاحته للمستخدمين

عيّنات

لاستكشاف المشاريع المكتملة، اطّلِع على عيّنات حزمة تطوير البرامج (SDK) للإجراءات في Node.js وJava.