Does anyone know why my action can NOT use in web simulator??
I set my invocation name for testing as "test", and in web simulator , I try to use my action by input "Talk to test", but it told me "Sorry, this action is not available in simulation"...
Is there anything wrong with me ??
I got this to work by saying "talk to my test app" or typing it in to the simulator prompt, that triggered my app to start in the simulator. I am using an account that is NOT associated with a home device, I also have NOT entered in artwork etc.
I have found that you have to type in that phrase anytime the simulator gets confused to get back into your intent flow.
In my case it looks like this in the Dialog portion of the simulator:
Turns out for me, even though I had turned on all the activity controls as the tutorial instructed, the organisation my login was associated with had them disabled.
Ask your admin to enable "Web & App Activity" in "My Account" > "Admin" > "Google Services"
I had same issue. This is how I "solved" it
Registered Google Home physical device to my email used for Action and api.ai development
(Redeployed, now Silly project started working)
(Still my project won't work)
Changed the invocation name to something simple ( My first language is not english)
Now Web simulator started working(
One possible Root cause - you are logged in via your second account.
This is the same issue I had. The UI from the earlier google home tutorials have been changed a bit. So after clicking the actions on google in api.ai we are redirected to to actions on google page. (Previously it was sent to the web simulator straight)
I created a project called personal butler in api.ai but what I saw was a project called API project, so when I clicked it and try to simulate it I got the exact error.
I registered to api.ai from my secondary google email. So when I was redirected to the actions on google page, it logged in via the primary account. After I signed out and loged in via the same account I was able to see my project and it was working fine.
PS - When testing with google home also the same account should be used in the andriod app
This bug should be resolved now. If you are still having this problem, you should try pairing your account with an actual device first. The issue was resolved for me by signing in to the Google Home app on my mobile device and pairing it to a home unit. After that, using the simulator then works in the browser.
Related
Initially, I built up a test agent on DialogFlow console according to the document, and it works well on the Actions On Google which is a simulator of Google Assistant on mobile devices.
Then, I deployed it through the Release in the left menu as you can see the pic attached.
deployed successfully
After that, I added some Alpha Testers including my colleague and sent my opt-in link to my colleague, besides, I granted them all the viewer permission in IAM.
However, problem appeared. It didn't work well on my testers’ phone(IOS 10+) but only worked well on developer's account(mine). When they opened the link I sent to them, and clicked send to devices, then clicked the notification on top of the screen.
send to device
The result is shown as below.
Google Assistant didn't respond to "Talk to mytest app"
In my case the command was set as "Talk to hello qad", and it did work well on my phone used the developer account.
developer account works well
If my tester input the text "Talk to hello qad", it just replied some direct searching results not hello qad diaglog.
To recap:
My action has already been in "deployed" status for couple of days
I've added the tester accounts in whitelist and give them "Viewer" permission in IAM
Testers could see the action directory page in devices by open opt-in link, but they couldn't see the "I'm In" button and couldn't access the action
Appreciate for any help or advice
During my project development, I also faced a similar issue. This is how managed to do testing:
Made sure all Google Accounts were created with the US as the country.
Through IAM, share AoG project with the tester's Google accounts.
All testers to open the shared simulator link in their browsers. This is important!
Test the app on browser first using the simulator.
Once tested, use any device with the whitelisted Google Accounts.
US country was required for my use case as I was having Transaction API in my Assistant. I had to also mock my location to the US on mobile for testing US specific features.
See if the above steps help you.
I contacted Google and this is what they said:
You have to copy the link to the notes app, and then click it and in the prompt, choose “Open in Assistant”.
Full text:
Please ensure that the opt-in link is opened in Google Assistant app and not in a browser. At this time, Google Assistant app is only available in USA. For opening an opt-in link in iPhone or any iOS device, please follow the steps below:
1. Download the Assistant App in App Store
2. Log in using the included account for Beta testing
3. Copy the opt-in URL to Notes app
4. Hold press the opt-in link then select 'Open in "Assistant"'. Google Assistant and App page in the Assistant Directory will be displayed.
5. Scroll down the page until you see the "Become a Beta tester" section
6. Click the I'M IN button
7. Test the Action
This does not work for me, probably because I am not in the US. However, the app is of course available here.
I ran into a similar issue with Google Actions/Dialog Flow. Here is how I resolved it...
Share the app from within DialogFlow to the test user
Copy the current DialogFlow URL from the address bar
Launch an Incognito Window
Paste the DialogFlow URL from Step 2 in the address bar
Log into DialogFlow using the test account
At the Standard Google Account Access Prompt Allow the access so your Google Action can talk to DialogFlow.
I couldn't find this documented anywhere and wasted about 8 hours figuring it out.
For me it only worked after I shared with the user the link to test on desktop that look likes: https://console.actions.google.com/project/XXX/simulatorcreate?isDeepLink the one you can get the the console menu on the sharing icon.
I asked him to login with same google email he has opted-in in Google Assistant and
to verify if when mouse over on the devices icon on the menu he would see "Testing on Device: Enabled
You currently are able to test your Actions on all
Assistant devices connected to "xxxx#gmail.com". "
Then he could invoque almost right away the alpha version of the BOT.
All that considering that he has already clicked on the opt-in link, I had added his emails as a Alpha tester and I had also added him as a Viewer on Permissions at the console admin https://console.cloud.google.com/iam-admin.
If you are a developer of the project, the test version is enabled by default on your device. If you want to access the alpha and beta versions, make sure to disable the ‘Testing on device’ option on the Actions Console simulator.
Add users before deploying alpha release
I feel obligated to copy dedman's comment on your question here, since his solution worked for me and is the only one directly addressing the problem at hand: an alpha release is not available to testers you have added after deploying the release.
As stated in question, you first deployed the test version and then added alpha testers. You might have to publish new alpha version "after adding the testers" and then wait till you get "deployed" status on the new alpha release too... – dedman
I was encountering this exact problem with the Alpha release of my Action, i.e. assistant not responding on alpha users devices, even though I had deployed the release, shared the opt-in link with users and had them click on it to opt-in. Deploying a new alpha release after users had clicked the opt-in link solved the problem and the action is now responding correctly for all users.
IAM Viewer status is not mandatory
By the way, I can also confirm your suspicion that "Viewer" permission in IAM is not needed for alpha users to have access to your release - they only need to opt-in before you deploy a new release.
I am trying to build a simple web application, which capture users photo and sent it my custom server there by connected to some other business use-case. My web page uses HTML's file input control to launch native camera or gallery pick up option.
var input = document.createElement('input');
input.setAttribute('accept', 'image/*');
input.setAttribute('capture', 'camera');
input.setAttribute('type', 'file');
input.click();
This web app, I placed in local webserver with a name "PhotoLocker" and testing with url like
https://localhost(ipaddress to access via mobile browser)/PhotoLocker/index.html
This link is working fine both on desktop and mobile chrome browsers and am able to debug any issues. Where as same link, I try to access from WeChat browser (just opening above link from chat window), it is not at all opening my application in WeChat in app browser.
After googling, I found that https URL scheme is not supported by WeChat. is it True? When I paste the same app url as weixin://ipaddress/PhotoLocker/index.html, I am able to see my web app home page but it is not working as expected.
My Question is - how to debug my webpage opened in WeChat browser? Do I need a official WeChat Dev account even to develop and test sample apps?
Additional Info :
I am able to debug webpage from WeChat web devloper tool as mentioned in below link. But, unable to debug mobile wechat page in this tool. It is always opening chrome dev tools.
https://mp.weixin.qq.com/wiki?action=doc&id=mp1455784140&t=0.06697335132505233#1
I am a frontend developer in China, Chinese. Forgive my English for any mistake, misunderstanding I could make. Some links (dev docs mostly) below contain sites complete in Chinese, because I can not find corresponding English ones for now.
how to debug my webpage opened in WeChat browser?
Tencent provide an IDE for developing regular web interface and WeChat-mini-program, with which developer can directly interact with:
JSSDK (basically a special weixin
Object lives only in in-WeChat-browser);
API provided in WeChat-mini-program.
If you download that IDE:
First it will ask you is to use you WeChat to scan the QRCode, then confirm login with your WeChat account;
Next it will show up two square button (image below), left one is for WeChat-mini-program, the right one is for you to testing regular web page.
Click the right blue one, then you can find your way out, it's just something built top on project Blink.
As you can see the part of debugging regular webpage in WeChat IDE is no more than a simulator (in the WeChat-mini-program part, developer can write code directly in it), and in my experience it does have bugs, you will still need to test code in real machine.
For that Tencent provide another tool called vConsole, tutorials here, with it you can do following things directly in in-WeChat-browsers:
View console logs;
View network requests;
View document elements;
View Cookies and localStorages;
Execute JS command manually
and so on
Do I need a official WeChat Dev account even to develop and test sample apps?
Depends.
You may know the Official Account inside WeChat, with webpages directly opened in any context inside in-WeChat-browser, it will have the ability to interact the weixin Object, or have some API like login with WeChat, pay with WeChat Pay:
API like close current in-WeChat-browser, hide-share-button will not required anything special, you don't need to register any Official Account;
But if you want yo do the Pay, Login thing, you need an Official Account and pay for the ability every year (not sure about this outside China).
The localhost problem you faced
I don't have my working machine with me now so I can not test. Regularly I can proxy localhost with Charles then debugging in WeChat, but never do the https, I will try it later.
All the information got regarding how to debug webpage opened in wechat browser redirects to how to see log or ajax/netwrok calls analysis.
Even with WeChat web devloper tool as mentioned in below link, I am unable to debug mobile wechat page in this tool. It is always opening chrome dev tools.
https://mp.weixin.qq.com/wiki?action=doc&id=mp1455784140&t=0.06697335132505233#1.
Hence further analyzed remote mobile webpage debugging and found that there is no way to put break points, watch, expressions and all just like in chrome dev tools is not possible.
As a work around - you are able to debug code, when you simulate page in dev tools but no way to debug webpage in mobile device.
Same webpage when tried to do remote debugging as per WeChat web devloper tool documentation. here we can only see console logs and network calls.
I followed all the steps described in Assistant SDK and installed the Assistant on my Raspi 3
I have no problems with recording and playback
Raspi running Python 3.4 in a virtual environment
Assistant Python Library (no gRPC)
Troubleshooting Permission Issues did not help much (I have enabled all my activities)
I have searched a lot for some similar issue but found all related with Google Home App and the enable of activities (I do not have any GH app as the get started example in "Assistant SDK" does not require it)
When I run "google-assistant-demo" or the "hotword.py" script the assistant detects my voice saying "hey Google" but it answers "actually there are some basic settings that need your permission first" to any question.
Is anybody having or had this issue?
Thanks a lot in advance!
After 2 days of trying and trying I found the problem.
Make a click on the option box "Include Chrome browsing history ..." when enabling your "Web & App Activity" ! (see pic below)
If you do not click on it you will receive the message :
"Actually, there are some basic settings that need your permission first. Just go into the Google Home app on your phone for more details"
I hope this is useful for other people too because I did not imagine when I enabled my "Web & App Activity" control that this would be a problem...
The following list of permissions is required to work with Google Assistant API: https://developers.google.com/assistant/sdk/guides/activity-controls
Ensure the following toggle switches are enabled (blue):
Web & App Activity
In addition, be sure to select the Include Chrome browsing history and activity from websites and apps that use Google services checkbox.
Device Information
Voice & Audio Activity
I am trying to test my agent on a real device. Following instruction from
Official Google video
However, my panel for integrating Actions on Google doesn't look similar to the one shown in the video.
I see neither AUTHORIZE nor PREVIEW button. I can not set invocation name and TTS voice as well.
I attached my panel that I see. Is there anything missing?
My Action on Google dialog:
That video predates recent changes in the API.AI Actions on Google screen.
The name and voice are now set in the Actions Console, but neither are required to do testing.
If you're willing to accept the default voice for testing, you can
Click on the "Test" button in the screen you're referencing.
You can then go to the Simulator (there will be a link provided) or ask any Assistant device (such as Home) to start your action with "Talk to my test app".
They launched this new platform on the Google I/O.
Now you have the invocation name and everything else in the Actions on Google Console.
It's a pretty intuitive platform, the only annoying thing is that you need to fulfill all of the App information before testing. You can see that the simulator is in this console as well.
Whenever you modify things in API.ai, click the UPDATE button (the one in your print screen), then TEST. Then you can test in the console simulator.
2 days ago the integration between Google home and API.AI agent worked perfectly. Since yesterday, when the API.AI was updated to include Google Assistant integration instead of Google Home, i had to do some extra steps on Action on Google console to make that integration work again.
But when i click on "Fulfillment" on API.AI menu, then "Google Assistant", i get the following screen:
enter image description here
But when i click on "update" or "test" i get the following error message: "Request contains and invalid argument".
How can i solve this?
Unfortunately, I too had to recreate with a brand new agent. Here's the steps I took that may help others who venture down this path...
Create a new Actions on Google project from the console: Actions on Google console
Create a zip file of just your intents and entities folders. They need to be in the top level of the zip file. (agent.json seems to be the one file that kept blowing up my agent after Google updated everything)
Create a new Agent in API.ai as you normally would
Save and finish up the "Actions on Google" console setup for the new project
Go back to API.ai and click on "Integrations" and "Actions on Google". This will allow you to click on "Update" and hopefully test the generic beginning of the agent successfully.
Finally, once you have tested the generic agent, import the zip file you created earlier and all "should" work fine. You'll have to update your fulfillment server if using one, etc.
The above works as of the morning of May 23, 2017. Good luck!