Android autofill shared web credentials - React Native

347 Views Asked by At

I'm trying to implement Android auto-fill credentials (same as iOS shared web credentials) feature and I followed this documentation - Smart Lock associate-apps-and-sites

Here is my setup:

  • development server https://dev.mydomain.com behind VPN
  • but assetlinks.json is publicly reachable in path https://dev.mydomain.com/.well-known/assetlinks.json
  • assetlinks.json content
[
  {
    "relation": ["delegate_permission/common.get_login_creds"],
    "target": {
      "namespace": "web",
      "site": "https://dev.mydomain.com"
    }
  },
  {
    "relation": ["delegate_permission/common.get_login_creds"],
    "target": {
      "namespace": "android_app",
      "package_name": "correct.package.name",
      "sha256_cert_fingerprints": [
        "my:app:key:verified:from:2:developers:independently:that:this:is:the:correct:key"
      ]
    }
  }
]

  • strings.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<resources>
    <string name="app_name">My app name</string>
    <string name="asset_statements" translatable="false">
  [{
    \"include\": \"https://dev.mydomain.com/.well-known/assetlinks.json\"
  }]
  </string>
</resources>

  • app published (and approved) in Closed testing channel
  • app un-installed and installed again on device
  • correct account credentials used for login on webpage and then on device where app is installed
  • react Native version: 0.68
  • added props: Android autocomplete

we triple-checked these settings and it's still not working ლ(́◉◞౪◟◉‵ლ).

questions:

  • is there any other steps in configuration for React Native we are missing?
  • must also be the login page publicly available?
  • Smart lock is marked as deprecated in Android documentation, but when going trough recommended links it leads back again to this -> is there any other steps to make autofill work?
  • any other suggestions why this is not working?

Thanks for any info/tips/help.

1

There are 1 best solutions below

2
On

Well...it seems that this feature works only on released apps in the production channel (internal testing and beta have not worked).

So we released the app and can confirm, it works ONLY in the production channel ‍♀️.