Flutter应用性能追踪插件appsflyer_sdk的使用
Flutter应用性能追踪插件appsflyer_sdk的使用
概述
为了提供最佳支持,如果您遇到任何问题,请发送邮件至support@appsflyer.com,并请务必提供您的AppsFlyer注册(账户)邮箱、应用ID、复现步骤、日志、代码片段以及任何其他相关信息。
适用平台
- Android AppsFlyer SDK v6.15.2
- iOS AppsFlyer SDK v6.15.3
重要更新与变更
从版本 6.x.x
开始,有以下重大变更:
-
API变更:
trackEvent
->logEvent
stopTracking
->stop
validateAndTrackInAppPurchase
->validateAndLogInAppPurchase
validateAndLogInAppPurchase
->validateAndLogInAppIosPurchase
/validateAndLogInAppAndroidPurchase
-
移除和废弃API:
setPushNotification
在iOS上不再工作,改用sendPushNotificationData
- 移除了
enableLocationCollection
setSharingFilter
和setSharingFilterForAllPartners
已被废弃,改用setSharingFilterForPartners
-
回调机制:
ConversionData
和OnAppOpenAttribution
改为基于回调而非流
-
权限管理:
- Android API 33及以上需要声明
com.google.android.gms.permission.AD_ID
权限来收集广告ID。如果您的应用面向儿童用户,则需要撤销此权限以符合Google的数据政策。
- Android API 33及以上需要声明
使用指南
添加SDK到项目
参考官方文档 Adding the SDK to your project
初始化SDK
初始化是使用AppsFlyer的第一步,详情见 Initializing the SDK
记录应用内事件
通过记录用户行为事件来分析应用表现,详见 In-app Events
深度链接处理
实现跨平台深度链接功能,参阅 Deep Linking
高级API
探索更多高级特性,如推送通知、用户属性等,查阅 Advanced APIs
测试集成
确保正确配置后进行充分测试,指导文档在 Testing the integration
API列表
完整API列表及说明可查看 APIs
示例程序
您可以参考官方提供的示例应用程序,了解如何实际应用这些功能:Sample App
示例代码
下面是一个简单的Flutter项目结构,展示了如何集成和使用appsflyer_sdk:
import 'dart:async';
import 'package:appsflyer_sdk/appsflyer_sdk.dart';
import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
Future<void> main() async {
await dotenv.load(fileName: '.env');
runApp(MyApp());
}
class MyApp extends StatelessWidget {
final AppsFlyerOptions appsFlyerOptions = AppsFlyerOptions(
devKey: 'YOUR_DEV_KEY',
appId: 'YOUR_APP_ID',
isDebug: true,
);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MainPage(),
);
}
}
class MainPage extends StatefulWidget {
@override
_MainPageState createState() => _MainPageState();
}
class _MainPageState extends State<MainPage> {
AppsFlyerSdk? appsFlyerSdk;
@override
void initState() {
super.initState();
initPlatformState();
}
Future<void> initPlatformState() async {
appsFlyerSdk = AppsFlyerSdk(widget.appsFlyerOptions);
try {
await appsFlyerSdk!.initSdk(
registerConversionDataCallback: (data) {
print("onInstallConversionData: $data");
},
registerOnAppOpenAttributionCallback: (data) {
print("onAppOpenAttribution: $data");
},
);
} catch (e) {
print("Error initializing SDK: $e");
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Appsflyer Demo'),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
try {
final response = await appsFlyerSdk!.logEvent(AFInAppEventType.purchase, {
'af_price': '10.99',
'af_currency': 'USD',
'af_content_id': 'content_123',
});
print('Event logged successfully: $response');
} catch (e) {
print('Failed to log event: $e');
}
},
child: Text('Log Purchase Event'),
),
),
);
}
}
在这个例子中,我们首先加载环境变量文件.env
中的配置信息,然后创建一个包含必要参数的AppsFlyerOptions
对象,并在应用启动时初始化SDK。此外,还定义了一个按钮用于触发模拟的应用内购买事件记录操作。这只是一个基础示例,具体实现可能根据您的需求有所不同。
更多关于Flutter应用性能追踪插件appsflyer_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter应用性能追踪插件appsflyer_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在Flutter应用中集成AppsFlyer SDK以进行性能追踪是一项关键任务,它可以帮助你深入分析用户行为和广告效果。以下是一个如何在Flutter项目中集成和使用AppsFlyer SDK的示例代码案例。
1. 添加依赖
首先,你需要在pubspec.yaml
文件中添加appsflyer_sdk
依赖。确保你的Flutter环境已经配置好,并且项目结构正确。
dependencies:
flutter:
sdk: flutter
appsflyer_sdk: ^x.y.z # 请替换为最新版本号
运行flutter pub get
来安装依赖。
2. 配置AppsFlyer SDK
在android/app/src/main/AndroidManifest.xml
中添加必要的权限和AppsFlyer的配置。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.yourapp">
<!-- 添加必要的权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- AppsFlyer配置 -->
<meta-data
android:name="com.appsflyer.AFDevKey"
android:value="YOUR_APPSFLYER_DEV_KEY" />
<meta-data
android:name="com.appsflyer.AFAppID"
android:value="@string/appsflyer_app_id" /> <!-- 你可以在strings.xml中定义这个值 -->
<!-- 其他配置 -->
...
</manifest>
在android/app/src/main/res/values/strings.xml
中添加AppsFlyer的App ID。
<resources>
<string name="appsflyer_app_id">YOUR_APPSFLYER_APP_ID</string>
</resources>
对于iOS,你需要在ios/Runner/Info.plist
中添加AppsFlyer的配置。
<key>AppsFlyerDevKey</key>
<string>YOUR_APPSFLYER_DEV_KEY</string>
<key>AppsFlyerAppID</key>
<string>YOUR_APPSFLYER_APP_ID</string>
3. 初始化AppsFlyer SDK
在你的Flutter应用的入口文件(通常是main.dart
)中初始化AppsFlyer SDK。
import 'package:flutter/material.dart';
import 'package:appsflyer_sdk/appsflyer_sdk.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
// 初始化AppsFlyer SDK
AppsFlyerSdk.instance.initSdk(
appId: 'YOUR_APPSFLYER_APP_ID',
devKey: 'YOUR_APPSFLYER_DEV_KEY',
onInitSuccess: (Map<String, dynamic> result) {
print('AppsFlyer initialized successfully: $result');
},
onInitFailure: (String errorMessage) {
print('AppsFlyer initialization failed: $errorMessage');
},
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('AppsFlyer SDK Example'),
),
body: Center(
child: Text('Check the console for AppsFlyer initialization status.'),
),
),
);
}
}
4. 记录事件
一旦AppsFlyer SDK初始化成功,你就可以记录各种事件,如应用启动、用户注册、购买等。
void _trackEvent() {
AppsFlyerSdk.instance.trackEvent(
eventName: 'user_registration',
eventValues: {
'user_id': '12345',
'registration_source': 'email',
},
);
}
你可以在合适的地方调用_trackEvent
函数,例如在用户注册成功后。
5. 获取归因数据
你还可以获取归因数据来分析用户来源。
void _getAttributionData() async {
try {
Map<String, dynamic> attributionData = await AppsFlyerSdk.instance.getAttributionData();
print('Attribution Data: $attributionData');
} catch (e) {
print('Failed to get attribution data: $e');
}
}
你可以在应用启动或用户登录时调用_getAttributionData
函数来获取归因数据。
总结
以上代码展示了如何在Flutter应用中集成和使用AppsFlyer SDK进行性能追踪。请确保替换YOUR_APPSFLYER_DEV_KEY
和YOUR_APPSFLYER_APP_ID
为你的实际值,并根据你的需求调整事件跟踪和归因数据获取的逻辑。