İşlemleri Tanımlayın (Dialogflow)

İşlemler, uygulamanıza çağrı ve keşfi tanımlayan giriş noktalarıdır modeliniz olmalıdır. İşlemler'i İşlem paketi olarak bilinen bir JSON dosyasında tanımlarsınız, veya bir öğeyi test etmek istediğinizde veya daha sonra geliştirici projenize Actions projenizi onaya gönderin. İşlem paketi, Actions projenizdeki İşlemler'i tanımlar.

İşlem paketinizde İşlemler tanımlamak için, aşağıdakileri içeren bir intent oluşturursunuz: İşlem çağrılır ve etkinleşir. Aşağıdaki İşlem türlerini oluşturabilirsiniz:

  • Varsayılan İşlem: Her Actions projesinin çalışan bir karşılama amacı olmalıdır olarak ayarlayabilirsiniz. Karşılama niyeti Kullanıcılar bir İşlemi adını söyleyerek açıkça çağırdığında tetiklenir (örneğin, (ör. "Ok Google, Ornekİşlemi ile konuş") yazabilirsiniz. Bu karşılama amacı şununla tanımlanır: actions.intent.MAIN intent adı.
  • Derin bağlantı için Ek İşlemler: Şurada ek İşlemler oluşturabilirsiniz: kendi tanımladığınız niyetlerle İşlem paketinizi oluşturun. Bu sayede kullanıcılar bir hedefle birlikte İşlem adını söyleyerek belirli bir işlevi çağırmak (örneğin: "Ok Google, ayakkabı bulmak için ExampleAction ile konuşun").

Nasıl yapılacağı hakkında daha fazla bilgi için Amaçlar ve çağrı bölümüne bakın çalışır.

Varsayılan İşlem tanımlayın

Her Action paketinde actions.intent.MAIN intent. Bu amaç, kullanıcılar Ada göre işlem (örneğin, "Ok Google, ExampleAction ile konuş").

action.json adlı bir ortak işlem paketi oluşturmak için şu adımları uygulayın:

  1. gactions CLI'yı indirin.
  2. İşlem projenizin kaynak dosyaları için yerel dizin oluşturun.
  3. Terminalde aşağıdaki komutları çalıştırın:

    $ cd PROJECT_DIRECTORY
    $ gactions init

İşlem paketi dosyası oluşturulduktan sonra yer tutucu içeriği değerler. ExampleAction tarafından yapılan değişiklikleri içeren bir action.json örneği aşağıda verilmiştir:

{
  "actions": [
    {
      "description": "Default welcome intent",
      "name": "MAIN",
      "fulfillment": {
        "conversationName": "ExampleAction"
      },
      "intent": {
        "name": "actions.intent.MAIN",
        "trigger": {
          "queryPatterns": [
            "talk to ExampleAction"
          ]
        }
      }
    }
  ],
  "conversations": {
    "ExampleAction": {
      "name": "ExampleAction",
      "url": "https://www.example.com/ExampleAction"
    }
  },
  "locale": "en"
}

Ek İşlemler tanımlama

Giriş noktası görevi gören ek işlemler sağlayabilirsiniz. Bu sayede kullanıcılar ne istedikleri hakkında daha fazla ayrıntı vermelerine olanak tanıyarak amaçlarını netleştirmelerini sağlar. yapmak istiyorum (Örneğin, "Ok Google, bana birkaç örnek ayakkabılar.") kullanılabilir.

Ek İşlemler tanımlamak için:

  1. actions dizisinde, her giriş noktası için bir İşlem belirtin.

    Örneğin, aşağıdaki kodda ek bir "satın al" ifadesi gösterilir Şunları tanımlayan işlem:
    • com.example.ExampleAction.BUY amaç adı
    • Bu amaç tetiklendiğinde kullanıcı girişinden ayrıştırmak için parameters. Bu özellik, şu durumlarda İşlem ifadesinden belirli verilere ihtiyacınız kullanıcılar İşlemi çağırır.
    • Amacı tetiklemek için kullanıcıların söylemesi gereken bilgileri tanımlayan queryPatterns. Sorgu kalıpları Schema.org türlerini içerebilir API'leri kullanabilirsiniz.
    {
      "description": "Direct access",
      "name": "BUY",
      "fulfillment": {
        "conversationName": "ExampleAction"
      },
      "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"
          ]
        }
      }
    }
          
  2. conversationName belirterek bu amaç için istek karşılamayı belirtin. conversations nesnesindeki bir öğeye karşılık gelir.

    {
      "conversations": {
        "ExampleAction": {
          "name": "ExampleAction",
          "url": "https://www.example.com/ExampleAction"
        }
      }
    }
        

Tam İşlem paketi örneği aşağıda verilmiştir:

{
  "actions": [
    {
      "description": "Default welcome intent",
      "name": "MAIN",
      "fulfillment": {
        "conversationName": "ExampleAction"
      },
      "intent": {
        "name": "actions.intent.MAIN",
        "trigger": {
          "queryPatterns": [
            "talk to ExampleAction"
          ]
        }
      }
    },
    {
      "description": "Direct access",
      "name": "BUY",
      "fulfillment": {
        "conversationName": "ExampleAction"
      },
      "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"
          ]
        }
      }
    }
  ],
  "conversations": {
    "ExampleAction": {
      "name": "ExampleAction",
      "url": "https://www.example.com/ExampleAction"
    }
  },
  "locale": "en"
}