1

I have generated and loaded a Google Digital Asset Links(DAL) file to https://myexample.com/.wellknown/assetlinks.json. Read and execute perms are set. The file is below:

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.myexample.testqiew2.app",
    "sha256_cert_fingerprints":
    ["7A:D5:67: ... :E9:5E"]
  }
}]

The robots.txt file does not block access, and I am in the US.

The AppLink Assistant in Associate website passes the first three checks but fails on the fourth with: Digital Asset Links file not found at https://myexample.com/.wellknown/assetlinks.json"

The Statement List Generator and Tester responds with "No app deeplinking permission found for com.myexample.testqiew2.app at myexample.com".

I have searched through android-instant-apps, android-studio, and android tags and haven't found other ways to prove the file I know is there is accessible.

I even tried:

https://digitalassetlinks.googleapis.com/v1/statementslist:list?source.web.site=https//quixr.com&relation=delegate_permission/common.handle_all_urls

but got a Google 404.

I have not uploaded code to the Play Store yet. I am still just trying to verify the infrastructure is in order. Is there any other way I can test why the DAL file is not being seen even though it is there?

Prags
  • 2,457
  • 2
  • 21
  • 38
JAW
  • 187
  • 2
  • 13
  • 1
    can have look at url https://developer.android.com/training/app-links/instant-app-links.html might it help you. – Prags Feb 02 '18 at 05:04
  • AppLink Assistant's might be caused by wrong sha256 hash even if assetlinks.json is accessible. Are you sure you are using correct hash? Do you use App Signing? – Mustafa Berkay Mutlu Feb 02 '18 at 08:41
  • @PragHad read that link, but repeated steps: – JAW Feb 02 '18 at 17:01
  • @PragHad read that link, but repeated steps: Disabled all hosts in intents except https for myexample.com. Ensured autoVerify=true for VIEW intent. Set base manifest pkg name = applicationId in app gradle (else get "No matching client for {applicationId}.base". In AppLinksAsst, stripped ".base" from pre-filled applicationId. Used Generate Signed APK and Choose Existing to rebuild DEBUG key but Build failed "already present". Regenerated DAL and uploaded to /.well-known again. Link & Verify still DAL not found. – JAW Feb 02 '18 at 17:16
  • @Mustafa I have re-generated a DEBUG key to make sure. Not using AppSigning and do not want to use release key yet. – JAW Feb 02 '18 at 17:17

2 Answers2

1

Thanks guys. It turned out that, after I became convinced there weren't any more cracks for anything to have fallen through, I started wondering if there were redirects going on at the server. There I found that the document root needed to be changed in conjunction with installing the SSL certificate. Changing that so /.well-known branched off the root made the DAL file accessible. The AppLinks Assistant accessed it, and so did the StatementListGenerator.

So it was the server, not the AIA configuration at all. Thanks again for your help.

JAW
  • 187
  • 2
  • 13
  • Please help me in this regard. I am also facing the same problem but not able to solve it. – Shajeel Afzal Jun 02 '18 at 18:46
  • @Shajeel I don't know what more I can add. Check out all the links above especially from Praghati and the steps I took. I was using a hoster and I know they had difficulty getting the DAL file accessible. So that is one lead you can follow. Otherwise, my solution above was simply getting the /.well-known directory in the right place. – JAW Jun 05 '18 at 15:23
  • Thank you. It was the shell permission that were causing the problem on my server. – Shajeel Afzal Jun 05 '18 at 16:14
  • @JAW hey can anyonw help with same error link: https://stackoverflow.com/questions/60205321/how-to-open-an-app-directly-from-deeplink-if-app-is-installed-already – hiashutoshsingh Feb 14 '20 at 11:42
1

After all these years I migrated to a different hosting service. I was surprised that there was no /.well-known directory with the assetlinks.json file in it. Yet the App Links Assistant worked fine and so, apparently, did the app.

I found assetlinks.json in the /public_html directory which functions as the root for my domain. In this intervening time, it looks like the InstantApp system has accepted that location. So don't worry that you can't find .well-known.

JAW
  • 187
  • 2
  • 13