首页 > 解决方案 > Android 中的 App-Linking、assetlinks.json、IIS,无法正常工作

问题描述

我已经关注了这个链接:https ://docs.microsoft.com/en-us/xamarin/android/platform/app-linking

首先,我创建了一个数字资产文件.well-known/assetlinks.json存储在我的 IIS 服务器中。我可以通过运行看到它是可下载的: https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=%20http://(MY_WEBSITE):&relation=delegate_permission/common.handle_all_urls 并且没有错误找到了,不错 我只需通过网络浏览器导航到该文件即可访问 .json 文件。

这是在 IIS 的 Web.config 中配置的

<mimeMap fileExtension=".json" mimeType="application/json" />

assetlinks.json(从语句列表生成器和测试器生成)看起来像这样

[
   {
      "relation":[
         "delegate_permission/common.handle_all_urls"
      ],
      "target":{
         "namespace":"android_app",
         "package_name":"com.p******.***************",
         "sha256_cert_fingerprints":[
            "31:2E:AC:5B:16:5C:82:A4:9A:6A:63:6B:86:94:64:70:CA:4D:72:2E:28:3F:43:3F:27:4B:2D:18:AB:BD:3F:35"
         ]
      }
   }
]

我在我上传的应用程序(作为封闭的测试应用程序)的应用程序签名页面中从 Google Play 开发者控制台获得了 SHA 256 证书。

但是当我从这个站点测试它时:https ://developers.google.com/digital-asset-links/tools/generator然后我收到这条消息“在(托管站点域)找不到应用程序深层链接权限”

有什么我错过的吗?

一些测试,首先说错误: 在此处输入图像描述

用google api进行第二次测试,说没有错误。 在此处输入图像描述

最后一次测试我可以看到该应用程序已列出: 在此处输入图像描述

标签: androidjsonxamariniis

解决方案


现在可以了。

我做的错误是错误地将“http://”DataScheme 添加到 MainActivity 类的 IntentFilter 属性中的 DataHost。 在此处输入图像描述

我刚刚删除它并且一切正常,现在当我运行命令查看我的应用程序列出时它看起来像这样:

在此处输入图像描述

(命令:adb shell dumpsys package domain-preferred-apps)


推荐阅读