skills/evanca/flutter-ai-rules/firebase-analytics

firebase-analytics

SKILL.md

Firebase Analytics Skill

This skill defines how to correctly use Firebase Analytics in Flutter applications.

When to Use

Use this skill when:

  • Setting up and configuring Firebase Analytics in a Flutter project.
  • Logging predefined or custom events.
  • Setting user properties or default event parameters.
  • Applying best practices for analytics data collection.

1. Setup and Configuration

flutter pub add firebase_analytics
flutter run
import 'package:firebase_analytics/firebase_analytics.dart';

// After Firebase.initializeApp():
FirebaseAnalytics analytics = FirebaseAnalytics.instance;
  • Initialize Firebase before using any Firebase Analytics features.
  • Analytics automatically logs some events and user properties — no additional code needed for those.

2. Event Logging

Use predefined event methods when possible for maximum detail in reports and access to future Google Analytics features:

await FirebaseAnalytics.instance.logSelectContent(
  contentType: "image",
  itemId: itemId,
);

Use the general logEvent() method for both predefined and custom events:

await FirebaseAnalytics.instance.logEvent(
  name: "select_content",
  parameters: {
    "content_type": "image",
    "item_id": itemId,
  },
);

Custom events:

await FirebaseAnalytics.instance.logEvent(
  name: "share_image",
  parameters: {
    "image_name": name,
    "full_text": text,
  },
);
  • Event names are case-sensitive — names differing only in case create two distinct events.
  • You can log up to 500 different event types with no limit on total event volume.

3. Parameters and Properties

  • Parameter names: up to 40 characters, must start with an alphabetic character, contain only alphanumeric characters and underscores.
  • String parameter values: up to 100 characters.
  • The prefixes firebase_, google_, and ga_ are reserved — do not use them for parameter names.
  • Use custom parameters for non-numerical data (dimensions) or numerical data (metrics); register them in the Analytics console first.

Set default parameters for all future events (not supported on web):

await FirebaseAnalytics.instance.setDefaultEventParameters({
  'version': '1.2.3',
});

Clear a default parameter by setting it to null.


4. User Properties

await FirebaseAnalytics.instance.setUserProperty(
  name: 'favorite_food',
  value: favoriteFood,
);
  • Create custom definitions for user properties in the Analytics console before using them.
  • Use user properties for custom definitions, report comparisons, or audience criteria.

5. Best Practices

  • Request necessary permissions before collecting user data, especially on platforms with strict privacy controls.
  • Never log sensitive or personally identifiable information in events or user properties.
  • Use consistent naming conventions for custom events and parameters.
  • Group related events to track user flows and conversion funnels.
  • Test your analytics implementation before deploying to production.

References

Weekly Installs
3
GitHub Stars
482
First Seen
4 days ago
Installed on
windsurf3
mcpjam1
claude-code1
junie1
kilo1
zencoder1