Recall API memungkinkan game dapat mengelola link antara pengguna PGS dan akun dalam game dengan cara menyimpan token recall menggunakan server Google. Berikut skenario contoh 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.
Sesuai dengan contoh di atas, ada dua tindakan utama yang dilakukan oleh Recall API: menyimpan token dengan Google saat pengguna login dengan salah satu tindakan dalam game akun, dan mengambil token agar pengguna dapat memulihkan akun dalam game.
Selain token recall, Recall API juga memerlukan ID stabil yang sesuai dengan akun dalam game, yang disebut persona, untuk menerapkan batasan kardinalitas. Persona bisa dianggap sebagai label yang mewakili akun dalam game pengguna dalam sistem identitas developer, dan token recall bisa dianggap 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 mendetail untuk menyimpan & 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.
Langkah berikutnya
Untuk mengintegrasikan Recall API dengan klien dan server game Anda, ikuti panduan ini.