REACTIVATION_GUIDE.md 3.4 KB

Google Play Games Services Reactivation Guide

Google Play Games Services have been implemented in the ZenTap app but are currently disabled via a feature flag to allow for future activation without code changes.

Current Status

  • Implemented: All Google Play Games functionality is fully coded
  • Configured: Android app is properly configured with permissions and dependencies
  • Integrated: Game tracking and UI components are integrated
  • Disabled: Feature flag prevents execution of Google Play Games methods

How to Reactivate

To enable Google Play Games Services, you only need to change one line of code:

Step 1: Enable the Feature Flag

In /lib/utils/google_play_games_manager.dart, change line 17:

// Current (disabled):
static const bool _isEnabled = false;

// Change to (enabled):
static const bool _isEnabled = true;

Step 2: Configure Google Play Console

Before enabling in production, you must:

  1. Create/Update Google Play Console App

    • Set up your app in Google Play Console
    • Configure OAuth consent screen
    • Add your app's SHA-1 fingerprint
  2. Create Achievements (in Google Play Console):

    • achievement_first_bubble - First Bubble Popped
    • achievement_100_bubbles - 100 Bubbles Popped
    • achievement_1000_bubbles - 1000 Bubbles Popped
    • achievement_5000_bubbles - 5000 Bubbles Popped
    • achievement_zen_master - Zen Master (10+ min session)
    • achievement_speed_demon - Speed Demon (1000 pts in 2 min)
    • achievement_perfect_session - Perfect Session
  3. Create Leaderboards (in Google Play Console):

    • leaderboard_high_score - High Score
    • leaderboard_zen_mode - Zen Mode Duration
    • leaderboard_total_bubbles - Total Bubbles Popped
    • leaderboard_longest_session - Longest Session
  4. Update Configuration:

    • Replace placeholder IDs in google_play_games_manager.dart with actual IDs from console
    • Update app_id in /android/app/src/main/res/values/strings.xml

Step 3: Test and Deploy

  1. Test with internal testing track in Google Play Console
  2. Verify achievements and leaderboards work correctly
  3. Deploy to production

What Works When Disabled

When disabled (_isEnabled = false):

  • ✅ App runs normally without any Google Play Games functionality
  • ✅ All game mechanics work as expected
  • ✅ No crashes or errors related to Google Play Games
  • ✅ UI shows "disabled" message in settings
  • ✅ No network calls to Google Play Games services

What Works When Enabled

When enabled (_isEnabled = true):

  • ✅ User can sign in/out of Google Play Games
  • ✅ Achievements unlock automatically during gameplay
  • ✅ Scores submit to leaderboards after each session
  • ✅ Players can view achievements and leaderboards
  • ✅ Progress tracking across game sessions

Files Involved

  • /lib/utils/google_play_games_manager.dart - Main service class
  • /lib/ui/google_play_games_widget.dart - UI component
  • /lib/game/zentap_game.dart - Game integration
  • /lib/ui/settings_screen.dart - Settings integration
  • /android/app/build.gradle.kts - Android dependencies
  • /android/app/src/main/AndroidManifest.xml - Android permissions
  • /android/app/src/main/res/values/strings.xml - App configuration

Dependencies

The app includes the required dependency:

dependencies:
  games_services: ^4.0.2

No additional dependencies need to be added when reactivating.