iOS通用链接

概述

分行使得使用通用连接简单,同时对他们大大提高了通过提供完整的归属地,支撑边缘情况下,通用链路出现故障,并允许您深层链接,当用户没有按'吨有安装在您的应用程序。

设置通用链接

  1. 首先,您需要在“分支”仪表板上启用“通用链接”。去做这个:
    一个。导航到“分支仪表板”中的Configuration页。
    b。选中从iOS重定向到Enable Universal Links的框。
    C。输入您应用的捆绑包标识符。
    d。键入您的Apple App前缀(可通过在Apple开发人员门户中的此页面上单击您的应用来找到)。
    e。向下滚动并单击保存按钮。

  2. 在这里,您可以通过以下方式在Xcode中启用关联域:
    一个。转到项目文件的Capabilities选项卡。
    b。向下滚动并启用Associated Domains
    C。如果在执行此步骤后看到错误,请检查:

    1. 为您的Xcode项目选择了合适的团队。
    2. Xcode项目的捆绑包标识符与用于向Apple注册应用程序标识符的捆绑包标识符匹配。
  3. 通过以下方式添加分支链接域:
    一个。在Configuration页上,找到“链接域”部分。
    b。复制您的域名。
    C。在“域”部分中,单击+图标并添加以下条目:(确保xxxx与您已为自己分配或选择的子域前缀匹配)

    • applinks:xxxx.app.link
    • applinks:xxxx-alternate.app.link
    • 应用链接:xxxx.test-app.link
    • applinks:xxxx-alternate.test-app.link

🚧

支持旧版链接

如果“默认域名”框显示旧版bnc.lt 域,则应改用以下条目: applinks:bnc.lt

📘

使用自定义域还是子域?

如果您使用自定义的域或子域为您的分公司联系,则应该添加条目applinks:[mycustomdomainorsubdomain]XXXX.app.linkXXXX-alternate.app.link 。如果您不确定分支机构分配的app.link子域,请与我们的支持团队联系,我们可以提供它。

Apps/Browsers That Support Universal Links

不幸的是,Universal Links在任何地方都不会起作用'吨。我们在这里汇总了一些热门应用的通用链接支持状态。

Apps That Always Work

如果您在以下应用程序之一中打开通用链接,它应该一直正常工作:

  • Messages
  • 邮件
  • WhatsApp的
  • Gmail邮箱
  • 收件箱

Apps Limited by Apple

苹果在某些情况下限制了通用链接:

  • 如果将链接粘贴到浏览器URL字段中,则通用链接将不起作用。
  • 如果用户驱动的<a href="..."> 元素单击同一域,则通用链接将不起作用。例如,如果google.com上有一个通用链接指向google.com上的另一个通用链接,它将不会打开该应用程序。
  • 除非它是用户操作的一部分,否则无法通过Javascript(在window.onload<a> 元素上的.click() 调用)触发通用链接。

有条件运行的应用/浏览器:

  • 苹果浏览器
  • Chrome

Apps That Work Sometimes

具有内置Web视图的应用程序(Google,Twitter,Facebook,Facebook Messenger,微信等)仅在Web视图已打开时才能与Universal Links一起使用。换句话说,通用链接在Feed或主应用程序视图中均无法在应用程序内运行。
要解决此限制,您的链接必须启用Deepviews或类似的功能,并带有号召性用语链接或带有通用链接的按钮。这样,单击应用程序供稿中的链接将打开一个包含您的Deepview页面的Web视图,然后用户可以单击链接/按钮以启动您的应用程序。 Apple的所有限制(在上一节中)仍然适用于Deepview页面。

有条件运行的应用/浏览器:

  • 谷歌
  • Facebook
  • Facebook Messenger
  • 微信
  • Twitter
  • 领英
  • 任何使用 SFSafariViewController

Apps with Special Cases

如果配置为在Safari中打开链接,则Slack可以工作。否则,它会像上述部分一样有条件地工作。

Apps that Do Not Work

  • Instagram的
  • Pinterest
  • 电报

Common Issues That Cause Universal Links to Fail

您可以使用Universal Links Validator来检查Xcode项目是否正确配置。

您是否通过手动进入Safari进行测试? 通用链接不要'顺利活动时进入Safari浏览器。使用Notes或iMessage进行测试。
您是否将Branch链接与另一个链接一起包装并重定向? 在大多数情况下,通过点击跟踪链接将通用链接"包裹"时,通用链接不会打开该应用' 。通用链接(包括Branch链接)必须是独立的。如果您希望通用链接在所有情况下都能正常工作,请不要使用其他重定向到Branch链接的链接。
您的Team ID & Bundle ID与您的仪表板上的ID匹配吗? 您可以在[Configuration](dashboard.branch.io/configuration/general)页上的“控制台”中的“启用通用链接”旁边的iOS部分中找到它们。它们应与您的团队ID和捆绑包ID相匹配。可以在这里https://developer.apple.com/membercenter/index.action#accountSummary找到团队ID。您的Bundle ID在Xcode的**General**选项卡中找到正确的构建目标。如果您的Apple App Prefix与团队ID不同,则应使用App Prefix。您的应用程序前缀可以从Apple开发人员门户上的应用程序ID中找到。
您是否删除了该应用程序并重新安装? iOS does not re-scrape the Apple-app-site-association file unless you delete and reinstall the app. (The only exception to this is App Store updates. iOS does rescrape on every update. This means that when users update to a version of your app with the Applinks entitlement, Universal Links will start working for them.)
通用链接可以禁用 如果您通过通用链接成功进入了您的应用程序,则'在状态栏的右上角看到" app.link " (或您的域)和一个前进按钮。如果您单击该按钮,Apple将来将不再激活通用链接。要重新启用通用链接,请长按“消息”(仅由于10中的iMessage改进而仅iOS 9)或Notes(iOS 10/9)中的链接,然后选择'在APP '打开。
使用自定义域? 确保正确配置。您可以使用[Universal Link Validator](https://branch.io/resources/universal-links)查找配置问题。 如果您的域未正确设置SSL,则会在操作系统级日志中显示以下错误消息:
Sep 21 14:27:01 Derricks-iPhone swcd[2044] : 2015-09-21 02:27:01.878907 PM [SWC] ### Rejecting URL 'https://examplecustomdomain.com/apple-app-site-association' for auth method 'NSURLAuthenticationMethodServerTrust': -6754/0xFFFFE59E kAuthenticationErr

通过导航到Window > Devices >选择您的设备,然后点击主视图左下角的" up "箭头,可以找到连接到Xcode的物理设备的这些日志。

如果您使用的是自定义子域,则您的CNAME应该指向“分支”仪表板中“ 配置”下的custom.bnc.lt

2个月前更新


iOS通用链接


建议的编辑仅限于API参考页

您只能建议对Markdown正文内容进行修改,而不能建议对API规范进行修改。