API Recall

Recall API memungkinkan game menggunakan Layanan game Play (PGS) sebagai pendamping mekanisme login yang ada, misalnya login dengan Google, dan sinkronisasi lancar pemain informasi login di seluruh perangkat mereka untuk mengurangi churn orientasi dan meningkatkan retensi setelah 1 hari. API mengelola link antara akun Layanan game Play (PGS) pengguna dan akun dalam game 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 kini memutuskan untuk memainkan game di Google Play Game di PC untuk yang pertama baik. Pengguna akan otomatis login dengan akun PGS-nya, dan klien game akan memeriksa apakah ada progres yang tersedia untuk PGS ini . Server game kemudian menanyakan ke Google untuk melihat apakah ada token untuk akun PGS ini. Karena ada, Google mengirimkan kembali token recall, dan server game menggunakan token tersebut untuk menemukan akun terkait pengguna Racer94, dan memulihkan progres mereka. Karena login dengan PGS adalah pengalaman yang lancar, progres pengguna dapat dipulihkan oleh aplikasi tanpa pengguna perlu memasukkan nama pengguna atau {i>password<i}. Selain itu, developer dapat menggunakan login PGS dengan sistem identitas mereka yang sudah ada dan mengandalkan Google untuk menyimpan link antara progres pemain dan akun PGS mereka.

    Server game memulihkan progres dengan
token recall

Seperti yang terlihat dalam contoh di atas, ada dua tindakan utama yang dilakukan oleh Recall API:

  • Menyimpan token dengan Google saat pengguna login dengan salah satu token dalam game menggunakan akun layanan.
  • Mengambil token untuk pengguna guna memulihkan data dalam game menggunakan akun layanan.

Selain token recall, Recall API juga memerlukan ID yang stabil yang sesuai dengan akun dalam game, yang dikenal sebagai persona, untuk menegakkan batasan kardinalitas. Anda mungkin berpikir tentang persona sebagai label yang mewakili akun dalam game pengguna dalam sistem identitas, 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. Selain itu, 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 di antara klien game, server game, dan 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.

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 PGS

Anda dapat menyimpan token Recall untuk pengguna yang belum membuat profil Layanan game Play dengan menggunakan mode tanpa profil. Namun, ada dua hal yang harus diwaspadai:

  • Anda tidak dapat mengambil token untuk pengguna yang tidak memiliki profil Layanan game Play. {i>Profile<i} pembuatan akan otomatis diminta saat pengguna mencoba login ke game Anda dengan Layanan game Play di perangkat kedua.
  • Anda harus mengikuti panduan tambahan untuk memastikan Anda memiliki pemberitahuan yang sesuai yang menjelaskan item-item berikut dan mendapatkan persetujuan dari pengguna akhir yang sesuai:
    • Berbagi data Anda dengan Google untuk mengaktifkan akun Play Game fitur penautan.
    • Ketersediaan setelan untuk mengelola fitur berbagi ini, seperti Play Game setelan.
    • Pemrosesan data tersebut menurut Privasi Google Kebijakan kami.

Menyimpan pasangan token dan persona

Pengguna tanpa profil PGS membuka game

  1. Pengguna tanpa profil PGS membuka game yang memiliki penarikan tanpa profil mengaktifkan pembuatan versi.
  2. Game SDK memicu login otomatis, yang gagal karena pengguna telah tanpa profil PGS.
  3. Game SDK menampilkan snackbar yang memberi tahu pengguna bahwa game telah integrasi dengan Google. Snackbar ini dapat ditindaklanjuti—pengguna dapat menonaktifkan panggil ulang hingga profil dibuat.
  4. Game meminta akses recall. Perlu diperhatikan bahwa PGS menolak permintaan akses recall jika ada profil PGS di perangkat atau saat tidak ada profil Google Akun di perangkat. Dalam hal ini, game harus dilanjutkan tanpa menggunakan PGS.
  5. Setelah pengguna masuk dengan akun dalam {i> game<i}, {i>game<i} membuat token dan pasangan persona untuk pengguna yang sesuai dengan akun dalam game mereka. Pertandingan menyimpan pasangan ini dengan Google. Permainan mungkin menyimpan lebih banyak token nanti jika pengguna masuk ke akun dalam {i>game<i} lainnya.

Meluncurkan game di perangkat baru

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

Langkah berikutnya

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