Ringkasan migrasi

Layanan game Google Play, SDK game v1 mengandalkan Login dengan Google untuk Android yang tidak digunakan lagi dan akan dihapus dari SDK Auth layanan Google Play (com.google.android.gms:play-services-auth) pada tahun 2025. Aplikasi game baru dapat menggunakan game v1 hingga tahun 2025. Penghapusan Login dengan Google menyebabkan masalah dependensi untuk aplikasi game yang ada. Memigrasikan aplikasi game yang ada dari SDK game v1 ke SDK game v2 akan mengatasi masalah dependensi yang disebabkan oleh penghapusan Login dengan Google.

Migrasi Layanan game Google Play v1 ke v2 adalah update signifikan yang menyederhanakan pengembangan dan mendukung game lintas platform. Layanan game Google Play v2 memisahkan identitas platform dan identitas dalam game, yang bertindak sebagai sistem identitas tingkat platform yang otomatis mengautentikasi pemain saat peluncuran. Identitas platform kini terpisah dari sistem akun dalam game utama, yang harus Anda kelola secara terpisah menggunakan alat seperti Login dengan Google atau backend eksklusif. Integrasi SDK Layanan Play Games v2 menggunakan ID pemain untuk fitur platform seperti pencapaian dan papan peringkat tanpa mengubah alur orientasi atau login yang ada.

Dokumen ini membantu Anda memahami interaksi antara aplikasi game dan berbagai SDK. Karena linimasa penghentian penggunaan resmi, Anda harus mengikuti prinsip arsitektur, jalur, dan strategi komunikasi pemain dalam panduan migrasi ini untuk memastikan kontinuitas pemain.

Interaksi SDK

Diagram ini menggambarkan interaksi antara aplikasi game di Android, GMS Core, Layanan game Play, dan server game pihak ketiga (3P). Diagram ini menyoroti cara aplikasi menggunakan layanan Google untuk autentikasi dan fitur game, sekaligus berinteraksi dengan sistem pihak ketiga yang terpisah.

game v2 (Saat Ini)

Interaksi antara Aplikasi Game di
    Android, GMS Core, Layanan Play Games,
    dan server game pihak ketiga (3P).
Interaksi antara Aplikasi Game di Android, GMS Core, Layanan Play Games, dan server game pihak ketiga (3P). (klik untuk memperbesar).

game v1 (Warisan)

Interaksi antara Aplikasi Game di
    Android, GMS Core, Layanan Play Games,
    dan server game pihak ketiga (3P).
Interaksi antara Aplikasi Game di Android, GMS Core, Layanan Play Games, dan server game pihak ketiga (3P). (klik untuk memperbesar).

Berikut adalah ringkasan singkat komponen dan SDK:

  • Aplikasi Game.
    • Ini mewakili aplikasi game pengguna yang berjalan di perangkat yang didukung Android.
    • Aplikasi ini berisi dua komponen utama:
      • SDK game v1 atau game v2. SDK sisi klien yang bertanggung jawab untuk berinteraksi dengan Layanan Play Games.
      • SDK Auth. SDK Auth layanan Google Play bertanggung jawab untuk menangani alur autentikasi dan otorisasi pengguna di game v1.
    • Kedua SDK berkomunikasi menggunakan AIDL (Android Interface Definition Language), yang menunjukkan pola komunikasi antara proses atau layanan yang berbeda.
  • GMS Core juga disebut sebagai Layanan Google Play.
    • Ini adalah lapisan eksklusif Google di Android.
    • Aplikasi game menggunakan dua modul GMS Core:
      • Modul Game. menyediakan fitur khusus game, seperti papan peringkat, pencapaian, dan pengelolaan status game.
      • Modul Auth. Menangani operasi autentikasi dan otorisasi pengguna.
    • SDK Game dan Auth dalam aplikasi game berkomunikasi dengan modul yang sesuai menggunakan antarmuka AIDL, yang menunjukkan komunikasi antar-proses (IPC).

  • Gateway Layanan Play Games.
    • Gateway logis yang memediasi komunikasi antara GMS Core dan server Layanan Play Games.
    • Menangani permintaan API, transformasi data, dan autentikasi untuk komunikasi server.
  • Server Layanan Play Games.
    • Mewakili layanan backend Layanan Play Games yang bertanggung jawab untuk menyimpan data game, mengelola akun pengguna, dan memfasilitasi fitur multiplayer.
  • Gateway game pihak ketiga.
    • Jika aplikasi game Anda memenuhi syarat sebagai aplikasi pihak ketiga (3P), library klien akan berkomunikasi dengan server Layanan Play Games melalui server game pihak ketiga.
    • Menunjukkan bahwa aplikasi juga dapat melakukan autentikasi dengan penyedia layanan lain.
  • Server game pihak ketiga.
    • Mewakili server eksternal opsional yang dapat berinteraksi dengan aplikasi game, kemungkinan untuk fitur kustom atau pengelolaan data.
    • Komunikasi dengan aplikasi terjadi melalui gateway game pihak ketiga.

