技能 编程开发 Flutter Firebase 应用内消息

Flutter Firebase 应用内消息

v20260315
firebase-in-app-messaging
介绍如何在 Flutter 中集成 Firebase 应用内消息,涵盖初始化、触发与屏蔽、隐私与用户授权、测试调试及在控制台配置活动的操作流程。
获取技能
367 次下载
概览

Firebase In-App Messaging Skill

This skill defines how to correctly use Firebase In-App Messaging in Flutter applications.

When to Use

Use this skill when:

  • Setting up Firebase In-App Messaging in a Flutter project.
  • Triggering or suppressing in-app messages programmatically.
  • Implementing opt-in data collection for user privacy.
  • Testing campaigns with specific devices.

1. Setup and Configuration

flutter pub add firebase_in_app_messaging
import 'package:firebase_in_app_messaging/firebase_in_app_messaging.dart';
  • Initialize Firebase before using any In-App Messaging features.
  • In-App Messaging retrieves messages from the server once per day by default to conserve power.

Finding your Installation ID for testing:

  • Android: Look for I/FIAM.Headless: Starting InAppMessaging runtime with Installation ID YOUR_INSTALLATION_ID in logcat (filter by "FIAM.Headless").
  • iOS: Enable debug mode by adding -FIRDebugEnabled as a runtime argument in Xcode's scheme settings; find [Firebase/InAppMessaging][I-IAM180017] in Xcode console logs.

2. Message Triggering and Display

Use Google Analytics events to trigger in-app messages without additional code. For programmatic triggering:

FirebaseInAppMessaging.instance.triggerEvent("eventName");

Suppress messages during critical flows (e.g., payment processing):

FirebaseInAppMessaging.instance.setMessagesSuppressed(true);
// Re-enable when appropriate:
FirebaseInAppMessaging.instance.setMessagesSuppressed(false);
  • Suppression is automatically turned off on app restart.
  • Suppressed messages are ignored — their trigger conditions must be met again after suppression is lifted.
  • Platform-specific message interaction callbacks (iOS/Android) are not directly accessible from Flutter; use native APIs for those.

3. User Privacy and Opt-In Data Collection

By default, In-App Messaging automatically delivers messages to all targeted users.

Disable automatic collection — iOS (Info.plist):

FirebaseInAppMessagingAutomaticDataCollectionEnabled = NO

Disable automatic collection — Android (AndroidManifest.xml):

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

Enable for users who opt in:

FirebaseInAppMessaging.instance.setAutomaticDataCollectionEnabled(true);
  • Manually set preferences persist through app restarts, overriding configuration file values.

4. Testing and Debugging

  • Use the Firebase console's "Test on your Device" feature, entering the app's Firebase Installation ID to send test messages on demand.
  • Always test on actual devices for proper rendering and behavior.

5. Campaign Management

  • Create campaigns in the Firebase console under Messaging.
  • Message types: modal, banner, card, or image-only.
  • Use custom metadata (key-value pairs) to pass additional info accessible when users interact with messages.
  • Target based on user segments, app version, language, and Analytics-based conditions.
  • Use A/B testing to optimize message content and delivery.
  • Monitor campaign performance through Firebase console analytics.

References

信息
Category 编程开发
Name firebase-in-app-messaging
版本 v20260315
大小 3.62KB
更新时间 2026-04-08
语言