开始使用 Flutter SDK

通过 Adjust Flutter SDK,您可以在 Flutter 应用中监测归因、事件以及更多信息。请按照本指南中说明的步骤操作,在应用内设置 Adjust SDK。您还可以在GitHub上查看我们的示例应用。

重要提示:
Adjust SDK 支持 iOS 9 或更新版本,以及安卓 API 级别 9 (Gingerbread) 或更新版本。

1. 添加 SDK 至您的项目

要在您的 Flutter 应用中使用 Adjust Flutter SDK,请先将 SDK 加入项目。

如需将 Adjust SDK 集成到您的 Flutter 项目中,请按照以下步骤操作:

  1. 添加下列行至您的 pubspec.yaml 文件:
dependencies:
  adjust_sdk: ^4.31.0
  1. 找到您的项目并运行以下指令。编辑 pubspec.yaml 文件后,Visual Studio 会自动运行该命令。
flutter packages get

2. 设置安卓设备

添加 Google Play 服务

针对 Google Play 商店的应用必须使用 Google 广告 ID (gps_adid) 来识别设备。为此,请将以下 dependency 加入build.gradle 文件的 dependencies 部分。

implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
请注意:
Adjust SDK 并不与任何版本的 `play-services-ads-identifier` dependency 绑定。您可以使用任意版本的 Google Play 服务库。

添加权限

Adjust SDK 需要下列权限。(如尚未添加) 请将其添加至您的 AndroidManifest.xml 文件中:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

从 Adjust SDK 4.32.0 及以上版本默认包含 com.google.android.gms.AD_ID 权限。如果您的应用需要符合 COPPA 的要求或不针对 Google Play 商店,则可以通过添加 remove 指令将其删除。

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

请查看 Google 的 AdvertisingIdClient.info 文档,了解更多与该许可相关的信息。

设置 Proguard

如果您使用的是 Proguard,请将这些规则添加至您的自定义 Proguard 文件

-keep public class com.adjust.sdk.**{ *; }
-keep class com.google.android.gms.common.ConnectionResult {
    int SUCCESS;
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {
    com.google.android.gms.ads.identifier.AdvertisingIdClient$Info getAdvertisingIdInfo(android.content.Context);
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {
    java.lang.String getId();
    boolean isLimitAdTrackingEnabled();
}
-keep public class com.android.installreferrer.**{ *; }

如果您的发布目标非 Google Play 商店,请向 Proguard 文件添加下列规则:

-keep public class com.adjust.sdk.**{ *; }

设置 Install Referrer

Install Referrer 是一种唯一标识符,可用来将应用安装归因至来源。Adjust SDK 需要该信息进行归因。您可以用下列 3 种方法收集 install referrer:

  • 使用 Google Play Referrer API
  • 使用广播接收器监听 INSTALL_REFERRER intent。
  • 使用华为 Referrer API (仅限华为设备)。
重要提示:
Google 已不再针对 Google Play 服务使用 INSTALL_REFERRER intent 方法 传递 referrer 信息。如果您当前在使用这种方法,请迁移至 Google Play Referrer API。

Google Play Referrer API

INSTALL_REFERRER intent

华为 Referrer API

Meta referrer 集成

3. 添加 iOS 框架

在应用中添加特定 iOS 框架后,Adjust SDK 就能获取额外信息。这些框架可以支持特定 SDK 功能,但即便没有这些框架,SDK 也能正常工作。您可以添加这些框架,然后在 Project Settings > Build Phases > Link Binary With Libraries​ 下将其设置为可选。

框架描述注意事项
AdSupport.framework如果您希望 SDK 能访问 IDFA 值和 (iOS 14 以前的) LAT 信息,请添加该框架。如果您的应用属于 "儿童" (Kids) 类别,请不要安装该框架。
AdServices.framework该框架对于处理 Apple Search Ads 是必要的。
StoreKit.framework如果您希望访问 SKAdNetwork 框架,同时让 Adjust SDK 在 iOS 14 或未来版本的 iOS 中自动处理与该框架的通讯,请添加该框架。
AppTrackingTransparency.framework如果您希望 SDK 能在 iOS 14 或未来版本的 iOS 中包装用户的跟踪许可对话框,并访问用户的许可响应,请添加该框架。如果您的应用属于 "儿童" (Kids) 类别,请不要安装该框架。

4. 初始化 Adjust SDK

请确保在 Flutter 应用中尽快初始化 Adjust SDK。要进行 SDK 初始化,请使用应用识别码及您希望应用程序运行的环境来初始化 config 对象。

重要提示:
在进行测试时,应当确保将环境设置为 AdjustEnvironment.sandbox 。请在向 App Store 提交应用程序前将此设为 AdjustEnvironment.production
AdjustConfig config = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);
Adjust.start(config);

5. 设置会话跟踪

您需要设置会话跟踪,SDK 才能向 Adjust 后端传送会话信息。

请注意:
默认支持 iOS 设备的会话跟踪。

如需设置安卓设备的会话跟踪,请在应用于前台运行时调用 Adjust.onResume() 方法,当应用不在前台运行时,请调用 Adjust.onPause() 方法。您可以对此进行全局设置或按照每个小组件进行设置。

class AdjustExampleApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Adjust Flutter Example App',
      home: new MainScreen(),
    );
  }
}

class MainScreen extends StatefulWidget {
  @override
  State createState() => new MainScreenState();
}

class MainScreenState extends State<mainscreen> with WidgetsBindingObserver {
  @override
  initState() {
    super.initState();
WidgetsBinding.instance.addObserver(this);
initPlatformState(); // <-- Initialise SDK in here.
}

  @override
  void dispose() {
    WidgetsBinding.instance.removeObserver(this);
super.dispose();
}

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    switch (state) {
      case AppLifecycleState.inactive:
        break;
      case AppLifecycleState.resumed:
Adjust.onResume();
break;
      case AppLifecycleState.paused:
Adjust.onPause();
break;
      case AppLifecycleState.suspending:
        break;
    }
  }
}

6. 创建您的应用

太棒了 您现在可以创建并运行 Flutter 应用了。请启用日志 检查可能存在的问题。请查看日志中的 Install tracked 信息。

您现在已经准备就绪,可以使用 Adjust SDK 进行用户归因了。

7. 添加 Adjust SDK 签名

Adjust SDK 签名可以用来签署 Adjust SDK 发送的所有通讯。这样,Adjust 的服务器就能轻松甄别、拒绝任何非法安装活动。

要开始使用 Adjust SDK 签名,请联系您的技术客户经理,或发送邮件至 support@adjust.com

8. 测试集成

采用 Adjust SDK 提供的工具,您可以测试并排除集成出现的问题。要测试集成,请按照下列步骤操作:

提示:
如果遇到任何问题,请发送邮件至 support@adjust.com ,并在邮件中说明所有详情和日志。

测试 Google Play 服务集成