Recall API memungkinkan game dapat mengelola link antara pengguna Layanan game Google Play (PGS) dan akun dalam game mereka dengan menyimpan token recall menggunakan server Google. Berikut adalah contoh skenario penggunaan Recall API.
Pengguna memainkan game seorang developer yang memiliki sistem identitas untuk melacak progres pengguna, dan menggunakan PGS secara paralel dengan metode autentikasi lainnya untuk mencatat pengguna ke dalam game. Di contoh ini, pengguna diminta login ke akun PGS Laura, dan membuat akun dalam game dengan sistem identitas developer yang disebut Racer94. Saat pengguna memainkan game, server game developer akan menyinkronkan progresnya.
Developer menyimpan token recall secara terpisah ke Google, yang sesuai dengan akun dalam game pengguna. Google otomatis menyimpan token recall tersebut di profil PGS pengguna.
Pengguna dapat memainkan game di GPG di PC untuk pertama kalinya. Pengguna secara otomatis login dengan akun PGS-nya, dan klien game akan memeriksa ketersediaan progres untuk pengguna PGS ini. Lalu, server game akan mengkueri Google untuk memeriksa ketersediaan token untuk akun PGS ini. Jika ada, Google akan mengirimkan kembali token recall, dan server game menggunakan token tersebut untuk menemukan akun terkait pengguna Racer94, dan memulihkan progresnya. Pengalaman login yang lancar dengan PGS membuat progres pengguna dapat dipulihkan oleh aplikasi tanpa perlu memasukkan nama pengguna atau sandi. Selain itu, developer juga dapat menggunakan login PGS dengan sistem identitas yang sudah ada, dan mengandalkan Google untuk menyimpan link antara progres pemain dan akun PGS.
Seperti yang terlihat pada contoh sebelumnya, ada dua tindakan utama yang dilakukan oleh Recall API:
Menyimpan token dengan Google saat pengguna login dengan salah satu akun dalam game.
Mengambil token untuk pengguna guna memulihkan akun dalam game mereka.
Selain token recall, Recall API juga memerlukan ID stabil yang sesuai dengan akun dalam game, yang disebut persona, untuk menerapkan batasan kardinalitas. Anda dapat menganggap persona sebagai label yang mewakili akun dalam game pengguna dalam sistem identitas developer, dan token recall sebagai kunci yang digunakan untuk memulihkan akun dalam game pengguna ke game. Nilai persona dan token tidak boleh digunakan kembali di berbagai project PGS. Meskipun token recall dapat diubah dari waktu ke waktu, persona harus stabil sesuai dengan akun dalam game pengguna.
Aturan kardinalitas
Recall API menerapkan hubungan 1:1 antara profil PGS dan akun dalam game (disebut aturan kardinalitas), dengan satu persona hanya dapat ditautkan ke satu profil PGS, dan satu profil PGS hanya dapat ditautkan ke satu persona. Persona digunakan sebagai ID yang stabil untuk akun dalam game karena token recall dapat berubah dari waktu ke waktu.
Persona yang ditautkan ke profil PGS juga dapat diubah dari waktu ke waktu (karena akun dalam game yang berbeda sudah ditautkan ke profil PGS).
Alur teknis untuk menyimpan dan mengambil token recall
Bagian ini membahas alur teknis antara klien dan server game dengan server Google saat menyimpan dan mengambil token recall.
Langkah 1: Login ke Pengguna PGS dan ambil ID sesi
Game akan menginisialisasi PGS SDK dan mencoba memproses login pengguna dengan PGS.
Dengan asumsi pengguna sudah login, minta ID sesi dari SDK Game pada klien game, dan minta token OAuth 2.0 dari backend OAuth Google. ID sesi dan token OAuth 2.0 digunakan untuk berkomunikasi dengan backend Google Game.
Langkah 2: Ambil token recall yang tersedia
Meminta token recall yang terkait dengan akun pengguna PGS. Jika token tersedia, lanjutkan ke Langkah 3a dan pulihkan progresnya. Atau, jika akun ini adalah pengguna baru dan tidak memiliki token, lanjutkan ke Langkah 3b dan simpan token baru.
Langkah 3a: Jika token tersedia, pulihkan progres
Jika token tersedia, ambil dan dekripsi token tersebut, serta pulihkan data pengguna.
Langkah 3b: Jika token tidak tersedia, simpan token
Karena tidak ada token yang tersedia, tidak ada progres yang dipulihkan. Pengguna dapat melanjutkan login dengan sistem identitas developer, atau membuat akun baru jika tidak memiliki akun. Catatan - login ini tidak dilakukan dengan PGS (karena sudah dilakukan), tetapi dengan sistem identitas developer di luar PGS.
Buat token recall terenkripsi yang mengenkode akun dalam game pengguna, dan kirim ke Google bersama dengan ID sesi dan token OAuth 2.0. Di tahap ini, Google akan membuat atribusi antara token recall yang dikirim, dan akun PGS pemain.
Alur untuk pengguna tanpa profil Layanan game Play
Anda dapat menyimpan token recall untuk pengguna yang belum membuat profil PGS dengan menggunakan mode tanpa profil. Namun, ada dua peringatan penting:
- Anda tidak dapat mengambil token untuk pengguna yang tidak memiliki profil Layanan game Play. Pembuatan profil akan otomatis diminta saat pengguna mencoba login ke game Anda dengan Layanan game Play di perangkat kedua.
- Anda harus mengikuti pedoman tambahan
untuk memastikan Anda memiliki pemberitahuan yang sesuai yang menjelaskan item berikut dan
mendapatkan izin pengguna akhir yang sesuai:
- Pembagian data Anda kepada Google untuk mengaktifkan fitur penautan akun Play Game.
- Ketersediaan setelan untuk mengelola berbagi ini, seperti setelan Play Game.
- Pemrosesan data tersebut berdasarkan Kebijakan Privasi Google.
Menyimpan pasangan token dan persona
- Pengguna tanpa profil PGS membuka game yang mengaktifkan recall tanpa profil.
- Games SDK memicu login otomatis, yang gagal karena pengguna tidak memiliki profil PGS.
- Games SDK menampilkan snackbar yang memberi tahu pengguna bahwa game memiliki integrasi dengan Google. Snackbar ini dapat ditindaklanjuti—pengguna dapat menonaktifkan pengingat hingga profil dibuat.
- Game meminta akses recall. Perhatikan bahwa PGS menolak permintaan akses recall saat ada profil PGS di perangkat atau saat tidak ada Akun Google di perangkat. Dalam hal ini, game harus dilanjutkan tanpa menggunakan PGS.
- Setelah pengguna login dengan akun dalam game, game akan membuat pasangan token dan persona untuk pengguna yang sesuai dengan akun dalam game mereka. Game menyimpan pasangan ini dengan Google. Game mungkin menyimpan lebih banyak token nanti jika pengguna login ke akun dalam game lainnya.
Meluncurkan game di perangkat baru
- Pengguna tanpa profil PGS membuka game yang mengaktifkan recall tanpa profil di perangkat.
- Game mencatat token recall tanpa profil seperti yang dijelaskan dalam Menyimpan token dan pasangan persona.
- Pengguna membuka game yang sama di perangkat lain yang memiliki penyiapan akun yang sama.
- Games SDK memicu pembuatan profil. Pengguna dapat meninjau dan menolak token recall yang disimpan sebelumnya. Pengguna membuat profil PGS saat ini.
- Login otomatis ke PGS selesai, dan game menerima status diautentikasi.
- Game mengambil token recall untuk pengguna seperti biasa.
Langkah berikutnya
Untuk mengintegrasikan Recall API dengan klien dan server game Anda, ikuti panduan ini.