簡體   English   中英

對話結束后如何使用Google Assistant回應用戶?

[英]how to respond to user using google assistant after the conversation is ended?

我正在做一個谷歌動作。我有一種情況,計算需要一些時間才能實現雲,但我不想讓用戶等待答案。 我想在答案准備好后就回復用戶,即使與用戶的對話結束時,我也想以通知或類似方式發送答案。

我剛剛在Google Actions文檔中找到了這個。 https://developers.google.com/actions/assistant/updates

Google動作有可能嗎?如何?

您的意思是通知 您可以使用它,但請注意提供的鏈接頂部的警告:“開發人員預覽中當前有更新和通知。您可以使用本文中介紹的功能來構建應用程序,但目前無法發布它們”。

關於創建每日通知的步驟:

  1. 導航到您的actions.intent.CONFIGURE_UPDATES目的。
  2. 在“響應”下,轉到“ Google助手”標簽,單擊“添加郵件內容”,然后選擇“自定義有效載荷”。

    1. 在“自定義有效負載”框中,添加以下代碼以調用AskToRegisterDailyUpdate幫助器。 當用戶與您的通知交互時,將INTENT_NAME交換為您要調用的意圖。

    {

     "google": { "system_intent": { "intent": "actions.intent.REGISTER_UPDATE", "data": {"@type": "type.googleapis.com/google.actions.v2.RegisterUpdateValueSpec", "intent": "INTENT_NAME", "triggerContext": { "timeContext": { "frequency": "DAILY" } } } } 

    }}

    1. 如果使用Webhook,則可以直接通過客戶端庫調用此API:

       appMap.set('setup_update', function(app) { app.askToRegisterDailyUpdate('INTENT_NAME'); }) 

      })

    2. 再添加一個名為“ finish_update_setup”的意圖,並輸入actions_intent_REGISTER_UPDATE作為其事件。

    3. 還將意圖的操作設置為“ finish_update_setup”。

    4. 在您的webhook中,打開index.js並添加以下內容。 替換好吧,我將開始為您提供每日更新,好吧,我將不為您提供每日更新。 您想要給用戶的任何響應:

       appMap.set('finish_update_setup', function(app)) { if (app.isUpdateRegistered()) { app.tell("Ok, I'll start giving you daily updates."); } else { app.tell("Ok, I won't give you daily updates."); } } 
    5. 將Webhook部署到Firebase Functions,並在Dialogflow中啟用Webhook實現。

如果您想了解如何創建簡單的通知(而不是每日通知),請查看此文檔有關推送通知

如果您沒有立即發送的答復,但希望您很快就能完成,則返回“承諾”。 當您有能力答復時,“履行”諾言會使您的答復得以交付。 我不知道實際的超時時間是多少,但就我而言,我很確定至少可以延遲幾秒鍾。

至於更新或通知,API在那里,但是文檔說您不能使用它們將Action部署到生產中。 如果需要,“聯系支持”中會有一個含糊的注釋。

這些日子之一,我可能會嘗試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM