Ionic Android App链接(深层链接)

时间:2017-08-09 17:56:04

标签: android ionic2 deep-linking

我设置了深层链接,特别是App links,到目前为止,当用户输入所需的网址https://myapp.com并且他们安装了应用时(应用已经签名),它只是在浏览器中打开。

我已经能够设置自定义网址方案,如果用户安装了应用,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

中的以下约束来访问该文件
  1. assetlinks.json文件与content-type application / json一起提供。 我已验证标头是否返回此内容类型
  2. 无论您的应用的意图过滤器是否将HTTPS声明为数据方案,都必须可以通过HTTPS连接访问assetlinks.json文件。 该文件可通过https
  3. 获取
  4. 必须可以访问assetlinks.json文件,不需要任何重定向(没有301或302重定向),并且可以通过机器人访问(您的robots.txt必须允许抓取/.well-known/assetlinks.json).不应该有任何直接https://myapp.com访问权限的重定向。我假设机器人可以访问该网址,因为我还没有设置robots.txt文件来防止此时访问
  5. 如果您的应用链接支持多个主机域,则必须在每个域上发布assetlinks.json文件。请参阅支持多个主机的应用链接。 不支持多个主机域
  6. 不要在清单文件中使用dev / test URL发布您的应用程序,这些URL可能无法被公众访问(例如任何只能通过VPN访问的访问者)。在这种情况下,解决方法是配置构建变体以为开发构建生成不同的清单文件。 虽然列出了多个域(测试版和生产域),但它们可供公众使用
  7. 我试图找出可能存在的问题。 myapp.com是否也需要在没有重定向的情况下可用?我会假设,如果我与https://链接相关联,那么它不会成为一个问题,但是验证的机器人可能不会使用https版本的链接?

    可能阻止应用链接连接的任何想法?

1 个答案:

答案 0 :(得分:0)

问题最终成为我测试应用链接的方式。我使用codepen来测试点击一个看似应该工作的链接,因为它适用于自定义网址方案。

解决方案是使用常规共享方法(如电子邮件或消息)并选择链接。应用程序链接然后按预期工作。