Flutter Facebook应用事件追踪插件facebook_app_events的使用
Flutter Facebook应用事件追踪插件facebook_app_events的使用
facebook_app_events
Flutter plugin for Facebook App Events。
应用事件是在您的应用程序或网页中发生的操作,例如某人安装了您的应用程序或完成了一次购买。Facebook App Events 允许您跟踪这些事件以衡量广告效果,并为广告定位构建受众群体。
这是一个用于Facebook App Events的Flutter插件,它提供了一个洞察应用程序使用情况和用户参与度的应用测量解决方案。
设置环境
您必须首先在Facebook开发者平台创建一个应用:https://developers.facebook.com/
- 获取您的应用ID(下文称为
[APP_ID]
) - 获取您的客户端令牌(下文称为
[CLIENT_TOKEN]
)。更多关于如何获取的信息请参阅Facebook文档: 客户端令牌
配置Android
请阅读开始使用App Events (Android) 和 开始使用Facebook SDK for Android 教程。特别是按照更新您的清单文件步骤,在android/app/src/main/res/values/strings.xml
中添加以下内容(或者在相应的debug
或release
构建版本中)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="facebook_app_id">[APP_ID]</string>
<string name="facebook_client_token">[CLIENT_TOKEN]</string>
<string name="fb_login_protocol_scheme">fb[APP_ID]</string>
<string name="app_name">[APP_NAME]</string>
</resources>
之后,将字符串资源引用添加到主AndroidManifest.xml
文件中,在<application>
标签内。
<application android:label="@string/app_name" ...>
...
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
<meta-data android:name="com.facebook.sdk.ClientToken" android:value="@string/facebook_client_token"/>
...
</application>
配置iOS
请阅读开始使用App Events for iOS教程,特别是按照第5步配置项目步骤,打开info.plist
"As Source Code"并添加以下内容
如果代码没有CFBundleURLTypes
,在最后一个</dict>
元素之前添加以下内容:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb[APP_ID]</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>[APP_ID]</string>
<key>FacebookClientToken</key>
<string>[CLIENT_TOKEN]</string>
<key>FacebookDisplayName</key>
<string>[APP_NAME]</string>
如果代码已经包含CFBundleURLTypes
,插入以下内容:
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb[APP_ID]</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>[APP_ID]</string>
<key>FacebookClientToken</key>
<string>[CLIENT_TOKEN]</string>
<key>FacebookDisplayName</key>
<string>[APP_NAME]</string>
关于Facebook App Events
有关iOS和Android正确和预期行为,请参阅官方SDK文档:
如果您发现任何不符合官方文档的行为,请报告问题。
示例代码
import 'package:facebook_app_events/facebook_app_events.dart';
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
static final facebookAppEvents = FacebookAppEvents();
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
FutureBuilder(
future: facebookAppEvents.getAnonymousId(),
builder: (context, snapshot) {
final id = snapshot.data ?? '???';
return Text('匿名ID: $id');
},
),
MaterialButton(
child: Text("点击我!"),
onPressed: () {
facebookAppEvents.logEvent(
name: 'button_clicked',
parameters: {
'button_id': 'the_clickme_button',
},
);
},
),
MaterialButton(
child: Text("设置用户数据"),
onPressed: () {
facebookAppEvents.setUserData(
email: 'opensource@oddbit.id',
firstName: 'Oddbit',
dateOfBirth: '2019-10-19',
city: 'Denpasar',
country: 'Indonesia',
);
},
),
MaterialButton(
child: Text("测试logAddToCart"),
onPressed: () {
facebookAppEvents.logAddToCart(
id: '1',
type: 'product',
price: 99.0,
currency: 'TRY',
);
},
),
MaterialButton(
child: Text("测试购买!"),
onPressed: () {
facebookAppEvents.logPurchase(amount: 1, currency: "USD");
},
),
MaterialButton(
child: Text("启用广告跟踪!"),
onPressed: () {
facebookAppEvents.setAdvertiserTracking(enabled: true);
},
),
MaterialButton(
child: Text("禁用广告跟踪!"),
onPressed: () {
facebookAppEvents.setAdvertiserTracking(enabled: false);
},
),
],
),
),
),
);
}
}
这个示例展示了如何初始化FacebookAppEvents
对象、记录事件、设置用户数据、记录添加购物车事件、记录购买事件以及设置广告跟踪状态。通过这些按钮,您可以测试不同的功能。
更多关于Flutter Facebook应用事件追踪插件facebook_app_events的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter Facebook应用事件追踪插件facebook_app_events的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是一个关于如何在Flutter应用中使用facebook_app_events
插件进行Facebook应用事件追踪的示例代码。这个插件允许你向Facebook发送应用内事件,从而帮助你在Facebook Analytics中分析用户行为。
首先,确保你已经在pubspec.yaml
文件中添加了facebook_app_events
依赖:
dependencies:
flutter:
sdk: flutter
facebook_app_events: ^0.x.x # 请检查最新版本号并替换
然后,运行flutter pub get
来获取依赖。
接下来,在你的Flutter应用中,你需要按照以下步骤配置和使用facebook_app_events
插件:
-
初始化Facebook App Events:
在应用启动时,初始化Facebook App Events。通常这会在
main.dart
文件的_MyAppState
类的initState
方法中进行。
import 'package:flutter/material.dart';
import 'package:facebook_app_events/facebook_app_events.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
void initState() {
super.initState();
// 初始化Facebook App Events
FacebookAppEvents.activateApp();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Facebook App Events Example'),
),
body: Center(
child: ElevatedButton(
onPressed: _logPurchaseEvent,
child: Text('Log Purchase Event'),
),
),
);
}
void _logPurchaseEvent() {
// 日志购买事件,包含货币和金额
final Map<String, dynamic> parameters = {
'fb_currency': 'USD',
'fb_value': 10.0,
'content_type': 'product',
'content_ids': ['1234'], // 产品ID
};
FacebookAppEvents.logPurchase(parameters: parameters);
}
}
-
日志自定义事件:
你可以根据需要日志自定义事件。例如,当用户完成某个特定动作时,你可以发送一个自定义事件。
void _logCustomEvent() {
// 日志自定义事件,包含事件名称和参数
final Map<String, dynamic> parameters = {
'_eventName': 'custom_event_name', // 事件名称
'custom_parameter': 'value', // 自定义参数
};
FacebookAppEvents.logEvent(name: '_eventName', parameters: parameters);
}
-
处理激活和停用:
除了在应用启动时激活App Events,你可能还需要在应用进入后台或前台时进行相应的处理。
@override
void dispose() {
// 当应用进入后台时,可以调用此方法停用App Events(可选)
FacebookAppEvents.deactivateApp();
super.dispose();
}
注意:
- 确保你的Facebook应用ID已经正确配置在你的Android和iOS项目中。
- 查阅最新的
facebook_app_events
插件文档,因为API可能会随着版本更新而变化。 - 在实际使用中,确保遵守Facebook的数据政策和隐私条款。
这个示例展示了如何在Flutter应用中初始化并使用facebook_app_events
插件来追踪应用事件。根据你的具体需求,你可以扩展和修改这些代码。