Flutter Facebook应用事件追踪插件flutter_facebook_appevents的使用

Flutter Facebook应用事件追踪插件flutter_facebook_appevents的使用

2019 © Weizhong Yang.

pub package Actions Status

该插件将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"});

您可以通过查看类如EventNameParameterName来查找Facebook支持的事件和参数。

注意事项

我编写此包仅出于自己的需求,因为我在2019年6月找不到任何用于Facebook App Events的包。然而,当我发布此包时,我发现有许多其他优秀的包可以实现相同的目的。您可以考虑查看以下包:


示例代码

以下是一个简单的示例代码,展示了如何使用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

1 回复

更多关于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;
回到顶部