Dokumen ini memandu Anda menyiapkan project Unity untuk menggunakan plugin Google Play Game untuk Unity. Anda akan mempelajari cara menginstal plugin dan mengonfigurasi project Unity Anda. Dokumen ini juga membahas cara memverifikasi layanan login.
Sebelum memulai
Tinjau persyaratan software. Siapkan Konsol Play dan instal Unity Hub.
Siapkan Konsol Play untuk game Anda.
Instal Unity Hub dan bangun game Anda di Unity.
Penginstalan Plugin
Untuk mendownload dan menginstal plugin Google Play Game untuk Unity, ikuti langkah-langkah berikut di Unity Hub:
Download repositori GitHub.
Di direktori
current-build
, temukan fileunitypackage
. File ini mewakili plugin. Misalnya, contoh tersebut akan terlihat seperti berikut:current-build/GooglePlayGamesPluginForUnity-X.YY.ZZ.unitypackage
Menyiapkan project Unity
Untuk menyiapkan project Unity di setelan pemutar, ikuti langkah-langkah berikut:
Buka project game Anda.
Di Unity Hub, klik Assets > Import Package > Custom Package untuk mengimpor file
unitypackage
ke dalam aset project Anda.Pastikan platform build Anda saat ini disetel ke Android.
Di menu utama, klik File > Build Settings.
Pilih Android lalu klik Switch Platform.
Harus ada item menu baru di bagian Window > Google Play Game. Jika tidak ada, muat ulang aset dengan mengklik Assets > Refresh, lalu coba tetapkan platform build lagi.
Di Unity Hub, klik File > Build Settings > Player Settings > Other Settings.
Di kotak Target API level, pilih versi.
Di kotak Scripting backend, masukkan
IL2CPP
.Di kotak Target architectures, pilih nilai.
Catat nama paket package_name.Anda dapat menggunakan informasi ini nanti.

