Skill

firebase-in-app-messaging

by evanca

AI Summary

Provides 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

B

Good

83/100

Standard Compliance72
Documentation Quality75
Usefulness82
Maintenance Signal100
Community Signal100
Scored Yesterday

GitHub Signals

Stars475
Forks49
Issues1
UpdatedToday
View on GitHub

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

My Fox Den

Community Rating

Works With

Cursor
Windsurf