adjust-icon

集成指南

参考这篇分步指南,在 Android 端 Adobe Experience 应用中集成和配置 Adjust Extension,并通过该扩展无缝集成 Adjust 和 Adobe Experience SDK,捕捉并发送归因数据和应用内事件信息。

通过该扩展,您可以向 Adjust 发送安装、会话、自定义应用内事件和其他类型的数据。参考本指南,设置和配置 Adjust Extension,并验证您是否能向 Adjust 正常发送安装信息。

设置您的项目

按照以下步骤操作,设置您的项目,支持适用于 Adobe Experience SDK 的 Adjust Extension。

安装 Adjust Extension

要开始使用针对 Adobe Experience SDK 的 Adjust Extension,您首先要以依赖形式,将 Extension 添加至项目中。相关包可通过 Maven 获取。

添加下列行至您的 build.gradle 文件:

com.adjust.adobeextension:adobeextension

适用于 Adobe Experience 的 Adjust Extension。

com.adjust.sdk:adjust-android

Adjust Android SDK。

com.android.installreferrer:installreferrer

Android Install Referrer API。

dependencies {
implementation 'com.adjust.adobeextension:adobeextension:3.0.0'
implementation 'com.adjust.sdk:adjust-android:5.4.2'
implementation 'com.adobe.marketing.mobile:core:3.2.0'
implementation 'com.android.installreferrer:installreferrer:2.2'
}

添加 Google Play 服务

定向到 Google Play 商店的应用必须使用gps_adid(Google 广告 ID) 来识别设备。要访问 gps_adid,请将 play-services-ads-identifier AAR 添加至您的项目。

如果您使用的是 Maven,请将 com.google.android.gms:play-services-ads-identifier 实装添加到 build.gradle 文件。

dependencies {
implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
}

配置许可权限

针对 Adobe Experience SDK 的 Adjust Extension 已默认包含所有必要的权限许可。您无需为扩展添加任何权限。

如果您要让应用符合 COPPA (儿童在线隐私保护法) 规定,或者应用并不面向 Google Play 商店,请务必在您的 AndroidManifest.xml 文件中使用 remove 命令移除 com.google.android.gms.permission.AD_ID 权限。

<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>

集成指南

完成项目设置后,您就可以按照下列指南,集成 Adjust SDK 了:

  1. 将 Adjust Extension 添加至您的 Adobe Experience 应用。
  2. 请将日志级别设置为 详细 ,以便从 Extension 中调取尽可能多的信息。
  3. sandbox 模式下测试 Extension,确保数据能正常发送至 Adjust。
  4. 允许应用打开深度链接。
  5. 注册 Adobe Experience SDK。

为此,您需要创建两个文件:

  • MainApp.java: 在此文件中配置并注册 Adjust SDK。
  • MainActivity.java: 在此文件中配置深度链接处理方法。

导入类

首先,您需要将一些类导入到应用程序文件中。请将以下类导入您的 MainApp.java 文件:

android.app.Application

用于创建主应用程序。

android.util.Log

用于输出日志。

com.adjust.adobeextension.AdjustAdobeExtension

用于注册 Adjust Extension。

com.adjust.adobeextension.AdjustAdobeExtensionConfig

用于配置 Adjust Extension。

com.adobe.marketing.mobile.AdobeCallback

在注册扩展时使用。

com.adobe.marketing.mobile.Extension

用于创建扩展列表。

com.adobe.marketing.mobile.Analytics

用于在 Adobe Experience SDK 中启用数据分析。

com.adobe.marketing.mobile.Identity

用于在 Adobe Experience SDK 中管理用户身份。

com.adobe.marketing.mobile.LoggingMode

用于在 Adobe Experience SDK 中配置日志。

com.adobe.marketing.mobile.MobileCore

用于与 Adobe Experience SDK 的通讯。

MainApp.java
import android.app.Application;
import android.util.Log;
import com.adjust.adobeextension.AdjustAdobeExtension;
import com.adjust.adobeextension.AdjustAdobeExtensionConfig;
import com.adobe.marketing.mobile.AdobeCallback;
import com.adobe.marketing.mobile.Extension;
import com.adobe.marketing.mobile.Analytics;
import com.adobe.marketing.mobile.Identity;
import com.adobe.marketing.mobile.LoggingMode;
import com.adobe.marketing.mobile.MobileCore;

请将以下类导入您的 MainActivity.java 文件:

