adjust-icon

设置直接深度链接

当已安装应用的用户点击 Adjust 链接时,直接深度链接可确保将用户直接转到应用内的特定内容。

设置

iOS 提供了多种接收直接深度链接的方法,具体取决于应用的实施方式。

在这些方法中,您将使用下列其中一种方法将深度链接传递给 Adjust SDK:

使用processDeeplink(_:completionHandler:)方法,该方法会执行以下操作:

  • 记录深度链接点击的归因
  • 品牌化短链接解析为其等效的品牌化长链接
  • 按原样透传所有其他链接

然后,应用可以通过解析已解析的链接并跳转至相应的界面来处理该链接。可以使用此方法处理所有深度链接,包括 Adjust 品牌化长链接、其他通用链接以及应用 Scheme 深度链接。

方法签名
+ (void)processDeeplink:(nonnull NSURL *)deeplink
completionHandler:(void (^_Nonnull)(NSString * _Nonnull resolvedLink))completionHandler;

如果您使用的不是短品牌化链接,那么 appWillOpen(_:) 方法就会记录来自深度链接点击的归因。

方法签名
+ (void)appWillOpenUrl:(nonnull NSURL *)url;

processDeeplink(_:completionHandler:) 方法会取代该遗留方法。

实施

使用与应用结构相符的实施方式:

使用 AppDelegate 生命周期的 UIKit 应用

更新 AppDelegate 以实施 iOS 直接深度链接方法。

使用 SceneDelegate 生命周期的 UIKit 应用

更新 SceneDelegate 以实施 iOS 直接深度链接方法。

使用 AppDelegate 生命周期的 SwiftUI 应用

如果尚未在项目的主目录中创建 AppDelegate.swift 文件,请立即执行此操作,并在主应用文件中加以引用,如以下 App.swift 示例文件所示。这是处理应用生命周期事件和 Adjust SDK 集成的必要步骤。此外,实施 onOpenURL SwiftUI 修饰符,该修饰符在应用安装时接收通用链接和应用 Scheme 深度链接。

使用 SceneDelegate 生命周期的 SwiftUI 应用

按照“使用 AppDelegate 生命周期的 SwiftUI 应用”栏中的说明进行操作。安装应用后,onOpenURL SwiftUI 修饰符会接收通用链接和应用 Scheme 深度链接,并且该链接会在后台或前台状态中打开相关应用。

此外,从“使用 SceneDelegate 生命周期的 UIKit 应用”栏实施scene(_:willConnectTo:options:)方法。此方法会在安装应用后接收通用链接和应用 Scheme 深度链接,并且该链接会在“未运行”状态中打开相关应用。

前台导航

如果您将 Adjust 深度链接放置在自己的应用中,例如促销横幅或产品推荐等,请不要对其调用 UIApplication.open(_:options:completionHandler:) 或 SwiftUI 的 openURL 。iOS 会在 Safari 中打开应用的通用链接,不会在应用内发送这些链接。请改为通过 processDeeplink 发送链接,然后使用与本页所述相同的处理路径,发送已解析的深度链接。