mcpField
F
firebase-in-app-messaging

firebase-in-app-messaging

github.com/evanca营销与增长663163 次安装3 周前更新
代码仓库

关于 firebase-in-app-messaging

面向 Flutter 开发者的 Firebase In-App Messaging 实现指南,涵盖程序化触发、消息屏蔽、数据收集授权、设备测试与活动配置。

主要功能

  1. 01程序化触发与屏蔽消息
  2. 02授权式数据收集控制
  3. 03按设备测试活动
  4. 04活动定向与排期
  5. 05消息类型与 A/B 测试

适用场景

  1. 01在应用事件后触发消息
  2. 02支付流程中屏蔽消息
  3. 03数据收集前征求用户授权
  4. 04在指定设备测试活动展示

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/evanca/flutter-ai-rules --skill firebase-in-app-messaging

安装后在 Claude Code 中输入/firebase-in-app-messaging确认已加载。

详细介绍

Firebase In-App Messaging 技能

本技能介绍如何在 Flutter 应用中正确实现 Firebase In-App Messaging,涵盖设置、以编程方式触发消息、隐私控制、测试工作流和活动管理。

适用场景

在以下情况下使用本技能:

  • 在 Flutter 项目中设置 Firebase In-App Messaging。
  • 以编程方式触发或屏蔽应用内消息。
  • 实现数据收集选择加入功能,以满足 GDPR 或用户隐私合规要求。
  • 在发布前使用特定设备测试活动。
  • 配置消息类型、定位规则和 A/B 测试。

1. 设置和配置

flutter pub add firebase_in_app_messaging
import 'package:firebase_in_app_messaging/firebase_in_app_messaging.dart';
  • 使用任何 In-App Messaging 功能之前,请先初始化 Firebase。
  • 默认情况下,In-App Messaging 每天从服务器获取一次消息,以节省电量。
设置清单
  1. 确认在访问 In-App Messaging 之前,Firebase.initializeApp() 已完成。
  2. 在 Firebase 控制台中创建测试活动,以验证集成情况。
  3. 找到用于特定设备测试的 Installation ID(参见“测试”部分)。

2. 消息触发和显示

使用 Google Analytics 事件触发应用内消息,无需编写额外代码。如需以编程方式触发:

// Trigger a message tied to a custom event
await FirebaseInAppMessaging.instance.triggerEvent("purchase_complete");
在关键流程期间屏蔽消息
class PaymentScreen extends StatefulWidget {
  @override
  State<PaymentScreen> createState() => _PaymentScreenState();
}

class _PaymentScreenState extends State<PaymentScreen> {
  @override
  void initState() {
    super.initState();
    // Suppress messages during payment
    FirebaseInAppMessaging.instance.setMessagesSuppressed(true);
  }

  @override
  void dispose() {
    // Re-enable messages when leaving payment flow
    FirebaseInAppMessaging.instance.setMessagesSuppressed(false);
    super.dispose();
  }
}
  • 应用重启时,屏蔽功能会自动关闭。
  • 被屏蔽的消息会被忽略——取消屏蔽后,必须再次满足其触发条件。
  • 常见的屏蔽场景:付款处理、引导向导、表单提交页面。

3. 用户隐私和选择加入数据收集

默认情况下,In-App Messaging 会自动向所有目标用户投放消息。

停用自动收集 — iOS(Info.plist):

<key>FirebaseInAppMessagingAutomaticDataCollectionEnabled</key>
<false/>

停用自动收集 — Android(AndroidManifest.xml):

<meta-data
    android:name="firebase_inapp_messaging_auto_data_collection_enabled"
    android:value="false" />

在用户运行时选择加入后启用:

// Call after user consents to data collection
Future<void> enableMessaging() async {
  await FirebaseInAppMessaging.instance.setAutomaticDataCollectionEnabled(true);
}

// Call if user revokes consent
Future<void> disableMessaging() async {
  await FirebaseInAppMessaging.instance.setAutomaticDataCollectionEnabled(false);
}
  • 手动设置的偏好会在应用重启后保留,并覆盖配置文件中的值。
  • 为满足 GDPR 合规要求,默认停用自动收集,仅在用户明确同意后启用。

4. 测试和调试

查找 Installation ID
  • **Android:**按 FIAM.Headless 筛选 logcat — 查找 Starting InAppMessaging runtime with Installation ID YOUR_INSTALLATION_ID。
  • **iOS:**在 Xcode scheme 设置中添加 -FIRDebugEnabled 作为运行时参数。在控制台中查找 [Firebase/InAppMessaging][I-IAM180017]。
测试活动
  1. 在 Firebase 控制台中打开活动,然后选择在您的设备上测试。
  2. 输入上一步中的 Installation ID。
  3. 测试消息会在应用下次启动或进入前台时显示。
  • 始终在实际设备上测试,以确保正确呈现并正常运行。
  • 测试每种消息类型(模态、横幅、卡片、纯图片),以验证其在不同屏幕尺寸上的布局。

5. 活动管理

  • 在 Firebase 控制台的消息传递 > 应用内消息下创建活动。
  • 消息类型:模态、横幅、卡片或纯图片。
活动配置工作流
  1. 设计 — 选择消息类型并自定义外观(标题、正文、图片、按钮)。
  2. 定位 — 按应用版本、语言、用户细分群体或基于 Analytics 的条件定义受众。
  3. 安排 — 设置开始/结束日期和频次上限(一次、每个会话一次等)。
  4. 触发 — 选择用于显示消息的 Analytics 事件(例如 app_open、purchase_complete)。
  5. 测试 — 发布前使用设备测试。
  6. 发布 — 启动活动并监控效果。
  • 使用自定义元数据(键值对)传递额外信息,以便在用户与消息互动时获取。
  • 使用A/B 测试优化消息内容、时机和转化率。
  • 通过 Firebase 控制台分析监控活动效果(展示次数、点击次数、转化次数)。

参考资料

评论

支持 Markdown