Google Home application support - google-assistant-sdk

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.

Related

Google Actions on the Assistant app on iPhone no longer work

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.

What is the best UX of account linking in Google Home App

I'm developing my smart home device.
For now, it doesn't have a native app but only a web client.
My home-actions work well, but I'm worried about the complexity of adding a new device in the google home app.
According to add new device user have to:
Open Home app
Click + button
Click "Set up device"
Click "Have something already set up"
Find my application in the list
And only then starts the process of the user linking.
I think that should be an easier way to link users, for example, deep-link to "user linking" in-home app, but I cannot find one.
Can someone explain the best user experience of account linking in Google Home App, for both mobile application and web application?
For native application, Smart Home documentation now feature a section about App Flip which allow you to "deep-link" to your native application to complete the account linking process.

Automating apple pay integration in mobile web with safari browser

I got a requirement to integrate Apple pay to our E-commerce website. This is intended only to run in safari mobile browsers. I am in search for a way to automate the apple pay integration. We will have an option from cart page to choose Apple pay. Once user selects this a panel is displayed which have options to select the saved credit card, addresses in the mobile phone (we call this as apple payment sheet). These informations are prefilled but user can change this. I believe this is some kind of native code which displays this panel above the safari. I need to device an end-to-end test which has both normal web simulation and the payment sheet simulation so that it could complete an order successfully.
For this, I have few roadblocks:
We need a common tool which can simulate user interaction in mobile web (this is currently done by webdriverIO) and the payment sheet provided by safari for apple pay(No idea how to inspect or simulate user interaction on this panel).
2.We need to simulate fingerprint authorization from the test automation tool. I am still to get a solution for this. Have considered many tools but found out that none of them can help. Not sure about the capabilities of Appium in this regard. It would be of great help if someone can point me in the right direction of choice of tool that can be used here.

Opening deep content links in native apps from mobile web

My company has an app (iOS and Android), to which the following scenarios applies. I'm trying to help point my engineers and product team in the right direction.
When one of our users clicks on a content link from one of our emails, or Tweets or Facebook posts, and they're on their mobile device, we prompt the user with a link to download our app. This is similar to what many apps do, including LinkedIn (see i.stack.imgur.com/glSgJ.png).
I imagine this is mildly effective of driving awareness and downloads of a native app, for new users who came in from social media and various web sources. However, it is not helpful at all for a user like me who already has the app!
1) clicking "No Thanks" keeps me on the mobile web (when I want to be in the native app), and
2) clicking "Download the App" takes me to iTunes App Store page for an app I already own.
SUPER ANNOYING. As a result, I have to manually open the app, and search for the content in question. I'm guessing most users don't do this. More importantly, depending on the UI/UX of the app, I may never get there!
Again, I know we are handling mobile web visits in the same way many other companies (including LinkedIn) do, but it seems we are leaving a lot of potential native app use on the table. I want our engineers to build that elusive 3rd option, "Open In App".
Spotify and Rdio have solved this very nicely. Here are deep content links (in the case of these companies, to a specific song) for the two apps respectively:
http://open.spotify.com/track/2SldBUTJSK6xz43i8DZ5r2
http://rd.io/x/QF3NK0JKWmk
If you have a moment, first grab the free version of Rdio or Spotify apps. Then, if you open those links above from an iOS device, you will see how nice the experience is, for existing native app users: Rdio has a nice "Tap to open in Rdio" link (http://i.stack.imgur.com/B7PuE.png), and Spotify's link is even more clear, "I have Spotify" (http://i.stack.imgur.com/Q3IV6.png). Both apps also include a link to download the app, for new app users. More importantly, both apps cookie the user: future visits to links (whether from email, Twitter, Facebook, etc) on mobile web automatically open the app, instead of prompting you to choose each time. SUPER CONVENIENT.
Questions:
1) How do they accomplish this? I'm initially only concerned about iOS (on which I tested this), but this same situation should apply to Android.
2) Why aren't more apps doing this? It doesn't seem like rocket science, so am I missing a key reason why this might be a bad idea? Half of my problem is convincing the use case.
3) Why don't I see discussions about this technique? I've searched a ton for an iOS solution. I come up with a lot of discussion about URL registrations (mainly app-to-app), but no one actually referring to the type of scenario I describe (mobile web prompt to open native app).
It seems that with minimal engineering, app developers could dramatically increase native app use, converting from mobile web. :)
Android supports deep linking. Please refer to
http://developer.android.com/training/app-indexing/deep-linking.html
Tapstream's deferred deep links can send users to specific views within apps (iOS only), even when the app isn't yet installed on their device.

iOS >> Ads Conversion Link: Is there a way to "catch" from which site / banner / ad users got to my app in the App Store?

I did some ads to my apps; the only information I get regarding how many people got to my app is from the sites where I advertised (Google, Facebook, etc...); and this is only showing how many people clicked the link.
I want info about the following:
How many people got to my app page - per each ad that I have
How many people downloaded the app - per each ad that I have
Can anyone assist?
What you are talking about is conversion tracking.
There's no easy way because you don't get stats from the app store page itself, so you have to do it like this:
when the user clicks your banner, record their device IP address in your database.
when they launch your app on their iPhone for the first time, make a call to your website using native code in your app and log the IP address again. If you get a match then you'll know that the user who clicked the banner is the same one who launched the app, therefore they must have just downloaded it from the app store.
It's not perfect because it won't work if there's a long time between them downloading and first launching the app (assuming they don't have a static IP), or if they download the app on a PC and then install it via iTunes later. It should work in a lot of cases though.
Some of the standard analytics packages have this capability already, for example Google/Admob supports tracking a user from clicking an Admob ad to launching the app in this way (Assuming you are using Google analytics in your app):
http://support.google.com/admob/bin/answer.py?hl=en&answer=1704628

Resources