【发布时间】:2017-08-09 17:56:04
【问题描述】:
我正在设置深度链接,特别是 App links,到目前为止,当用户输入所需的 URL https://myapp.com 并且他们安装了应用程序(应用程序已签名)时,它只会在浏览器中打开。
如果用户安装了应用程序,我已经能够设置自定义 URL 方案,myappcustom://app 可以正常工作。
可以在https://myapp.com/.well-known/assetlinks.json 获得域验证,无需重定向
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.slatedev.notis",
"sha256_cert_fingerprints":
["E5:64:86:D6:EE:F8:1B:72:2F:55:B0:21:98:8B:0B:C8:C5:22:D4:98:08:7E:61:23:B1:A5:6A:1B:68:E0:C0:71"]
}
}]
我知道该文件必须可以通过 Android Verification Webpage 的以下约束访问
- assetlinks.json 文件使用内容类型 application/json 提供。 我已验证标头正在返回此内容类型
- assetlinks.json 文件必须可通过 HTTPS 连接访问,无论您的应用程序的意图过滤器是否将 HTTPS 声明为数据方案。 该文件可通过 https 获得
- assetlinks.json 文件必须可以在没有任何重定向的情况下访问(没有 301 或 302 重定向)并且可以被机器人访问(您的 robots.txt 必须允许抓取 /.well-known/assetlinks.json)。不应该有任何直接https://myapp.com 访问的重定向。我假设机器人可以访问该 url,因为我还没有设置 robots.txt 文件来阻止访问
- 如果您的应用链接支持多个主机域,那么您必须在每个域上发布assetlinks.json 文件。请参阅支持多个主机的应用链接。不支持多个主机域
- 不要在清单文件中发布您的应用程序,其中包含可能无法让公众访问的开发/测试 URL(例如任何只能通过 VPN 访问的应用程序)。在这种情况下,一种解决方法是配置构建变体以为开发构建生成不同的清单文件。 虽然列出了多个域(测试版和生产域),但它们可供公众使用
我正在尝试找出可能是什么问题。 myapp.com 是否也需要在没有重定向的情况下可用?我会假设如果我使用 https:// 链接进行连接,这不会是一个问题,但也许命中验证的机器人不使用链接的 https 版本?
有什么想法可能会阻止应用链接连接吗?
【问题讨论】:
-
when a user enters the desired url他们是否将网址粘贴到网络浏览器搜索栏中?如果是这样,不启动您的应用程序并留在浏览器上是预期的行为。 -
问题最终是我测试它的方式
标签: android ionic2 deep-linking