android.content.Intent

用于从 Android 获取操作 intent

android.net.Uri

用于输入深度链接。

android.os.Bundle

用于输入应用的已保存实例状态。

android.view.View

用于输入应用的视图。

androidx.appcompat.app.AppCompatActivity

用于创建主要活动。请参考 AppCompatActivity 文档

com.adjust.sdk.Adjust

用于访问 Adjust API。

com.adjust.sdk.AdjustDeeplink

用于创建 Adjust 深度链接。

MainActivity.java
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import com.adjust.sdk.Adjust;
import com.adjust.sdk.AdjustDeeplink;

创建全局 Application 类

为 Adobe Experience SDK 注册 Adjust Android Extension 时,我们推荐使用全局 Android Application 类。如果您尚未创建 Application,请按照下列步骤操作:

  1. MainApp.java 文件中,创建扩展 Application 的新类。
MainApp.java
public class MainApp extends Application {}
  1. 打开 AndroidManifest.xml,找到 <application> 元素。

  2. 将新类的名称添加为 android:name 属性。在此示例中,新 Application 类的名称为 MainApp

    <application android:name=".MainApp">
    </application>
  3. Application 类中找到或添加 onCreate 方法。

MainApp.java
public class MainApp extends Application {
@Override
public void onCreate() {
super.onCreate();
}
}

配置 Adjust Extension

创建 Application 类并调用 onCreate 后,请按照以下步骤操作,配置针对 Adobe Experience SDK 的 Adjust Android Extension:

  1. 在您的 onCreate 函数中调用 MobileCore.setApplication(this),以注册应用程序上下文。
MainApp.java
public void onCreate() {
super.onCreate();
MobileCore.setApplication(this);
}
  1. 使用以下参数调用 MobileCore.setLogLevel 方法来设置日志级别:
logLevel: String
The level of logging you want to enable.
  • LoggingMode.VERBOSE: 启用完整日志。
  • LoggingMode.DEBUG: 禁用详细日志。
  • LoggingMode.WARNING: 仅记录错误和警告。
  • LoggingMode.ERROR: 仅记录错误。
MainApp.java
public void onCreate() {
super.onCreate();
MobileCore.setApplication(this);
MobileCore.setLogLevel(LoggingMode.VERBOSE);
}
  1. 新建 try...catch 块来配置 Adjust Extension:
MainApp.java
public void onCreate() {
super.onCreate();
MobileCore.setApplication(this);
MobileCore.setLogLevel(LoggingMode.VERBOSE);
try {
} catch (Exception e) {
Log.e("example", "Exception occurred during configuration: " + e.getMessage());
}
}
  1. try 块中调用 MobileCore.configureWithAppID ,发送您的 Adobe app ID。
MainApp.java
try {
MobileCore.configureWithAppID("your_adobe_app_id");
} catch (Exception e) {
Log.e("example", "Exception occurred during configuration: " + e.getMessage());
}
  1. try 块中,使用以下参数创建 AdjustAdobeExtensionConfig 的新实例:
environment: String
The environment in which your device is running.
  • Pass AdjustAdobeExtensionConfig.ENVIRONMENT_SANDBOX when testing.
  • Pass AdjustAdobeExtensionConfig.ENVIRONMENT_PRODUCTION when running the app in production.
MainApp.java
try {
MobileCore.configureWithAppID("your_adobe_app_id");
AdjustAdobeExtensionConfig config =
new AdjustAdobeExtensionConfig(AdjustAdobeExtensionConfig.ENVIRONMENT_SANDBOX);
} catch (Exception e) {
Log.e("example", "Exception occurred during configuration: " + e.getMessage());
}
  1. 以参数形式使用 AdjustAdobeExtensionConfig 实例,调用 AdjustAdobeExtension.setConfiguration
MainApp.java
try {
MobileCore.configureWithAppID("your_adobe_app_id");
AdjustAdobeExtensionConfig config =
new AdjustAdobeExtensionConfig(AdjustAdobeExtensionConfig.ENVIRONMENT_SANDBOX);
AdjustAdobeExtension.setConfiguration(config);
} catch (Exception e) {
Log.e("example", "Exception occurred during configuration: " + e.getMessage());
}

注册 Adjust Extension

配置好 Adjust Extension 后,您需要将其注册到 Adobe Experience SDK。为此,请进行下列操作:

  1. 在配置块下新建 try...catch 块。
