cancel
Showing results for 
Search instead for 
Did you mean: 

Google Home App cannot invoke our Android App

tracyhenryduck
Community Member

Hi, after I added a device on Google Home app, it should be redirect our app. But, actually, after I click our actions on Google Home App, it shows a webpage for me to login.

Ios is ok, but failed on Android.

https://sitewellcloud.com/.well-known/assetlinks.json 

operation video:

https://siterwelllink.s3.us-east-1.amazonaws.com/googlehome/android_agree_link.mp4 

configuration on Google Home Console:

The configuration in Authoration Intent in Goolge Home Console is our package name, 'com.guard.familylink'

1 Recommended Answer

Thanks for sharing. 

Based on your Image 3 (the Google4Activity) <action> tag does not match what you configured in the Google Home Console. As I mentioned earlier in your console screenshot you set the Authorization intent to: com.guard.familylink  
However, in your AndroidManifest.xml  your action is set to:
<action android:name="android.intent.action.VIEW" /> 
Your app was only listening for android.intent.action.VIEW

Update the Google4Activity Section of Manifest file, rebuild the app and install it again.

<activity
    android:name=".page.me.google.Google4Activity"
    android:exported="true">
    
    <intent-filter android:autoVerify="true">
        <action android:name="com.guard.familylink" />
        
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        
        <data android:scheme="https" android:host="sitewellcloud.com" android:pathPrefix="/google" />
        <data android:scheme="https" android:host="st-iot.net" android:pathPrefix="/google" />
    </intent-filter>

    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        
        <data android:scheme="com.guard.familylink" android:host="google" />
    </intent-filter>

</activity>


Make sure to uninstall the old version from your phone first to ensure Android re-runs the verification for the new Intent settings.

View Recommended Answer in original post

4 REPLIES 4

arm_dpe
Solutions Expert
Solutions Expert

Based on the configuration in your screenshot and the behavior in the video, here is the troubleshooting guide.

1. SHA-256 Fingerprint Conflict

In your console screenshot, you have a SHA-256 fingerprint starting with 56:D3....

  • If your app is live on the Google Play Store, Google re-signs your APK with a different key.  The fingerprint in the Google Home Console must match the "App Signing Key" found in the Google Play Console, not your local development key.
  • Go to Google Play Console > Setup > App Integrity and copy the SHA-256 fingerprint from the App signing key section. Update both the Google Home Console and your assetlinks.json with this value.

2. Intent Action Mismatch

In your screenshot, the Authorization intent is set to com.guard.familylink.

  • Your AndroidManifest.xml must have an activity with an <intent-filter> that listens for this exact action string.
  • Ensure android:autoVerify="true" is included. Without this, Android won't look at your assetlinks.json file to verify the link.

XML

<activity android:name=".AuthActivity" android:exported="true">
    <intent-filter android:autoVerify="true">
        <action android:name="com.guard.familylink" /> <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="https" android:host="sitewellcloud.com" />
    </intent-filter>
</activity>

3. Server-Side JSON Verification

Android's "App Flip" relies on the system successfully downloading and parsing your assetlinks.json.

  • Check the Header: Ensure your server sends the file with Content-Type: application/json. If it's sent as text/plain, Android will reject it.
  • Direct Access: Make sure there are no redirects (like http to https) when accessing the .well-known/assetlinks.json path.

How to verify the fix:

You don't have to keep testing through the Google Home app. You can verify if the phone "trusts" your app by running this command in your terminal with the phone connected:

adb shell pm get-app-links com.guard.familylink

  • If status is always: The flip will work.
  • If status is ask or undefined: The system failed to verify your assetlinks.json. Check your SHA-256 fingerprint and server headers.

Hi, I have checked this command, and it shows verified. Could you give me more advice?

google chek.png

 

 

 

Hi, I'm a server developer, and this is our app's manifest.xml file about intent-filter.

Could you check for me ? thank you.

 

1..png2.png3.png4.png

Thanks for sharing. 

Based on your Image 3 (the Google4Activity) <action> tag does not match what you configured in the Google Home Console. As I mentioned earlier in your console screenshot you set the Authorization intent to: com.guard.familylink  
However, in your AndroidManifest.xml  your action is set to:
<action android:name="android.intent.action.VIEW" /> 
Your app was only listening for android.intent.action.VIEW

Update the Google4Activity Section of Manifest file, rebuild the app and install it again.

<activity
    android:name=".page.me.google.Google4Activity"
    android:exported="true">
    
    <intent-filter android:autoVerify="true">
        <action android:name="com.guard.familylink" />
        
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        
        <data android:scheme="https" android:host="sitewellcloud.com" android:pathPrefix="/google" />
        <data android:scheme="https" android:host="st-iot.net" android:pathPrefix="/google" />
    </intent-filter>

    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        
        <data android:scheme="com.guard.familylink" android:host="google" />
    </intent-filter>

</activity>


Make sure to uninstall the old version from your phone first to ensure Android re-runs the verification for the new Intent settings.