Firebase In-App Messaging Flutter is a development claude skill built by Ivanna. Best for: Flutter developers implement targeted in-app messaging campaigns with user opt-in controls and programmatic suppression during sensitive flows..
- What it does
- Configure Firebase In-App Messaging in Flutter apps with triggering, suppression, privacy controls, and campaign management.
- Category
- development
- Created by
- Ivanna
- Last updated
Firebase In-App Messaging Flutter
Configure Firebase In-App Messaging in Flutter apps with triggering, suppression, privacy controls, and campaign management.
Skill instructions
name: firebase-in-app-messaging 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
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_IDin logcat (filter by "FIAM.Headless"). - iOS: Enable debug mode by adding
-FIRDebugEnabledas 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
Use this skill
Most skills are portable instruction packages. Claude Code supports SKILL.md directly. Other agents can use adapted files like AGENTS.md, .cursorrules, and GEMINI.md.
Claude Code
Save SKILL.md into your Claude Skills folder, then restart Claude Code.
mkdir -p ~/.claude/skills/firebase-in-app-messaging-flutter && curl -L "https://raw.githubusercontent.com/evanca/flutter-ai-rules/80040ba8c439d568cbb293afec991b987026fbaa/skills/firebase-in-app-messaging/SKILL.md" -o ~/.claude/skills/firebase-in-app-messaging-flutter/SKILL.mdInstalls to ~/.claude/skills/firebase-in-app-messaging-flutter/SKILL.md.
Use cases
Flutter developers implement targeted in-app messaging campaigns with user opt-in controls and programmatic suppression during sensitive flows.
Reviews
No reviews yet. Be the first to review this skill.
No signup required
Stats
Creator
IIvanna
@evanca