1
votes

I'm developing a google home speaker app using DialogFlow.

My scenarios is if a user signed in then the app shows user's specific information or if a user is not signed, it should show general information.

I filled account linking section (Linking type : OAuth)

(DialogFlow -> Integrations -> Google Assistant -> MANAGE ASSISTANT APP -> Account Linking)

I also unchecked "Sign in required" in the DialogFlow's Google assistant Integration option window.

My intent code is using conv.ask(), not conv.close()

But when I run test on the simulator It shows it is not linked and you can set account with Google Home app, after that the conversation ends.

What I want to do is even if a user has not done account linking, the user can use the app. (user sign in should be optional, not mandatory)

Any ideas?

Thanks.

EDITED

I am using "Default Welcome Intent" with "Enable webhook call for this intent" checked.

My Intent looks like this. It worked well before setting account Linking.

app.intent('Default Welcome Intent', conv => {
  conv.ask('Welcome');
});

and my screenshot. Screenshot of Actions on Google simulator (sorry for none-English text in the screenshot. It tells it needs account linking and terminated the conversation. )

Here is the log message in Actions on Google simulator's debug tab.

{
  "request": {
    "response": "テスト用アプリ とリンクしていません。Google Home アプリからテスト用アプリ と Google アカウントをリンクできます。",
    "expectUserResponse": false,
    "conversationToken": "GidzaW11bG...",
    ...
    "debugInfo": {
      "sharedDebugInfoList": [
        {
          "name": "Account Linking Url",
          "debugInfo": "https://gala-demo.appspot.com/app?login_hint=..." // removed sensitive information from the string
          "subDebugEntryList": []
        }
      ]
    },
    "visualResponse": {
      "visualElementsList": [],
      "suggestionsList": [],
      "agentLogoUrl": ""
    },
    "clientError": 0,
    "is3pResponse": 1
  },
  "response": {
    "response": "テスト用アプリ とリンクしていません。Google Home アプリからテスト用アプリ と Google アカウントをリンクできます。",
    "expectUserResponse": false,
    "conversationToken": "GidzaW11bG...",
    "visualResponse": {
      "visualElementsList": [],
      "suggestionsList": [],
      "agentLogoUrl": ""
    },
    "clientError": 0,
    "is3pResponse": 1
  },
  "debug": {
    "sharedDebugInfoList": [
      {
        "name": "Account Linking Url",
        "debugInfo": "https://gala-demo.appspot.com/app?login_hint=...", // removed sensitive information from the string
        "subDebugEntryList": []
      }
    ]
  },
  "errors": []
}
1
Can you update your question to include the code you're using for fulffillment, any logs it may be generating, and a screen shot of the Intent you think should be called? Possibly any logs or screen shots showing exactly what is happening? (Are you using the Actions on Google simulator?) It isn't clear from your description so far what is getting called or what is actually happening.Prisoner
@Prisoner Thank you! I updated the question.mmmin
So you had previously had Sign-In Required set in Dialogflow on the welcome intent, but you had cleared it? And it is still acting like it has checked?Prisoner
@Prisoner Thank you. your comment gave me some idea and I solved! Please check my answer.mmmin

1 Answers

1
votes

I found that when I run a simulator from integration menu in DialogFlow, The simulator starts with old version which I set Sign-In Required. And when I run a simulator from the Actions on Google TEST section, it starts with current setting (Sign-In Not Required).

You can check version from the simulator screen