您可以创建深度链接来将用户转到应用中的特定页面。针对用户是否已在设备上安装您的应用,Adjust SDK 会使用不同的逻辑:
- 直接深度链接:用于用户已经安装应用的情况。用户会被转向链接中指定的页面。
- 如果用户尚未安装应用,那么就会发生延迟深度链接。链接首先会将用户转向应用商店页面来安装应用。用户安装后,就会被带到链接中指定的页面。
用户通过链接打开应用后,SDK 就可以读取深度链接数据了。
设置深度链接
如果用户已经安装了您的应用,那么在与包含深度链接信息的链接互动时,应用就会打开。Adjust SDK 中包含的工具能够解析深度链接信息,在应用中使用。
SDK 会向安卓和 iOS 项目注入必要的设置。要配置深度链接,请在 Unity Editor inspector 窗口中添加 URL 方案
iOS 深度链接
运行 iOS 9 或更新版本的设备会使用通用链接处理深度链接。您需要在应用中添加通用链接方案,才能在应用中打开深度链接。为此,请进行下列操作:
- 在 Adjust 控制面板中设置通用链接。
- 在 Apple Developer Portal 中配置应用 Associated Domains 。
- 打开 Unity Editor。
- 找到 Adjust prefab 的 DEEP LINKING 界面。
- 在 iOS Universal Links Domain 字段中输入 (一个或多个) 通用链接。请务必从链接开头移除协议 (例如
https://
或applinks:
)。
安卓深度链接
安卓设备使用独特的 URI 方案处理深度链接。要设置深度链接,请在 Adjust prefab 的 Android URI Schemes 界面添加方案。SDK 会将必要的 XML 标签添加至您的 AndroidManifest.xml
。
延迟深度链接
禁用延迟深度链接打开
public bool? IsDeferredDeeplinkOpeningEnabled { get; set; }
Adjust SDK 默认自动打开延迟深度链接。您可以通过向AdjustConfig
实例的IsDeferredDeeplinkOpeningEnabled
属性指定false
值来禁用此功能。
AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", AdjustEnvironment.Sandbox);//...adjustConfig.IsDeferredDeeplinkOpeningEnabled = false;//...Adjust.InitSdk(adjustConfig);
设置延迟深度链接委托
public Action<string> DeferredDeeplinkDelegate { get; set; }
您可以配置 Adjust SDK,使其在接收到延迟深度链接时调用一个委托函数。委托函数会以 string
参数的形式接收深度链接。
private void DeferredDeeplinkCallback(string deeplinkURL) { //...}
AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", AdjustEnvironment.Sandbox);adjustConfig.DeferredDeeplinkDelegate = DeferredDeeplinkCallback;Adjust.InitSdk(adjustConfig);
示例
该示例展示了如何在用户打开延迟深度链接时记录深度链接地址。
private void LogDeepLink(string deepLinkURL) { Debug.Log("Deeplink URL: " + deeplinkURL);}//...AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", AdjustEnvironment.Sandbox);adjustConfig.DeferredDeeplinkDelegate = LogDeepLink;//...Adjust.InitSdk(adjustConfig);
通过深度链接进行再归因
public static void ProcessDeeplink(AdjustDeeplink deeplink);
Adjust 支持您使用深度链接开展再交互推广活动。要了解更多信息,请查看如何在 Campaign Lab 中设置深度链接。
要对用户进行再归因,您需要使用深度链接 URL 实例化一个AdjustDeeplink
对象并将其传递至Adjust.ProcessDeeplink
方法。这样,Adjust SDK 就会在深度链接中寻找新的归因信息。如果 SDK 找到新信息,就会将其转发至 Adjust 服务器进行再归因。
AdjustDeeplink adjustDeeplink = new AdjustDeeplink("url");Adjust.ProcessDeeplink(adjustDeeplink);
启用 LinkMe
public bool? IsLinkMeEnabled { get; set; }
通过 Adjust SDK,您可以从设备剪贴板复制深度链接信息。配合Adjust LinkMe 解决方案使用时,该功能可在 iOS 15 及更高版本操作系统中设置延迟深度链接。
当用户点击 LinkMe URL 时,可以选择将链接信息复制到剪贴板。您可以使用 Adjust SDK 读取系统剪贴板,获取深度链接信息。如果含有深度链接信息,SDK 就会将用户转到应用中的正确页面。
要在您的应用中开启剪贴板查看,请向AdjustConfig
实例的IsLinkMeEnabled
属性指定一个true
值。
AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", AdjustEnvironment.Sandbox, true);//...adjustConfig.IsLinkMeEnabled = true;//...Adjust.InitSdk(adjustConfig);