2017-09-22 2 views
1

Ich Aktionen auf Google (auf meinem Android) zu meinem Webhook über API.AIAusweich Absicht nicht von Karussell (Aktionen auf Google) aufgerufen

Wenn ein Benutzer Aufträge, sagen Pizza Online-Anschluss, API.AI schafft ein Fallback Intent und der Webhook sendet einen JSON mit Carousel.

Das funktioniert gut. Klickt der Benutzer auf Karussell, wird die Antwort ebenfalls an den Webhook gesendet.

Ich reagiere auf diesen Klick mit der Frage "Wie viele Pizzen" und verwenden Sie einen Vorschlag Chip.

In API.AI ist jedoch keine Fallbackabsicht aktiviert, und die App stürzt ab.

Früher gab ich eine einfache Textantwort auf Karussell Wählen Sie "Danke für die Bestellung" und es funktionierte.

Kann jemand mir helfen, dieses Problem zu lösen?

Ich weiß, dass das Problem nicht in API.AI oder Fallback Intent, sondern in JSON ich sende. Wenn ich auf die Auswahl des Benutzers in Karussell mit einer einfachen Text-/Sprachantwort antworte, funktioniert es. Es funktioniert auch, wenn ich erneut einen Karussellchip sende. Wenn ich jedoch versuche, eine Liste oder Karte zu senden, stürzt es ab. Vielleicht habe ich keine richtige json Formatierung für sie.

Wenn jemand JSON per Webhook (arbeitet mit API.AI) für Liste/Vorschlag Chip oder Karte gesendet hat, wäre es sehr hilfreich!


@matthewayne Wenn ich folgendes als Antwort (json) senden, es funktioniert:

speech = "Thank you. People also looked at these:" 
print(speech) 
webhook_result={ 
    "speech": speech, 
    "contextOut": [ 
     { 
      "name": "_actions_on_google_,complementary", 
      "lifespan": 100, 
      "parameters": {} 
     } 
    ], 
    "data": { 
     "google": { 
      "expectUserResponse": True, 
      "richResponse": { 
       "items": [ 
        { 
         "simpleResponse": { 
          "textToSpeech": speech 
         } 
        } 
       ], 
       "suggestions": [] 
      }, 
      "systemIntent": { 
       "intent": "actions.intent.OPTION", 
       "data": { 
        "@type": "type.googleapis.com/google.actions.v2.OptionValueSpec", 
        "carouselSelect": {} 
       } 
      } 
     } 
    } 
} 

ich bevölkern carouselSelect auch mit Liste der Dinge in Karussell. Aber wenn ich es in listSelect ändere und antworte, stürzt es ab.

Wenn ich "Absturz" sage, bedeutet das, dass Google sagt, dass meine App nicht mehr reagiert.

Es wäre sehr hilfreich, eine Vorlage oder BeispiellisteResponse Json zu haben.

+0

Was verwenden Sie zum Erstellen von Webhook? Teilen Sie mehr Informationen bitte –

+0

Können Sie erklären, warum und wann Sie denken, die Fallback-Absicht sollte ausgelöst werden, nachdem Sie fragen "Wie viele Pizzas"? Normalerweise würden Sie eine andere Absicht verwenden, die auf nummernbezogene Phrasen hört, um diese Konversation zu verarbeiten. –

+0

Wenn Sie Ihre Frage so aktualisieren können, dass Screenshots der Absicht und der Absicht angezeigt werden, von der Sie glauben, dass sie beim Beantworten des Karussells aufgerufen werden sollte, würden wir Ihnen helfen. – Prisoner

Antwort

0

Nachdem eine Karussellantwort an den Benutzer gesendet wurde, ist die nächste Anforderung, die gesendet wird, wahrscheinlich ein Listenauswahlereignis. Sie müssen diese entweder zu handhaben:

  1. in API.AI (durch eine Absicht mit dem Ereignis zu schaffen actions_intent_OPTION, docs here)
    oder
  2. in Ihrem Webhook mit the Google Assistant client library (docs here).
+0

Das funktioniert, aber ich denke, mein Problem ist anders. Ich habe es in der Frage geklärt –

Verwandte Themen