API Recall

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.

  1. 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.

    Pengguna diminta login dengan PGS dan akun
dalam game

  2. 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.

    Server game menyimpan token recall dengan server
Google

  3. 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.

    Server game memulihkan progres dengan
token recall

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.

Pengguna login 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.

Developer meminta ID
sesi

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.

Developer mengambil token
recall

Langkah 3a: Jika token tersedia, pulihkan progres

Jika token tersedia, ambil dan dekripsi token tersebut, serta pulihkan data pengguna.

Developer memulihkan data dari token
recall

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.

Pengguna login dengan
akun dalam game

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.

Developer menyimpan token recall

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

  1. Pengguna tanpa profil PGS membuka game yang mengaktifkan recall tanpa profil.
  2. Games SDK memicu login otomatis, yang gagal karena pengguna tidak memiliki profil PGS.
  3. 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.
  4. 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.
  5. 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

  1. Pengguna tanpa profil PGS membuka game yang mengaktifkan recall tanpa profil di perangkat.
  2. Game mencatat token recall tanpa profil seperti yang dijelaskan dalam Menyimpan token dan pasangan persona.
  3. Pengguna membuka game yang sama di perangkat lain yang memiliki penyiapan akun yang sama.
  4. Games SDK memicu pembuatan profil. Pengguna dapat meninjau dan menolak token recall yang disimpan sebelumnya. Pengguna membuat profil PGS saat ini.
  5. Login otomatis ke PGS selesai, dan game menerima status diautentikasi.
  6. Game mengambil token recall untuk pengguna seperti biasa.

Langkah berikutnya

Untuk mengintegrasikan Recall API dengan klien dan server game Anda, ikuti panduan ini.