Files
Ferrous-Solitaire/solitaire_gpgs/src/android.rs
T
2026-04-23 11:00:42 -07:00

13 lines
746 B
Rust

// TODO (Phase: Android) — implement JNI bindings here.
//
// Steps:
// 1. Add `jni` dependency under [target.'cfg(target_os = "android")'.dependencies]
// 2. Implement GpgsClient using cargo-mobile2 JNI bridge
// 3. pull(): call PlayGames.getSnapshotsClient().open("solitaire_quest_sync")
// -> deserialize JSON blob into SyncPayload
// 4. push(): serialize SyncPayload to JSON -> write to Saved Game slot
// 5. mirror_achievement(id): call PlayGames.getAchievementsClient().unlock(map_id(id))
// 6. Maintain a static ID mapping: our &str IDs -> GPGS achievement IDs (from Play Console)
// 7. On GameWonEvent, submit score to GPGS leaderboard
// 8. Add Google Sign-In button to Settings screen (Android build only, #[cfg] gated)