通过 Adjust Flutter SDK,您可以在 Flutter 应用中监测归因、事件以及更多信息。请按照本指南中说明的步骤操作,在应用内设置 Adjust SDK。您还可以在 GitHub 上查看示例应用。
1. 添加 SDK 至您的项目
要在您的 Flutter 应用中使用 Adjust Flutter SDK,请先将 SDK 加入项目。
如需将 Adjust SDK 集成到您的 Flutter 项目中,请按照以下步骤操作:
- 添加下列行至您的
pubspec.yaml
文件:
dependencies: adjust_sdk: ^$FLUTTER_VERSION
- 找到您的项目并运行以下指令。编辑
pubspec.yaml
文件后,Visual Studio 会自动运行该命令。
$ flutter packages get
2. 设置安卓设备
添加 Google Play 服务
针对 Google Play 商店的应用必须使用 Google 广告 ID (gps_adid
) 来识别设备。为此,请将以下依赖加入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"/>
设置 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。
- 使用华为 Referrer API (仅限华为设备)。
Google Play Referrer API
要支持 Google Play Referrer API,请将下列行添加进您的 build.gradle
文件
implementation 'com.android.installreferrer:installreferrer:2.2'
如果您使用的是 Proguard,请务必将下列设置加入您的 Proguard 文件:
-keep public class com.android.installreferrer.** { *; }
华为 Referrer API
从版本 v4.22.0 开始,Adjust SDK 将支持对装有华为 App Gallery 10.4 或更新版本的设备进行安装记录。您无需其他调整和变更,就可以开始使用华为 Referrer API。
Meta referrer 集成
Adjust SDK v4.36.0 及更高版本支持Meta Install Referrer。要启用该功能:
-
在
AdjustConfig
实例上将您的 App ID 指定至fbAppId
属性。AdjustConfig config = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);config.fbAppId = "<fb_app_id_string>";
3. 添加 iOS 框架
在应用中添加特定 iOS 框架后,Adjust SDK 就能获取额外信息。这些框架可以支持特定 SDK 功能,但即便没有这些框架,SDK 也能正常工作。您可以添加这些框架,然后在 Project Settings -> Build Phases -> Link Binary With Libraries 下将其设置为可选。
框架 | 描述 | 注意事项 |
---|---|---|
AdSupport.framework | 允许读取设备 IDFA。对于操作系统为 iOS 14 及更早版本的设备,添加该框架也会允许读取 LAT 信息。 | 如果您的应用属于 “儿童” 类别,那么请勿添加该框架 |
AdServices.framework | 处理 Apple Search Ads 归因 | |
StoreKit.framework | 允许访问 SKAdNetwork 框架 | 若要允许 Adjust 处理 iOS 14 或更新操作版本设备上与 SKAdNetwork 的通讯,那么必须添加该框架。 |
AppTrackingTransparency.framework | 若要允许 Adjust SDK 包装用户 ATT 许可对话,并读取 iOS 14 或更新操作版本设备的许可响应,那么必须添加该框架。 | 如果您的应用属于 “儿童” 类别,那么请勿添加该框架 |
4. 初始化 Adjust SDK
请确保在 Flutter 应用中尽快初始化 Adjust SDK。要进行 SDK 初始化,请使用应用识别码及您希望应用运行的环境来初始化 config 对象。
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 提供的工具,您可以测试并排除集成出现的问题。要测试集成,请按照下列步骤操作:
- 将您的环境设为
AdjustEnvironment.sandbox
- 在 Adjust 控制面板结果中添加 sandbox 过滤器。
- 将日志级别设为
AdjustLogLevel.verbose
。
测试 Google Play 服务集成
要测试 Adjust SDK 能否接收设备的 Google 广告 ID,请将日志级别设为 AdjustLogLevel.verbose
,环境设为 AdjustEnvironment.sandbox
。启动应用,监测一次会话或事件。如果 SDK 记录了 gps_adid
(Google Play 服务广告主 ID) 参数,就说明已经成功读取广告 ID。
如果您在获取 Google 广告 ID 时遇到任何问题,请在我们的 SDK GitHub 库中提问,或联系 support@adjust.com。