feat(client/analytics): GA4 funnel instrumentation + unified home CTA
Add Firebase Analytics (GA4) funnel tracking to client_app: - AnalyticsService typed wrapper (enum-gated, no PII) + analyticsProvider - FirebaseAnalyticsObserver on GoRouter (screen_name via nameExtractor) - user_id = customer UUID, user_type property, set on auth resolve/upgrade - funnel events: curhat_start, curhat_repeat_start, auth_*, onboarding_usp_view, payment_view, payment_method_select, payment_started, pairing_matched/no_bestie - bottom-sheet events: verif_choice_view/select, bestie_choice_view/select, extension_offer_view, chat_extension_requested - payment_started carries app_instance_id + ga_session_id in the /payment-requests body for future server-side stitching (backend ignores) - curhat_mode_pick screen name disambiguates the chat/call mode picker (/payment/method-pick) from the payment-channel picker (/payment/method) - unify both home CTAs to "Aku Mau Curhat" Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -14,6 +14,9 @@ dependencies:
|
||||
# Firebase (Messaging only — Auth dropped in Phase 3.4, self-managed JWT now)
|
||||
firebase_core: ^3.12.1
|
||||
firebase_messaging: ^15.2.5
|
||||
# GA4 funnel analytics (no PII — see requirement/analytics-funnel-plan.md).
|
||||
# ^11.x is the firebase_core ^3.x-compatible major.
|
||||
firebase_analytics: ^11.4.4
|
||||
|
||||
# Social login (kept — buttons gated server-side via /api/shared/auth-providers
|
||||
# until the corresponding OAuth env vars are set on the backend)
|
||||
|
||||
Reference in New Issue
Block a user