如何解决deeplink assetlinks 验证一台服务器,但不验证其他 android 应用程序
我有一个 Android 应用程序,它可以根据调试/发布版本与临时服务器和生产服务器进行对话。 这些版本可以通过 3 个不同的密钥(自定义调试、上传密钥或 Play 商店签名密钥)中的任何一个进行签名。
为了处理这种情况,我添加了以下文件,以便在 /.well-kNown/assetlinks.json
上从两台服务器(暂存和生产)提供服务。我尝试使用 chrome 和 postman 使用 content-type = application/json 来拉它。
[{
"relation": ["delegate_permission/common.handle_all_urls"],"target": {
"namespace": "android_app","package_name": "<package_id>","sha256_cert_fingerprints":
["<hashOfKey1>"]
}
},{
"relation": ["delegate_permission/common.handle_all_urls"],"sha256_cert_fingerprints":
["<hashOfKey2>"]
}
},"sha256_cert_fingerprints":
["<hashOfKey3>"]
}
}
]
此外,intent-filter 数据中的主机是使用 manifestPlaceholders(似乎工作正常)指定的,如下所示:
<data
android:host="${hostName}"
android:path="/dashboard/profile/private"
android:scheme="https"
/>
问题 当我构建调试(与登台服务器对话)应用程序时,应用程序可以很好地处理登台 url。但是当我构建发布应用程序时(我尝试通过签署自定义调试密钥和上传密钥),应用程序不处理生产网址。
我无法弄清楚它对生产链接不起作用。
解决方法
在寻找找到确切问题的方法后,我找到了标准工具。
https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://
问题是我指定了 example.com
并且内部 assetlinks.json 请求被重定向并由 www.example.com
(我不知道)提供服务。当我使用提到的工具时,它告诉我不允许重定向。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。