Buat keystore baru
Untuk memvalidasi kredensial, Anda memerlukan kunci. Ikuti langkah berikut:
- Di Unity Hub, klik File > Build settings > Player settings.
- Di bagian Setelan publikasi, klik Pengelola keystore.
- Di jendela Keystore manager, klik Keystore > Create new > Anywhere.
- Pilih folder dan masukkan nama untuk keystore.
- Di kotak Password, masukkan sandi, lalu konfirmasi.
- Klik Tambahkan kunci.
Catat nama folder. Anda dapat menggunakan nama ini untuk membuat kredensial di Google Cloud.
Salin resource Android dari Konsol Play
Setiap pencapaian, papan peringkat, dan peristiwa yang Anda buat di Konsol Play akan menyertakan resource Android yang Anda gunakan saat menyiapkan project Unity.
Untuk mendapatkan resource Android untuk game Anda, ikuti langkah-langkah berikut:
Di Konsol Google Play, buka game.
Di halaman Layanan game Play - Konfigurasi (Grow > Layanan game Play > Penyiapan dan pengelolaan > Konfigurasi), klik Dapatkan resource.
Di jendela Resources, klik tab Android(XML).
Pilih dan salin konten resource Android (
AndroidManifest.xml
).
Menambahkan resource Android ke project Unity Anda
Tambahkan resource Android berikut ke project Unity Anda:
Di Unity Hub, klik Window > Google Play Games > Setup > Android Setup.
- Di kolom Directory to save constants, masukkan nama folder untuk file konstanta.
Di kolom Constants class name, masukkan nama class C# yang akan dibuat, termasuk namespace.
Misalnya, jika class C# adalah
id.cs
dan ada di bagian Assets > myproject > scripts > id.cs. Nama class konstanta dapat berupamyproject.scripts.id
.Di kolom Definisi resource, tempel data resource Android (file
AndroidManifest.xml
) yang Anda salin dari Konsol Google Play.Opsional: Di kolom Client ID, masukkan client ID aplikasi web yang ditautkan.
Untuk mendapatkan client ID game Anda dari Google Cloud, lihat Membuat client ID.
Ini hanya diperlukan jika Anda memiliki backend berbasis web untuk game dan memerlukan kode autentikasi server untuk ditukar dengan token akses oleh server backend, atau jika Anda memerlukan token ID untuk pemain guna melakukan panggilan API non-game lainnya.
Klik Setup. Tindakan ini akan mengonfigurasi game Anda dengan client ID dan membuat class C# yang berisi konstanta untuk setiap resource Android.
Di Unity Hub, klik Window > Google Play Games > Setup > Nearby Connections Setup.
Di kolom ID layanan koneksi terdekat, masukkan package_name.
Gunakan package_name yang sama dengan yang Anda gunakan dalam menyiapkan project Unity.
Klik Setup.
Memilih platform sosial
Plugin Layanan game Google Play mengimplementasikan antarmuka sosial Unity untuk kompatibilitas dengan game yang sudah menggunakan antarmuka tersebut saat berintegrasi dengan platform lain. Namun, beberapa fitur bersifat unik untuk Play Game dan ditawarkan sebagai ekstensi untuk antarmuka sosial standar yang disediakan oleh Unity.
Panggilan API standar dapat diakses melalui objek Social.Active yang merupakan referensi ke antarmuka ISocialPlatform. Ekstensi Layanan game Google Play non-standar dapat diakses dengan mentransmisikan objek Social.Active ke class PlayGamesPlatform apabila metode tambahan tersedia.
Menggunakan plugin tanpa mengganti platform media sosial default
Saat Anda memanggil PlayGamesPlatform.Activate
, Layanan game Google Play akan menjadi
implementasi platform media sosial default, yang berarti bahwa panggilan statis ke metode
di Social
dan Social.Active
akan dilakukan oleh plugin
Layanan game Google Play. Ini adalah perilaku untuk sebagian besar game yang menggunakan plugin.
Namun, jika karena alasan tertentu Anda ingin tetap membuat implementasi default dapat diakses (misalnya, untuk menggunakannya untuk mengirimkan pencapaian dan papan peringkat ke platform media sosial lain), Anda dapat menggunakan plugin Layanan Game Google Play tanpa mengganti implementasi default. Untuk melakukannya:
- Jangan menelepon
PlayGamesPlatform.Activate
- Jika
Xyz
adalah nama metode yang perlu Anda panggil di classSocial
, jangan panggilSocial.Xyz
. Sebagai gantinya, panggilPlayGamesPlatform.Instance.Xyz
- Jangan gunakan
Social.Active
saat berinteraksi dengan Layanan Google Play Game. Sebagai gantinya, gunakanPlayGamesPlatform.Instance
Dengan begitu, Anda bahkan dapat mengirimkan skor dan pencapaian secara bersamaan ke dua atau beberapa platform sosial:
// Submit achievement to original default social platform
Social.ReportProgress("MyAchievementIdHere", 100.0f, callback);
// Submit achievement to Google Play
PlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback);
Memverifikasi layanan login
Koneksi ke Layanan game Play otomatis dicoba menggunakan Layanan login saat game dibuka. Jika koneksi berhasil, game Anda akan menampilkan perintah login dan siap menggunakan plugin Layanan Game Google Play untuk Unity.
Jika belum pernah menggunakan Layanan game Google Play di perangkatnya, pengguna akan otomatis diarahkan melalui layar penyiapan satu kali untuk membuat akun Play Game.
Dalam metode Start
skrip Anda, proses hasil upaya login
otomatis, ambil status autentikasi, dan nonaktifkan
fitur Layanan game Play jika pengguna tidak login.
Jika versi plugin Unity sebelum v11
, Anda tidak dapat menggunakan fitur login.
using GooglePlayGames;
public void Start() {
PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
}
internal void ProcessAuthentication(SignInStatus status) {
if (status == SignInStatus.Success) {
// Continue with Play Games Services
} else {
// Disable your integration with Play Games Services or show a login button
// to ask users to sign-in. Clicking it should call
// PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
}
}
Kode hasil adalah enum yang dapat Anda gunakan untuk mengidentifikasi alasan kegagalan login.
Jika lebih suka menggunakan platform Social pada Unity, Anda dapat menggunakan kode berikut:
using GooglePlayGames;
public void Start() {
PlayGamesPlatform.Activate();
Social.localUser.Authenticate(ProcessAuthentication);
}
Anda tidak dapat melakukan panggilan Google Play Game Services API sampai mendapatkan
nilai return dari Authenticate
. Oleh karena itu, sebaiknya game menampilkan
layar standby sampai callback dipanggil untuk memastikan pengguna tidak dapat mulai memainkan
game hingga autentikasi selesai.
Menggunakan Penandatanganan Aplikasi Play
Google mengelola dan melindungi kunci penandatanganan aplikasi Anda menggunakan Penandatanganan Aplikasi Play. Anda dapat menggunakan Penandatanganan Aplikasi Play untuk menandatangani file Android App Bundle yang dioptimalkan dan didistribusikan. Penandatanganan Aplikasi Play menyimpan kunci penandatanganan aplikasi Anda di infrastruktur Google yang aman. Untuk menggunakan Penandatanganan Aplikasi Play, Anda harus membuat dan mendownload file AAB dari Unity Hub terlebih dahulu. Kemudian, Anda dapat mengupload file AAB ke Konsol Play dan membuat rilis pengujian internal.
Membuat file AAB
Untuk membuat file AAB di Unity Hub, ikuti langkah-langkah berikut:
- Di Unity Hub, klik File > Build settings.
Pilih Build App Bundle ( Google Play ).
Untuk mengetahui informasi selengkapnya, lihat Referensi Setelan Build Android.
Klik Build.
Download file AAB dari Unity Hub.
Membuat rilis pengujian internal
Untuk membuat rilis pengujian internal dan menambahkan penguji di Konsol Play, lakukan langkah-langkah berikut:
- Di Konsol Google Play, pilih game.
- Buka halaman Uji dan rilis (Pengujian > Pengujian internal).
- Klik Upload, lalu pilih file AAB.
- Di kolom Release details, masukkan nama.
- Klik Berikutnya dan tinjau detail rilis.
- Klik Simpan dan publikasikan.
Di tab Penguji, klik Buat daftar email untuk menambahkan hingga 100 penguji.
Untuk mengetahui informasi selengkapnya, lihat Pengujian internal: mengelola hingga 100 penguji.
Di URL masukan atau alamat email, masukkan URL masukan atau alamat email untuk memberikan masukan.
Klik Simpan.
Memverifikasi kredensial Penandatanganan aplikasi Anda
- Di Konsol Google Play, pilih game.
- Buka halaman Uji dan rilis (Penyiapan > Penandatanganan aplikasi).
- Verifikasi kredensial Penandatanganan aplikasi Anda.
Membangun dan menjalankan project
Anda dapat mem-build dan menjalankan project game pada tahap ini. Saat game dimulai, Anda akan melihat upaya login otomatis.
Anda memerlukan perangkat fisik berbasis Android dengan proses debug USB diaktifkan atau emulator yang dapat menjalankan project yang dikembangkan.
Mengambil kode autentikasi server
Agar dapat mengakses Google API di server web backend atas nama pemain saat ini, Anda harus mendapatkan kode autentikasi dari aplikasi klien dan meneruskannya ke aplikasi server web Anda. Kemudian kode ini dapat ditukarkan dengan token akses untuk melakukan panggilan ke berbagai API. Untuk informasi tentang alur kerja, lihat login dengan Google untuk web.
Untuk mendapatkan kode akses sisi server:
- Tambahkan ID klien web untuk game Anda di Konsol Play.
- Di Konsol Google Play, pilih game Anda.
- Di halaman Konfigurasi (Mendorong Pertumbuhan Pengguna > Layanan game Play > Penyiapan dan Pengelolaan > Konfigurasi), klik Tambahkan kredensial.
- Di halaman Tambahkan kredensial, pilih Server game.
- Buat client ID OAuth 2.0.
- Catat nilai ID klien. Anda harus memberikan nilai ini nanti.
Tambahkan ID klien web ke Unity Hub.
- Di hub Unity, siapkan Google Play Game untuk Unity dan login.
- Di hub Unity, buka Window > Google Play Games > Setup > Android Setup.
- Masukkan nilai ID klien.
Mengambil kode autentikasi server untuk cakupan tambahan.
C#
using GooglePlayGames.BasicApi; // Define selectedScope having additional identity scopes. private List
selectedScopes = new List (); // Add scopes you want to request. selectedScopes.Add(AuthScope.OPEN_ID); selectedScopes.Add(AuthScope.PROFILE); selectedScopes.Add(AuthScope.EMAIL); // Call RequestServerSideAccess with additional scopes and retrieve // authcode and grantedscopes list. PlayGamesPlatform.Instance.RequestServerSideAccess( /* forceRefreshToken= */ false,selectedScopes (AuthResponse authResponse) => { string authCode = authResponse.GetAuthCode(); List grantedScopes = authResponse.GetGrantedScopes(); // send authCode to server... });
Menyiapkan dan menambahkan fitur
Aktifkan fitur Layanan game Play.
Tambahkan fitur ke game Anda menggunakan Play Game Services API:
Recall API for Unity (hanya didukung untuk plugin Unity versi v11 dan yang lebih baru)