I just built my first voice action for Google Assistant. After testing it successfully in the simulator I released it as alpha version. Hidden in the Google actions console I found a link to try it in my home assistant device (a JBL speaker) - where it works as expected.
The problem is that this secret link is the only way I can start my action. It doesn't react to any invocation I tried so far - which it should according to https://developers.google.com/actions/deploy/release-environments. I'm probably missing something obvious here but I just can't find it.
Edit: See screenshots of the directory information and the listing in Google Assistant's available actions. (This voice action is a little German-only fun/demo app called "Give me a name".) I'm on the list of alpha testers. I can find the action in the listing (if only by search, not by category) and can start it from the Google Assistant directory via "Send to device". But calling it by voice on the device gives me the "sorry, don't understand you" response.
Two questions:
In the Actions on Google console (https://console.actions.google.com), have you added yourself to the list of Alpha testers?
What happens when you say, "Hey Google, talk to {{ your app name }}."?
Related
Our Action has worked as expected for years on iPhone, but something changed and now access is blocked for our customers.
How to reproduce the issue: Simply go to Assistant on iPhone and say "Hey Google, talk to the mobile concierge" (our Action). Instead of launching the Action, Assistant says "I need permission before I can use your personal info for anything. To change your settings, just open the Google Home app on your phone. Once that's done, ask me again!".
My question: Can Google confirm that this is a bug and not expected behavior? (Specifically, that a user must have 'Personal Results' turned on in order to access an Action on iPhone.)
I truly hope this is not expected behavior, but even if it is there are 2 issues:
instructions that are provided to users when Personal Results are turned off are wrong. Pointing users to the Google Home app is incorrect. Many iPhone users won't even have the Google Home app installed. But if you do have it installed, launching it and then following Assistant's directions does not lead to being able to open the Action. The correct instructions are to stay in the Google Assistant app, click on your profile pic, go to Devices, and then select your iphone. There, you can turn Personal Results on/off.
The additional problem is that upon testing, I already had Personal Results turned ON. In order to get access to our Action, I had to turn it off, and then turn it back on again. So this pretty clearly seems like a bug.
As an aside, we don't collect any personal information as part of our Action so I am unclear why Google implemented a change involving the Personal Results option as it relates to the ability to launch Actions like ours. All it has done is made it so that our customers can't use it from a huge percentage of phones out there (iPhones), and phones are the only device we are targeting for use with this Action.
I have a device which I want to control with Google Home.
Device also can be controlled via mobile app.
It will be a commercial device so many users have different devices and, of course, I can recognise them in my mobile app.
I read documentation about Action and Home Graph, but it is still not clear how I can integrate my device/app with google home in the same way as, for example, Hue is integrated.
I could not find where I can "register" my device/app with google so it will be shown in supported devices.
What I want to achieve is the following:
User gets device, installs the app, connects it device to the app. <- this already works.
Then user goes to google home integrations, selects my platform and he is ready to go.
Maybe someone can push me to the right direction where to start?
The smart home documentation provides the content to help you get started, along with several codelabs to learn about the webhook fomat.
When you are developing your action, through the Actions Console, you will be able to see your service in the full service list as "[test] Your project name". Once your integration is ready, you submit it to be published in the full list of services.
I'm trying to implement Firebase Dynamic Links in an iOS app. The goal is to have a clean URL for marketing purposes so folks can share links on social media. The idea is folks will share the clean URL that starts with my domain name.
When the app is installed following a click on that link, we want to be able to track who referred the app install by looking at the payload delivered by Firebase. I think this goal is similar to Firebase's use case to convert web users to mobile app users.
An example link I would like to provide for sharing on social media is: http://example.com/my-payload-here
I've tried several cases but I'm not able to get the behavior I'm looking for in any case. Has anyone implemented this successfully before?
Here is my test procedure:
Uninstall the app
Send the link to be tested in an iMessage to myself
Tap the link on my iOS device (not using a simulator)
Install the app from the App Store
Launch the app after download completes by tapping "Open" button in the App Store
Below are my findings:
Short link generated from the Firebase Console (https://xyz.app.goo.gl/ABCD) - Link opens in App Store. I install the app. When I launch the app after installing, the payload is not delivered. If I quit out of the app, go back to the link in iMessage, and launch a second time, the payload is delivered.
Long link identical to the "Long Dynamic Link" from the Firebase console for the link generated in #1 (https://xyz.app.goo.gl/?link=http://example.com/my-payload-here&isi=12345&ibi=com.example.MyApp) - behavior is identical to #1
Short link using my domain (http://example.com/redirect/my-payload-here, configured to 301 redirect to URL in #2) - Opens in App Store. I install. When I launch the app after installing, the payload is not delivered. If I quit out of the app, go back to the link in iMessage, and launch a second time, the link still goes to the App Store.
Some questions I have:
Why isn't the payload delivered on the first launch for cases 1 and 2?
How can we make this launch the app and deliver the payload instead of going to the App Store?
I've also consulted the Firebase flowchart for the deep link in case 2.
Google Firebase team added support for custom subdomains to Dynamic Links.
You can now specify up to five custom page.link subdomains for your Dynamic Links. Short links using these new custom subdomains look like the following example: https://example.page.link/abcXYZ
Firebase Dynamic Link domains assigned on projects couldn't be deleted at this time.( firebase team is working on it.)
You can now whitelist the URL patterns that can be used as a Dynamic Link's deep link (link) or fallback link (ifl, ipfl, afl, ofl). If you define a whitelist, Dynamic Links won't redirect to URLs that don't match a whitelisted pattern.
You can try both of these features in the Firebase console.
This is not currently possible with Firebase. If you need whitelabeled URLs, you either need to build it yourself or use a more powerful link platform like Branch.io (full disclosure: I'm on the Branch team).
To answer your questions specifically:
I have implemented Firebase Dynamic Links in a testbed app and can confirm that linking through installation the first time does work for both long and short URL variants. There is likely something wrong with your AppDelegate config, so we can take a look at that if you want to share code.
Firebase does not support custom domains at this time. In theory (if you can solve the first issue above) you could get this working for first install by using a redirect like you have tried. However, you'll never be able to get it to launch the app with Firebase link data once the app is installed. This is because Universal Links work based on the domain of the link, and don't even request the web destination. Even if you enable Universal Links manually on your own domain, the app will open immediately without ever calling Firebase and the link data will never be set.
I have installed Google Analytics SDK using the Google Analytics v3 iOS guide and I have verified that it is hitting analytics through the real time view of the analytics dashboard. I then followed all the campaign tracking v3 iOS guide, including the troubleshooting steps "Self-serve diagnosis for iOS conversion tracking." The IDFA data was getting sent to GA as verified by viewing the "Audience->Demographics->Overview" page, and all the other steps also verified we had set up the tracking correctly. I then submitted the app, waited for review, and tested the install tracking by creating the following UTM link using the google link generator at the bottom of the Campaign tracking guide (note that the link here is bogus data, but shows the general link structure):
https://click.google-analytics.com/redirect?tid=UA-1234-5&url=https%3A%2F%2Fitunes.apple.com%2Fus%2Fapp%2Fmy-app%2Fid123456789&aid=com.company.app&idfa{idfa}&cs=google&cm=cpc&ck=running%2Bshoes&anid=admob&hash=md5
I then uninstalled my app on the phone I was using to test, clicked on the link to get directed to the app store and installed my app from there. I proceeded to wait 3 days and then looked for the install in the "acquisition->sources->all" tab of analytics and did not see the campaign show up. I then looked more closely at the guide, which has the following warning:
"Note: iOS Install Tracking only works for ads served through mobile ad networks, such as AdMob that serves in-app ads."
Which seems to suggest that the only way to verify that the UTM link install gets tracked correctly is by paying an ad network to serve an add in an app and then click on that ad?? That seems absurd. So we did some backwards engineering. In Android, all one has to do is click on the link and the install gets successfully tracked. That suggested that the restrictions imposed by IDFA (an Apple innovation) made it difficult for analytics to serve a 'one link tracks all installs' solution. Looking back at the UTM link, I noted that there is an idfa{idfa} portion that presumably is supposed to include the idfa of the phone clicking on the link, which would only be possible if the app serving the add or some other entity that knows the phone's IDFA number changed the link to include that phone's IDFA. We then obtained the phone's IDFA number through the GA logs and edited the UTM link to include the IDFA number within the brackets so the portion that used to be idfa{idfa} now was idfa{}. We then clicked on that link and are now waiting for another three days to see if it shows up in GA acquisitions... We also made an Admob account and tied it into the analytics account to track the app... but it appears that is just another way to view the exact same information that is presented in the analytics dashboard.
What is the proper way to test UTM campaign tracking? Do I really have to create a mobile add, run it and click it? Should clicking on the link as generated by Google work fine and show up in GA acquisitions, and the absence of its presence signifying my UTM tracking is not working?
Google Analytics is showing message "Bad Event Tracking Code" for several my projects. Even for mobile app profile too.
"The message: "The Landing Pages report has a (not set) entry. Verify that tracking code for property (my app name) sends a _trackPageview hit and that it does this before sending any events."
Has somebody got similar issue?
and how to solve this issue because I read about this and can't figure out what is wrong.
I think an issue with you tracking code that have to generate with you google analytics account Here it is step by step description about how to Setting Up Google analytics for Your App
step:1
Go to www.google.com/analytics. The homepage should appear like so:
step:2:
If you do not have a Google account, you will need to create one now by selecting Create an Account on the top-right side of the page.
or sign in in this page.
Once you have logged in, you simply need to click the Access Google Analytics button on the top right.
Step:3
The first screen you see lists all of your accounts.
If you have clients, typically you will have one account set up for each.
If you are new to Google Analytics you will only have the first account you set up.
step:4
Select the Admin view on the top right.
To see the main dashboard area for managing your Accounts, Properties, and Views.
step:5
Select the Property drop-down and click on the Create new property item, like so:
step:6
Google then asks you to submit the details for the app you want to track.
Make sure to choose Mobile app at the top and enter the information as required.
In the Setting up your property section, enter "Cloud App" for the App Name.
step:7
After accepting the terms of service, the website takes you to a page with your tracking ID and the download link for the SDK.
Before you do anything else, write down your app’s Tracking ID, which will be of the form ID UA-XXXXXXXX-Y.
Keep the ID handy, because you will need it soon. For full of description please visit raywenderlich blog
I have received similar errors. However, after testing and checking all the tags, all seem to be in order. I read on PBS that these are false positive alerts, where the errors in fact in correct.
http://spiblog.pbs.org/2014/08/the-art-of-analytics-google-analytics.html