Flutter Facebook应用事件追踪插件flutter_facebook_appevents的使用
Flutter Facebook应用事件追踪插件flutter_facebook_appevents的使用
2019 © Weizhong Yang.
该插件将Facebook App Events功能集成到您的Flutter应用程序中。
它帮助您安装适用于iOS和Android的Facebook SDK 5.x,并在完成应用程序配置后使您的应用程序自动开始向Facebook发送事件。如果您愿意,还可以跟踪额外的事件。
安装
在pubspec.yaml
文件中添加以下依赖项:
dependencies:
flutter_facebook_appevents:
git: "git@gitlab.kkinternal.com:xddd/flutter_facebook_appevents.git"
然后运行flutter packages get
命令。
配置
为了在iOS和Android平台上集成Facebook SDK,您需要进行一些额外的配置。
iOS
请在您的Info.plist
文件中添加以下行:
<key>FacebookAppID</key>
<string>[YOUR_FB_APP_ID]</string>
<key>FacebookDisplayName</key>
<string>[YOUR_FB_APP_NAME]</string>
<key>FacebookAutoLogAppEventsEnabled</key>
<true/>
<key>FacebookAdvertiserIDCollectionEnabled</key>
<true/>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>Facebook</string>
<key>CFBundleURLSchemes</key>
<array>
<string>fb[YOUR_FB_APP_ID]</string>
</array>
</dict>
</array>
您的Facebook应用ID和显示名称是必需的。另一方面,您可以自行决定是否启用自动记录应用事件和收集广告ID。
Android
请在您的AndroidManifest.xml
文件中的application
范围内添加以下行:
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
<meta-data
android:name="com.facebook.sdk.AutoLogAppEventsEnabled"
android:value="true" />
<meta-data
android:name="com.facebook.sdk.AutoInitEnabled"
android:value="true" />
<meta-data
android:name="com.facebook.sdk.AdvertiserIDCollectionEnabled"
android:value="false" />
然后,在app/src/main/res/values
目录下创建一个名为strings.xml
的文件,并添加以下行:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="facebook_app_id">[YOUR_FB_APP_ID]</string>
<string name="fb_login_protocol_scheme">fb[YOUR_FB_APP_ID]</string>
</resources>
手动事件
您可以使用插件来跟踪额外的事件。要跟踪手动事件,只需调用FacebookAppEvents.logEvent()
方法。例如:
FacebookAppEvents.logEvent("EVENT_NAME", {"PARAMETER_NAME": "VALUE"});
您可以通过查看类如EventName
和ParameterName
来查找Facebook支持的事件和参数。
注意事项
我编写此包仅出于自己的需求,因为我在2019年6月找不到任何用于Facebook App Events的包。然而,当我发布此包时,我发现有许多其他优秀的包可以实现相同的目的。您可以考虑查看以下包:
- facebook_app_events by oddbit.id.
- facebook_analytics_plugin by Khalit Hartmann.
示例代码
以下是一个简单的示例代码,展示了如何使用flutter_facebook_appevents
插件:
import 'package:flutter/material.dart';
import 'package:flutter_facebook_appevents/flutter_facebook_appevents.dart';
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
[@override](/user/override)
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
[@override](/user/override)
void initState() {
super.initState();
}
[@override](/user/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: <Widget>[
TextButton(
child: const Text("重置用户ID"),
onPressed: () => FacebookAppEvents.resetUserId()),
TextButton(
child: const Text("设置用户ID"),
onPressed: () => FacebookAppEvents.setUserId("user")),
TextButton(
child: const Text("记录事件"),
onPressed: () =>
FacebookAppEvents.logEvent("test_", {"k": "v"})),
],
),
),
),
);
}
}
更多关于Flutter Facebook应用事件追踪插件flutter_facebook_appevents的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter Facebook应用事件追踪插件flutter_facebook_appevents的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
flutter_facebook_appevents
是一个 Flutter 插件,用于在 Flutter 应用中集成 Facebook 应用事件追踪。通过这个插件,你可以将应用中的用户行为事件发送到 Facebook Analytics,以便更好地分析和优化应用性能。
安装
首先,你需要在 pubspec.yaml
文件中添加 flutter_facebook_appevents
依赖:
dependencies:
flutter:
sdk: flutter
flutter_facebook_appevents: ^0.13.0
然后运行 flutter pub get
来安装依赖。
初始化
在 main.dart
文件中初始化 flutter_facebook_appevents
:
import 'package:flutter/material.dart';
import 'package:flutter_facebook_appevents/flutter_facebook_appevents.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
// 初始化 Facebook App Events
final facebookAppEvents = FacebookAppEvents();
facebookAppEvents.activateApp();
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
记录事件
你可以使用 logEvent
方法来记录自定义事件。例如,记录一个用户点击按钮的事件:
import 'package:flutter/material.dart';
import 'package:flutter_facebook_appevents/flutter_facebook_appevents.dart';
class MyHomePage extends StatelessWidget {
final facebookAppEvents = FacebookAppEvents();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Facebook App Events'),
),
body: Center(
child: ElevatedButton(
onPressed: () {
// 记录一个自定义事件
facebookAppEvents.logEvent(
name: 'ButtonClicked',
parameters: {'button_id': 'home_page_button'},
);
print('Button Clicked Event Logged');
},
child: Text('Click Me'),
),
),
);
}
}
记录标准事件
Facebook 提供了一系列标准事件,你可以直接使用这些事件来追踪常见的用户行为。例如,记录一个“完成注册”事件:
facebookAppEvents.logEvent(
name: 'CompletedRegistration',
parameters: {
'registration_method': 'email',
},
);
设置用户属性
你可以使用 updateUserProperties
方法来设置用户属性:
facebookAppEvents.updateUserProperties(
{
'email': 'user@example.com',
'favorite_color': 'blue',
},
);
禁用自动日志事件
默认情况下,flutter_facebook_appevents
会自动记录一些事件,例如应用启动和应用进入后台。你可以通过以下方式禁用自动日志事件:
facebookAppEvents.autoLogAppEventsEnabled = false;
调试
在开发过程中,你可以启用调试模式来查看日志输出:
facebookAppEvents.debugEnabled = true;