以编程方式添加关联域

时间:2018-04-17 11:25:42

标签: ios ios-universal-links

我的客户端有一个本机移动应用程序,后端安装在自己的服务器上。

当客户在移动应用上注册时,他们必须写入用户,密码和服务器的URL。有时后端发送带链接的邮件,我想实现Deep Links(Android)和Universal Links(iOS)。

Android非常简单,因为我可以在intent-filter上使用通配符,但这在iOS上是不可能的,我不能在com.apple.developer.associated-domains权利上拥有一个巨大的域名列表。

因此,在iOS应用程序端,我想在用户注册并编写服务器URL时将相关域添加到权利列表中。这可能吗?或者关联域的唯一方法是在编译之前?有替代解决方案吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,Universal Links仅用于将您的应用与您的网站相关联(更多是一对一关系),因此它们无法提供太多功能来以编程方式添加域。

我建议在这些链接上使用URI方案重定向,因为您确信用户已经安装了该应用。将此添加到您希望具有深层链接的关联链接的标题中。 如果未安装该应用,则会显示错误消息。对于此错误消息,分支有solution

<head>
  <script type="text/javascript">
    var userAgent = window.navigator.userAgent;
    if (userAgent.match(/iPad/i) || userAgent.match(/iPhone/i)) {
      window.location = "youriosapp://"
    }
  </script>
</head>