Alasan memigrasikan game ke Layanan Play Games v2

Transisi dari Layanan Play Games v1 ke v2 adalah modernisasi arsitektur utama yang menyederhanakan pengembangan dan mendukung game lintas platform.

Tidak seperti v1, yang berfungsi sebagai sistem identitas dalam game utama, Layanan game Play v2 memisahkan identitas platform dan identitas dalam game. Layanan ini bertindak sebagai sistem identitas tingkat platform yang otomatis mengautentikasi pemain saat peluncuran untuk mengelola fitur seperti pencapaian dan papan peringkat.

Anda kini harus mengelola sistem akun dalam game utama game secara terpisah menggunakan alat seperti Login dengan Google atau backend eksklusif. SDK Layanan Play Games v2 memungkinkan game menggunakan ID pemain Layanan Play Games untuk mengakses fitur platform tanpa mengubah alur orientasi atau login yang ada. Dokumen ini memandu Anda melalui migrasi, yang mencakup prinsip arsitektur, jalur, dan strategi komunikasi pemain. Kepatuhan sangat penting untuk kontinuitas pemain mengingat linimasa penghentian penggunaan resmi.

Membandingkan autentikasi platform dan autentikasi dalam game

Di Layanan Play Games v2, konsep "login" dipisahkan menjadi dua lapisan yang berbeda:

  • Identitas platform. SDK menangani autentikasi platform.
  • Identitas dalam game.

Autentikasi platform

Layanan Play Games berfungsi sepenuhnya sebagai lapisan engagement platform. Layanan ini mengelola hubungan pemain dengan ekosistem Google Play Game (Pencapaian, Papan Peringkat, dan Peristiwa), bukan dengan autentikasi ke akun atau inventaris game tertentu.

  • Senyap &Otomatis: Autentikasi terjadi secara otomatis di latar belakang saat game diluncurkan. Tidak ada tombol "Login" manual yang diperlukan untuk Layanan Play Games itu sendiri.
  • ID Pemain: Setelah autentikasi platform berhasil, Layanan Play Games akan memberikan ID Pemain yang stabil. ID ini konsisten di seluruh perangkat untuk game yang sama, tetapi harus digunakan terutama untuk melacak statistik platform (seperti progres Pencapaian).
  • Dipisahkan: Layanan Play Games v2 tidak boleh digunakan sebagai sistem identitas utama game Anda untuk mengelola akun dalam game pemain dengan progres atau inventaris game mereka. Layanan Play Games v2 berfungsi sepenuhnya sebagai ID platform sekunder yang persisten.

Autentikasi dalam game

Developer bertanggung jawab untuk mengelola "Akun Dalam Game" (IGA). Ini adalah sistem identitas yang mengikat progres, inventaris, dan mata uang pemain dalam game Anda.

  • Identitas Utama: Anda dapat menggunakan backend sendiri, Login dengan Google (SiWG), atau penyedia lain sebagai metode login utama.
  • Independensi: Pemain dapat login ke Layanan Play Games (Identitas Platform) untuk mendapatkan pencapaian saat login ke Akun Dalam Game tertentu. Misalnya, akun tamu, atau akun SiWG tertentu.
  • Pengelolaan Beberapa Akun Dalam Game: Layanan Play Games hanya bertanggung jawab atas autentikasi platform dengan game Anda yang mengelola autentikasi utama pemain ke akun dalam game (IGA). Artinya, tidak akan ada perubahan pada alur game yang ada tentang cara pemain beralih antar-akun dalam game. Saat pemain melakukannya, mereka akan tetap diautentikasi ke platform Play Games menggunakan Layanan Play Games dan Anda akan terus mengirimkan data mereka yang terkait dengan pencapaian dan fitur Layanan Play Games lainnya terhadap ID Pemain yang persisten.

