AI SummaryProvides Flutter developers with structured guidance on integrating Firebase In-App Messaging, including setup, message triggering, privacy controls, and campaign testing to enhance user engagement.
Install
# Add to your project root as SKILL.md curl -o SKILL.md "https://raw.githubusercontent.com/evanca/flutter-ai-rules/main/skills/firebase-in-app-messaging/SKILL.md"
Description
Integrates Firebase In-App Messaging into Flutter apps. Use when setting up in-app messaging, triggering or suppressing messages, managing user privacy and opt-in data collection, or testing campaigns.
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 ` `dart 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: `dart FirebaseInAppMessaging.instance.triggerEvent("eventName"); ` Suppress messages during critical flows (e.g., payment processing): `dart 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. ---
Quality Score
Good
83/100
Trust & Transparency
Open Source — MIT
Source code publicly auditable
Verified Open Source
Hosted on GitHub — publicly auditable
Actively Maintained
Last commit Today
475 stars — Growing Community
49 forks