在 Adjust 控制面板中完成设置后,您就可以在应用中配置深度链接。如果用户的设备上已经安装了应用,就会发生 直接深度链接 。该链接会将用户转到应用内的特定界面。
要启用深度链接,请进行下列操作:
启用 Associated Domain
开始设置时,请在 Apple Developer 账户中启用 Associated Domain (关联域),这样,您就能在应用中设置通用链接域了。为此,请按照以下步骤操作:
- 登录 Apple Developer 账户。
- 从左侧菜单中选择 Certificates, IDs & Profiles 。
- 从左侧菜单中选择 Identifiers 。
- 找到并选中您的应用,打开编辑界面。
- 确保勾选 Capabilities 下的 Associated Domains 。
- 点击 保存 ,保存变更。
按照下方步骤操作,在您的 Xcode 项目中添加深度链接配置。
Adjust 通用链接域名
-
使用 XCode 打开您的应用项目。
-
从左侧菜单中选择您的项目。
-
在 Targets 中选择您的应用。
-
从顶部菜单中选择 Signing & Capabilities 。
-
确保在下方子菜单中选定 All 。
-
选择添加选项 ( + 图标) 添加功能。
-
选择 Associated Domains 。
-
填写带有前缀的 Adjust 通用链接域名 applinks:
example.adj.st
域使用示例:applinks:example.adj.st
。
-
输入您在 Adjust 中为应用设置品牌化域名时设置的品牌化链接域名。
brandedDomain.go.link
域使用示例:brandedDomain.go.link
。
如果您已经在使用xxx.adj.st
作为通用链接域名,请不要将其移除。请将xxx.adj.st
和brandedDomain.go.link
继续保持为关联域名。
自定义 URL 方案
- 使用 XCode 打开您的应用项目。
- 从左侧菜单中选择您的项目。
- 在 Targets 中选择您的应用。
- 从顶部菜单中选择 Info 。
- 展开 URL Types 板块。
- 选择添加选项 ( + 图标) 添加 URL 类别。
- 输入下列信息,以创建 URL 方案:
- 标识符 :
$(PRODUCT_BUNDLE_IDENTIFIER)
- URL 方案 :您的自定义 URL 方案。该方案必须是唯一的。请勿使用受保护的方案,如
http
,https
或 mailto
。
- 角色 :编辑员
该方案适用于您的生产版本 和 调试版本。
修改 iOS 应用
要设置不同的深度链接场景,您需要先更新 iOS 应用。具体应用更新方式取决于您的应用是否使用场景。
不使用场景的应用
如果您的应用不使用场景,请在应用委托中更新方法。
通用链接
请在应用委托中更新 application(_:continue:restorationHandler:)
方法,调用 Adjust SDK 中的下列方法:
ADJLinkResolution.resolveLink
: 仅在营销团队需要使用 Adjust 链接解析解决方案时调用。如果深度链接使用的域与resolveUrlSuffixArray
中的某一元素相匹配,那么方法将会尝试解析深度链接,并返回已解析的链接;如果没有匹配,那么方法就会通过最初的深度链接,您可以将所有深度链接传送至该方法。
Adjust.appWillOpen
调用该方法,向 Adjust 服务器发送深度链接,用于记录信息。Adjust 和非 Adjust 深度链接均可以发送给该方法。Adjust 服务器会忽略不包含 Adjust 参数的所有深度链接。
无论用户是否已经关闭应用,或应用是否在后台运行,只要用户点击您的通用链接,iOS 就会打开您的应用,将深度链接传送至 application(_:continue:restorationHandler:)
。
自定义 URL 方案
如果营销团队要求您设置自定义 URL 方案深度链接,请更新应用委托中的 application(_:open:options:)
方法,在 Adjust SDK 中调用 Adjust.appWillOpen
方法。该方法会将深度链接发送至 Adjust 后台用于记录。Adjust 和非 Adjust 深度链接均可以发送给该方法。Adjust 会忽略不包含 Adjust 参数的所有深度链接。
无论用户是否已经关闭应用,或应用是否在后台运行,只要用户点击自定义 URL 方案深度链接,iOS 就会打开您的应用,将深度链接传送至 application(_:open:options:)
。
使用场景的应用
如果您的应用使用场景,请在场景委托中更新方法。
通用链接
- 在 scene delegate (场景委托) 中更新
scene(_:willConnectTo:options:)
方法。如果用户在已关闭应用的前提下点击通用链接,那么 iOS 就会打开应用,将深度链接传递给该方法。
- 在 scene delegate (场景委托) 中更新
scene(_:continue:)
方法。如果用户在应用后台运行的前提下点击通用链接,那么 iOS 就会打开应用,将深度链接传递给该方法。
上述方法会调用 Adjust SDK 中的下列方法:
ADJLinkResolution.resolveLink
: 仅在营销团队需要使用 Adjust 链接解析解决方案时调用。如果深度链接使用的域与resolveUrlSuffixArray
中的某一元素相匹配,那么方法将会尝试解析深度链接,并返回已解析的链接;如果没有匹配,那么方法就会通过最初的深度链接,您可以将所有深度链接传送至该方法。
Adjust.appWillOpen
- 调用该方法,向 Adjust 服务器发送深度链接,用于记录信息。Adjust 和非 Adjust 深度链接均可以发送给该方法。Adjust 会忽略不包含 Adjust 参数的所有深度链接。
自定义 URL 方案
- 在 scene delegate (场景委托) 中更新
scene(_:willConnectTo:options:)
方法。如果用户在已关闭应用的前提下点击自定义 URL 方案深度链接,那么 iOS 就会打开应用,将深度链接传递给该方法。
- 在 scene delegate (场景委托) 中更新
scene(_:openURLContexts:)
方法。如果用户在应用后台运行的前提下点击自定义 URL 方案深度链接,那么 iOS 就会打开应用,将深度链接传递给该方法。
这些方法会在 Adjust SDK 中调用 Adjust.appWillOpen
方法。该方法会将深度链接发送至 Adjust 后台用于记录。Adjust 和非 Adjust 深度链接均可以发送给该方法。Adjust 会忽略不包含 Adjust 参数的所有深度链接。