Flutter追踪分析插件wisetrack_sdk的使用
Flutter追踪分析插件wisetrack_sdk
的使用
在本文中,我们将详细介绍如何在Flutter项目中集成和使用wisetrack_sdk
插件。该插件主要用于追踪用户行为和事件,并提供丰富的回调功能来监控会话和事件的成功或失败情况。
环境配置与初始化
首先,确保您的Flutter环境已正确配置,并在pubspec.yaml
文件中添加wisetrack_sdk
依赖:
dependencies:
wisetrack_sdk: ^版本号
运行以下命令以安装依赖:
flutter pub get
接下来,在应用启动时进行初始化。以下是完整的初始化代码示例:
import 'package:wisetrack_sdk/wisetrack.dart';
import 'package:wisetrack_sdk/wisetrack_config.dart';
void initPlatformState() async {
// 初始化配置对象
WiseTrackConfig config = new WiseTrackConfig(
"your_app_token", // 替换为您的App Token
WiseTrackEnvironment.sandbox, // 使用沙箱环境
);
// 设置其他参数(如默认跟踪器、包名等)
config.defaultTracker = "your_default_tracker";
config.packageName = "com.example.yourapp";
config.storeName = "Your Store Name";
// 设置回调函数
config.attributionCallback = (WiseTrackAttribution attributionChangedData) {
print('[WiseTrack]: Attribution changed!');
print('[WiseTrack]: Tracker token: ${attributionChangedData.trackerToken}');
};
// 启动SDK
WiseTrack.initSdk(config);
}
跟踪事件
wisetrack_sdk
允许您通过WiseTrackEvent
类记录自定义事件。以下是一个完整的事件跟踪示例:
import 'package:wisetrack_sdk/wisetrack_event.dart';
import 'package:wisetrack_sdk/wisetrack_currency.dart';
void trackCustomEvent() {
// 创建事件对象
WiseTrackEvent event = WiseTrackEvent("custom_event_token");
// 设置事件名称
event.setEventName("Purchase Completed");
// 设置事件价格和货币类型
event.setRevenue(100, WiseTrackCurrency.USD);
// 跟踪事件
WiseTrack.trackEvent(event);
}
处理生命周期事件
为了确保SDK正常工作,您需要监听应用的生命周期事件并在适当的时候调用相应的SDK方法。例如:
[@override](/user/override)
void didChangeAppLifecycleState(AppLifecycleState state) {
switch (state) {
case AppLifecycleState.resumed:
WiseTrack.onResume();
break;
case AppLifecycleState.paused:
WiseTrack.onPause();
break;
default:
break;
}
}
完整示例代码
以下是一个完整的Flutter应用示例,展示了如何配置和使用wisetrack_sdk
插件:
import 'package:flutter/material.dart';
import 'package:wisetrack_sdk/wisetrack.dart';
import 'package:wisetrack_sdk/wisetrack_config.dart';
import 'package:wisetrack_sdk/wisetrack_event.dart';
import 'package:wisetrack_sdk/wisetrack_currency.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
[@override](/user/override)
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
final _formKey = GlobalKey<FormState>();
final _eventTokenController = TextEditingController();
final _eventNameController = TextEditingController();
final _eventPriceController = TextEditingController();
final _eventCurrencyController = TextEditingController();
[@override](/user/override)
void initState() {
super.initState();
initPlatformState();
}
void initPlatformState() async {
WiseTrackConfig config = new WiseTrackConfig(
"your_app_token",
WiseTrackEnvironment.sandbox,
);
config.defaultTracker = "your_default_tracker";
config.packageName = "com.example.yourapp";
config.storeName = "Your Store Name";
config.attributionCallback = (WiseTrackAttribution attributionChangedData) {
print('[WiseTrack]: Attribution changed!');
print('[WiseTrack]: Tracker token: ${attributionChangedData.trackerToken}');
};
WiseTrack.initSdk(config);
}
void trackEvent() {
if (_formKey.currentState!.validate()) {
WiseTrackEvent event = WiseTrackEvent(_eventTokenController.text);
event.setEventName(_eventNameController.text);
event.setRevenue(
int.parse(_eventPriceController.text),
WiseTrackCurrency[_eventCurrencyController.text],
);
WiseTrack.trackEvent(event);
}
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Wisetrack Example'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Form(
key: _formKey,
child: Column(
children: <Widget>[
TextFormField(
controller: _eventTokenController,
decoration: InputDecoration(labelText: 'Event Token'),
validator: (value) {
if (value == null || value.isEmpty) {
return 'Please enter event token';
}
return null;
},
),
TextFormField(
controller: _eventNameController,
decoration: InputDecoration(labelText: 'Event Name'),
validator: (value) {
if (value == null || value.isEmpty) {
return 'Please enter event name';
}
return null;
},
),
TextFormField(
controller: _eventPriceController,
decoration: InputDecoration(labelText: 'Event Price'),
keyboardType: TextInputType.number,
validator: (value) {
if (value == null || value.isEmpty) {
return 'Please enter event price';
}
return null;
},
),
DropdownButton<String>(
value: "USD",
items: ["USD", "EUR", "JPY"]
.map((currency) => DropdownMenuItem(
value: currency,
child: Text(currency),
))
.toList(),
onChanged: (value) {
_eventCurrencyController.text = value!;
},
),
ElevatedButton(
onPressed: trackEvent,
child: Text('Track Event'),
),
],
),
),
),
);
}
}
更多关于Flutter追踪分析插件wisetrack_sdk的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter追踪分析插件wisetrack_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
WiseTrack SDK
是一个用于 Flutter 应用的跟踪和分析插件,通常用于收集用户行为数据、设备信息、应用使用情况等,以便进行数据分析、用户行为分析、性能监控等。以下是如何在 Flutter 项目中使用 WiseTrack SDK
的基本步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 wisetrack_sdk
插件的依赖。
dependencies:
flutter:
sdk: flutter
wisetrack_sdk: ^1.0.0 # 请根据实际情况选择合适的版本
然后运行 flutter pub get
来安装依赖。
2. 初始化 SDK
在你的 Flutter 应用中初始化 WiseTrack SDK
。通常你可以在 main.dart
文件中进行初始化。
import 'package:flutter/material.dart';
import 'package:wisetrack_sdk/wisetrack_sdk.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化 WiseTrack SDK
await WiseTrackSDK.initialize(
appKey: 'YOUR_APP_KEY', // 替换为你的 App Key
enableLogging: true, // 是否启用日志
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'WiseTrack SDK Example',
home: HomeScreen(),
);
}
}
3. 设置用户信息(可选)
如果你需要跟踪特定用户的行为,可以设置用户信息。
WiseTrackSDK.setUserInfo(
userId: 'USER_ID', // 用户唯一标识
userName: 'USER_NAME', // 用户名
userEmail: 'USER_EMAIL', // 用户邮箱
);
4. 跟踪事件
你可以使用 WiseTrack SDK
来跟踪用户行为事件。例如,当用户点击某个按钮时,你可以记录一个事件。
WiseTrackSDK.trackEvent(
eventName: 'button_click', // 事件名称
properties: {'button_id': 'login_button'}, // 事件属性
);
5. 跟踪页面浏览
你可以跟踪用户浏览的页面,以便分析用户在不同页面之间的行为。
WiseTrackSDK.trackPageView(
pageName: 'HomeScreen', // 页面名称
properties: {'category': 'main'}, // 页面属性
);
6. 设置自定义属性(可选)
你可以设置一些自定义属性,这些属性会附加到所有的事件和页面浏览记录中。
WiseTrackSDK.setCustomProperties(
properties: {'app_version': '1.0.0', 'platform': 'Android'},
);
7. 处理用户退出(可选)
当用户退出应用时,你可以调用 WiseTrack SDK
的 logout
方法来清除用户信息。
WiseTrackSDK.logout();
8. 调试与日志
在开发过程中,你可以启用日志来查看 WiseTrack SDK
的输出信息,以便调试。
WiseTrackSDK.setLogLevel(LogLevel.verbose);
9. 发布应用
在发布应用之前,确保你已经禁用了调试日志,并且所有的事件跟踪代码都已经正确配置。
WiseTrackSDK.setLogLevel(LogLevel.none);