adjust-icon

深度链接

您可以创建深度链接来将用户转到应用中的特定页面。针对用户是否已在设备上安装您的应用,Adjust SDK 会使用不同的逻辑:

  • 直接深度链接:用于用户已经安装应用的情况。用户会被转向链接中指定的页面。
  • 如果用户尚未安装应用,那么就会发生延迟深度链接。链接首先会将用户转向应用商店页面来安装应用。用户安装后,就会被带到链接中指定的页面。

用户通过链接打开应用后,SDK 就可以读取深度链接数据了。

设置深度链接

如果用户已经安装了您的应用,那么在与包含深度链接信息的链接互动时,应用就会打开。Adjust SDK 中包含的工具能够解析深度链接信息,在应用中使用。

您需要在应用层级上设置深度链接。请按照下方链接中的说明,在您的目标平台上设置深度链接:

要对用户进行再归因,您需要使用深度链接 URL 实例化一个ADJDeeplink/AdjustDeeplink对象并将其传递至Adjust.processDeeplink方法。这样,Adjust SDK 就会在深度链接中寻找新的归因信息。如果 SDK 找到新信息,就会将其转发至 Adjust 服务器进行再归因。

延迟深度链接

属性声明
bool? isDeferredDeeplinkOpeningEnabled;

SDK 默认自动打开延迟深度链接。无需额外设置。将 config 示例上的 isDeferredDeeplinkOpeningEnabled 属性设为 false ,即可禁用该设置。

AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);
//...
adjustConfig.isDeferredDeeplinkOpeningEnabled = false;
//...
Adjust.initSdk(adjustConfig);
属性声明
typedef void DeferredDeeplinkCallback(String? deeplink);
DeferredDeeplinkCallback? deferredDeeplinkCallback;

您可以向 config 实例 deferredDeeplinkCallback 属性添加一个函数,以此配置 Adjust SDK,使其在收到延迟深度链接时调用一个函数。该函数会以 String 参数的形式接收深度链接。

AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);
adjustConfig.deferredDeeplinkCallback = (String? deeplink) {
print('[Adjust]: Received deferred deeplink: ' + deeplink);
};
Adjust.initSdk(adjustConfig);

示例

该示例展示了如何在用户打开延迟深度链接时记录深度链接地址。

import 'package:adjust_sdk/adjust.dart';
import 'package:adjust_sdk/adjust_config.dart';
initPlatformState() async {
AdjustConfig config =
new AdjustConfig('2fm9gkqubvpc', AdjustEnvironment.sandbox);
config.logLevel = AdjustLogLevel.verbose;
config.deferredDeeplinkCallback = (String? uri) {
print('[Adjust]: Received deferred deeplink: ' + uri!);
};
Adjust.initSdk(config);
}

启用 LinkMe

属性声明
bool? isLinkMeEnabled;

通过 Adjust SDK,您可以从设备剪贴板复制深度链接信息。配合Adjust LinkMe 解决方案使用时,该功能可在 iOS 15 及更高版本操作系统中设置延迟深度链接。

当用户点击 LinkMe URL 时,可以选择将链接信息复制到剪贴板。您可以使用 Adjust SDK 读取系统剪贴板,获取深度链接信息。如果含有深度链接信息,SDK 就会将用户转到应用中的正确页面。

要在您的应用中开启剪贴板查看,请将 config 对象的 isLinkMeEnabled 属性值设置为 true

AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);
//...
adjustConfig.isLinkMeEnabled = true;
//...
Adjust.initSdk(adjustConfig);