MainApp.java
public class MainApp extends Application {
@Override
public void onCreate() {
super.onCreate();
MobileCore.setApplication(this);
MobileCore.setLogLevel(LoggingMode.VERBOSE);
try {
MobileCore.configureWithAppID("your_adobe_app_id");
AdjustAdobeExtensionConfig config =
new AdjustAdobeExtensionConfig(AdjustAdobeExtensionConfig.ENVIRONMENT_SANDBOX);
AdjustAdobeExtension.setConfiguration(config);
} catch (Exception e) {
Log.e("example", "Exception occurred during configuration: " + e.getMessage());
}
try {
} catch (Exception e) {
Log.e("example", "Exception occurred while registering Extension: " + e.getMessage());
}
}
}
  1. try 块中创建要注册扩展程序的新列表。除 AdjustAdobeExtension 外,本指南中的示例还导入了 AnalyticsIdentity 扩展。
extensions: List<Class<? extends Extension>>
Your list of extensions.
MainApp.java
try {
List<Class<? extends Extension>> extensions = Arrays.asList(
Analytics.EXTENSION,
Identity.EXTENSION,
AdjustAdobeExtension.EXTENSION);
} catch (Exception e) {
Log.e("example", "Exception occurred while registering Extension: " + e.getMessage());
}
  1. try 块中,使用扩展列表和以下回传参数调用 MobileCore.registerExtensions 方法:
completionCallback: AdobeCallback
A callback function that fires when registration completes.
MainApp.java
try {
List<Class<? extends Extension>> extensions = Arrays.asList(
Analytics.EXTENSION,
Identity.EXTENSION,
AdjustAdobeExtension.EXTENSION);
MobileCore.registerExtensions(extensions, new AdobeCallback<object>() {
@Override
public void call(Object o) {
Log.d("example", "Adjust Adobe Extension SDK initialized");
}
});
} catch (Exception e) {
Log.e("example", "Exception occurred while registering Extension: " + e.getMessage());
}

设置您的 activity 文件

下一步,请设置您的 MainActivity.java 文件,以备稍后设置 Adjust 功能。在本指南中,我们仅设置 onCreate 函数,用来处理应用程序的启动。

  1. 创建一个名为 MainActivity 的新公共类。该类应当继承 AppCompatActivity 类。
MainActivity.java
public class MainActivity extends AppCompatActivity {}
  1. 创建一个名为 onCreate 的新 protected override 函数。该函数会接收 savedInstanceState 并返回 void
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {}
}
  1. onCreate 函数中,使用 savedInstanceState 调用 super.onCreate 来创建活动。
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
  1. 然后调用 setContentView,将您的活动映射到应用布局。在本示例中,布局文件名为 activity_main.xml
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

要为深度链接打开配置针对 Adobe Experience SDK 的 Adjust Android Extension,请按照下列步骤操作:

  1. onCreate 函数中创建一个名为 intent 的新 Intent 变量,并将 getIntent() 的输出指定给它。
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
}
  1. 创建一个名为 data 的新 Uri 变量,并为其指定 intent.getData() 的输出。
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
Uri data = intent.getData();
}
  1. 使用 data 变量构建新的 AdjustDeeplink 实例。
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
Uri data = intent.getData();
AdjustDeeplink adjustDeeplink = new AdjustDeeplink(data);
}
  1. 要打开 URL,请将您的 AdjustDeeplink 实例和 getApplicationContext() 传递至 Adjust.processDeeplink 方法。
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
Uri data = intent.getData();
AdjustDeeplink adjustDeeplink = new AdjustDeeplink(data);
Adjust.processDeeplink(adjustDeeplink, getApplicationContext());
}

如果您使用的是品牌化短链接,那么可以选择使用 Adjust.processAndResolveDeeplink 方法解析短链接,并将其返回至回传函数。

MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
Uri data = intent.getData();
AdjustDeeplink adjustDeeplink = new AdjustDeeplink(data);
Adjust.processAndResolveDeeplink(adjustDeeplink, getApplicationContext(), new OnDeeplinkResolvedListener() {
@Override
public void onDeeplinkResolved(String s) {
Log.d("example", "Unwrapped short link: " + s);
}
});
}

完成上述步骤后,请创建并运行应用。在日志查看器中,设置过滤器tag:Adjust,仅显示与 Adjust Extension 相关的日志。启动应用后,您应当看到 Install tracked 信息。