Neon Chain - Improvements
Today was a busy day. Added Firebase Analytics and had a hell of a time getting it to work the way I wanted it to.
- Added Firebase Analytics to the project — full setup including google-services.json placement, Gradle dependency wiring, and Custom Android Build integration
- Added AnalyticsManager.gd autoload — calls Firebase directly via JavaClassWrapper, silently no-ops if Firebase is unavailable, never crashes the game
- Tracking 15 custom events: app_open, mode_selected, game_start, game_over, score_submitted, leaderboard_opened, share_png_created, reward_ad_offered, reward_ad_started, reward_ad_completed, extra_life_used, timed_bonus_used, ad_failed, settings_opened, credits_opened
- Key events carry parameters — game_over includes mode, score, combo, run time, and whether a rewarded ad was used; ad_failed carries failure reason
- Added log_settings_opened() call in ModeSelect.gd when gear is tapped and log_mode_selected() call when a mode is launched — only two files changed from the original
- Confirmed 42 total events flowing into Firebase DebugView in real time — all 15 custom events verified working end to end on device
- Completed pre-release build audit — identified and resolved all release blockers: internet permission, test ad flag, placeholder production ad IDs, debug overlay, debug flags, stale APK name, fake interstitial draw, and dead SFX references
- Removed dead SFX player infrastructure from Main.gd — six unreferenced .wav var declarations, _build_audio_players(), _play_sfx(), the _ready() call, and all call sites removed cleanly
- Removed all debug prints from PromoBannerManager.gd — console is now silent on startup
Neon Chain