Persyaratan migrasi: Mengikat akun dalam game dengan Google Open ID, bukan ID Pemain Layanan Play Games

Di Layanan Play Games v1, developer menggunakan Layanan Play Games sebagai penyedia identitas utama. Tombol "Google Play" akan menautkan Akun Dalam Game (IGA) pemain langsung ke Player ID mereka.

Layanan Play Games v2 mengubah hal ini dengan menyediakan autentikasi platform otomatis dan senyap saat peluncuran. Player ID yang dihasilkan kini digunakan secara eksklusif untuk fitur platform seperti papan peringkat dan pencapaian, terpisah dari login akun utama.

Game kini harus mengelola identitas utama secara terpisah melalui layar login khusus yang menawarkan metode seperti "Login dengan Google" (SiWG) atau akun sosial lainnya. Yang terpenting, Layanan Play Games v2 tidak boleh digunakan sebagai sistem identitas utama.

Perubahan arsitektur ini memerlukan perubahan yang sesuai dalam cara developer menyusun data akun mereka. Akun Dalam Game (IGA) harus dipisahkan dari pengikatan utama ke Player ID.

Sebagai gantinya, IGA kini harus terikat ke ID utama yang stabil dan independen dari Layanan Play Games. ID yang direkomendasikan adalah Open ID yang disediakan oleh alur Login dengan Google (SiWG). Open ID ini berfungsi sebagai kunci unik dan persisten untuk akun utama pemain dalam sistem Anda.

Namun, IGA masih dapat ditautkan ke Player ID sebagai pengikatan sekunder. Link sekunder ini memiliki dua fungsi penting:

  1. Link ini memungkinkan game terus melacak dan memperbarui progres untuk fitur Play Game (pencapaian, dll.) yang terkait dengan pemain tertentu.
  2. Link ini mengaktifkan fungsi "Pulihkan dengan Lancar", yang memungkinkan game otomatis mencatat pemain ke IGA yang terakhir digunakan hanya di perangkat baru atau setelah penginstalan ulang.

Memahami model identitas yang dipisahkan ini adalah kunci untuk membuka jalur migrasi teknis yang benar untuk game Anda.

Perbandingan fitur

Tabel ini memberikan perbandingan fitur antara SDK game v1 dan game v2:


Fitur

SDK game v1

SDK game v2

Autentikasi

Integrasi dengan play-services-auth diperlukan.

Disederhanakan dan dioptimalkan; tidak memerlukan play-services-auth.

Otorisasi

Kode tambahan untuk keberhasilan, kegagalan, dan percobaan ulang.

Dikelola oleh SDK

Token Akses Server

Dapat meminta cakupan OAuth 2.0 tambahan dengan GoogleSigninClient.

Kode tambahan untuk penanganan error selama autentikasi.

Dapat meminta tiga cakupan identitas OAuth 2.0 dasar dengan GamesSignInClient saat meminta akses sisi server ke API web Layanan Play Games.

Untuk mengetahui informasi selengkapnya, lihat Akses sisi server ke Layanan Play Games dan Mengambil kode autentikasi server.


Proses login

Menggunakan GoogleSigninClient.

Kode tambahan untuk penanganan kode boilerplate untuk autentikasi otomatis dan penanganan error.

Menggunakan GamesSignInClient.

SDK menangani kode boilerplate, autentikasi otomatis, dan penanganan error. "Login" dipisahkan menjadi dua lapisan yang berbeda:
  • Autentikasi platform: ditangani oleh SDK Layanan Play Games v2.
  • Autentikasi dalam game: ditangani oleh game.

Pop-up Selamat Datang

Kode tambahan diperlukan.
Developer dapat mengontrol penempatan dan waktunya.

Tidak memerlukan kode tambahan. Antarmuka pengguna yang konsisten di semua game yang dikonfigurasi dengan SDK game v2.

Dependensi

Memerlukan play-services-auth.

Modul Game menangani otorisasi dan autentikasi. Anda tidak perlu menambahkan dependensi tambahan.
Logout

Menggunakan GoogleSignInClient.signOut.

API logout tidak diperlukan karena Layanan Play Games v2 adalah identitas platform yang persisten.

Beberapa akun Layanan Play Games dan setelan per game

Pengelolaan akun dapat dilakukan dalam game Anda.

Pengguna dapat mengubah profil Layanan Play Games di setelan perangkat seluler. Untuk mengetahui informasi selengkapnya, lihat cara beralih profil Play Game di perangkat seluler.