Android App links not verifying after updating assetlinks.json on website

Viewed 246

I've run into a problem where existing users of my app are unable to have App Links open in my app by default, seemingly if they already verified to a previously uploaded-but-incorrect assetlinks.json file

I initially setup my AndroidManifest.xml and assetlinks.json file correctly, but only for debug builds without realising, and deployed my app to the Play store. At the time it looked something like this:

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.my.app",
    "sha256_cert_fingerprints":["DEBUG_FINGERPRINT"]
  }
}] 

After users got this build and reported that the App Links weren't working, I updated my assetlinks.json file to include the release fingerprint:

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.my.app",
    "sha256_cert_fingerprints":["DEBUG_FINGERPRINT", "RELEASE_FINGERPRINT"]
  }
}] 

On my device, I used adb to reverify the app links:

adb shell pm set-app-links --package com.my.app 0 all
adb shell pm verify-app-links --re-verify com.my.app

And my device works! Additionally, checking my configuration on https://developers.google.com/digital-asset-links/tools/generator reports that everything is fine.

My problem is that users that previously attempted to use my old asssetlinks.json file seem to never update to their verified links, and as such are unable to open links directly in my app. My understanding was that Google would automatically reverify with the new fingerprint, but that doesn't appear to be the case (roughly 2 weeks after making this change), and I obviously can't use adb to update devices in the wild.

How do I force the app to re-verify now that I've added my release fingerprint without affecting other users?

0 Answers
Related