Apple Universal Links

概述

Branch 使得使用 Universal Links 变得更加简单,同时提供全面归因,支持个别案例情况,并在用户没有安装应用时允许您进行深度链接。

12641264

设置 Universal Links

  1. To get started, you’ll need to enable Universal Links on the Branch dashboard. To do this:
    a. Navigate to Configuration page in the Branch Dashboard.
    b. Check the box to Enable Universal Links from iOS redirects.
    c. Type in your App’s Bundle Identifier. (Learn more on this page )
    d. Type in your Apple App Prefix (found by clicking your app on this page in Apple's Developer Portal).
    e. Scroll down and click on the Save button.

  2. 在这里,您可以通过以下方式在 Xcode 中启用 Associated Domain:
    a. 转到项目文件的Capabilities标签。
    b. 向下滚动并启用Associated Domains
    c. 如果在执行此步骤后看到错误,请检查:

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

    • applinks:xxxx.app.link
    • applinks:xxxx-alternate.app.link
    • applinks:xxxx.test-app.link
    • applinks:xxxx-alternate.test-app.link

🚧

支持旧版链接

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

📘

使用自定义域还是子域?

If you use a custom domain or subdomain for your Branch links, you should instead add entries for applinks:[mycustomdomainorsubdomain], XXXX.app.link and XXXX-alternate.app.link. If you're unsure of your Branch-assigned app.link subdomain, contact our support team, and we can provide it.

支持 Universal Links 的应用/浏览器

Universal Links 不可用。我们在这里汇总了一些热门应用的 Universal Links 支持状态。

始终有效的应用

如果您在以下应用之一中打开 Universal Link,应该可以一直正常工作:

  • Messages
  • Mail
  • WhatsApp
  • Gmail
  • Inbox

Apple 限制的应用

Apple 在某些情况下限制了 Universal Links:

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

Apps/Browsers that work conditionally:

  • Safari
  • Chrome

有时可以运行的应用

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

Apps/Browsers that work conditionally:

  • Google
  • Facebook
  • Facebook Messenger
  • WeChat
  • Twitter
  • LinkedIn
  • Any app using SFSafariViewController

具有特殊情况的应用

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

无法使用的应用

  • Instagram
  • Pinterest
  • Telegram

导致 Universal Links 失败的常见问题

您是否通过手动进入 Safari 进行测试? 进入 Safari 时,Universal Links 无法正常工作。使用 Notes 或 iMessage 进行测试。
您是否将 Branch Links 与另一个链接一起包装并重定向? 在大多数情况下,通过点击追踪链接将 Universal Links "包裹"时,Universal Links 不会打开该应用。Universal Links(包括 Branch Link)必须是独立的。如果您希望 Universal Links 在所有情况下都能正常工作,请不要使用其他重定向到 Branch Link 的链接。
您的 Team ID & Bundle ID 与您操作后台 (Dashboard)上的 ID 匹配吗? 您可以在[Configuration](dashboard.branch.io/configuration/general)页面的操作后台 (Dashboard)中,“启用 Universal Link” 旁边的 iOS 部分中找到它们。它们应与您的 Team ID 和 Bundle ID 相匹配。Team ID 可以在 https://developer.apple.com/membercenter/index.action#accountSummary 找到。您的 Bundle ID 可在 Xcode 中找到,它在正确的构建目标的**General**标签。如果您的 Apple App Prefix 与 Team ID不同,您应使用 App Prefix。您的 App Prefix 可以从 Apple 开发者门户上的 App ID 中找到。
您是否删除了该应用并重新安装? 除非您删除并重新安装该应用,否则 iOS 不会重新抓取 apple-app-site-association 文件。 (唯一的例外是 App Store 更新。iOS 会在每次更新时重新抓取。这意味着,当用户使用授权的应用链接更新到您的应用版本时,Universal Links 将开始工作。)
Universal Links 可以禁用 如果您通过 Universal Link 成功进入了您的应用,则在状态栏的右上角看到 "app.link " (或您的域)和一个 forward 键。如果您点击该键,Apple 将不再激活 Universal Link。要重新启用 Universal Link,请长按“消息”(由于10中的 iMessage 改进而仅限 iOS 9)或 Notes(iOS 10/9)中的链接,然后选择 'Open in APP'。
使用自定义域? Make sure it's configured correctly. The following error message will appear in your OS-level logs if your domain doesn't have SSL set up properly:
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 的设备的日志。

If you're using a custom subdomain, your CNAME should point to custom.bnc.lt under Configuration in the Branch dashboard.


这个页面对您有帮助吗?