开始使用 Flutter SDK
通过 Adjust Flutter SDK,您可以在 Flutter 应用中监测归因、事件以及更多信息。请按照本指南中说明的步骤操作,在应用内设置 Adjust SDK。您还可以在GitHub上查看我们的示例应用。
1. 添加 SDK 至您的项目
要在您的 Flutter 应用中使用 Adjust Flutter SDK,请先将 SDK 加入项目。
如需将 Adjust SDK 集成到您的 Flutter 项目中,请按照以下步骤操作:
- 添加下列行至您的
pubspec.yaml
文件:
dependencies:
adjust_sdk: ^4.31.0
- 找到您的项目并运行以下指令。编辑
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 需要下列权限。(如尚未添加) 请将其添加至您的 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 (仅限华为设备)。
INSTALL_REFERRER
intent 方法 传递 referrer 信息。如果您当前在使用这种方法,请迁移至 Google Play Referrer API。
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 后端传送会话信息。
如需设置安卓设备的会话跟踪,请在应用于前台运行时调用 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 提供的工具,您可以测试并排除集成出现的问题。要测试集成,请按照下列步骤操作:
- 将环境设为 Sandbox 。
- 在 Datascape 中添加一个sandbox 过滤器。
- 将日志级别设为 verbose 。