Hak Cipta (c) 2014 Google Inc. Semua hak dilindungi undang-undang.
Plugin Google Play Game untuk Unity® adalah proyek sumber terbuka yang bertujuan menyediakan plugin yang memungkinkan pengembang game berintegrasi dengan Google Play Games API dari game yang ditulis dalam Unity®. Namun, proyek ini sama sekali tidak didukung atau diawasi oleh Unity Technologies.
Unity® adalah merek dagang dari Unity Technologies.
iOS adalah merek dagang dari Apple, Inc.
Silakan unduh paket dari halaman rilis Github.
Plugin Google Play Game untuk Unity memungkinkan Anda mengakses API Google Play Game melalui antarmuka sosial Unity. Plugin ini memberikan dukungan untuk fitur Google Play Games API berikut:
masuk
teman-teman
membuka/mengungkapkan/meningkatkan pencapaian
memposting skor ke papan peringkat
penyimpanan cloud baca/tulis
tampilkan UI pencapaian/papan peringkat bawaan
acara
koneksi terdekat
PEMBERITAHUAN : Versi plugin ini tidak lagi mendukung iOS. Layanan game Google Play untuk iOS sudah tidak digunakan lagi dan kemungkinan besar tidak akan berfungsi seperti yang diharapkan. Jangan gunakan layanan game Google Play untuk iOS di aplikasi baru. Lihat postingan blog pengumuman penghentian untuk detail selengkapnya.
Fitur:
pengaturan proyek berorientasi GUI yang mudah (terintegrasi ke dalam Unity GUI)
tidak perlu mengganti/menyesuaikan Aktivitas pemain
tidak perlu mengganti/menyesuaikan AndroidManifest.xml
Untuk petunjuk penggunaan plugin, silakan merujuk ke panduan pengembang ini.
Untuk contoh aplikasi yang mendemonstrasikan cara menggunakan Google Play Game, lihat proyek SmokeTest;
Jika Anda telah mengintegrasikan proyek Anda dengan plugin versi sebelumnya dan ingin meningkatkan ke versi baru, silakan lihat petunjuk peningkatan.
Untuk mengakses Google API di server web backend atas nama pemain saat ini, Anda perlu mendapatkan kode autentikasi dari aplikasi klien dan meneruskannya ke aplikasi server web Anda. Kode ini kemudian dapat ditukar dengan token akses untuk melakukan panggilan ke berbagai API. Untuk detail selengkapnya tentang alur ini, lihat: Masuk dengan Google untuk Situs Web.
Untuk mendapatkan kode Server Auth:
Konfigurasikan Id klien web dari aplikasi web yang ditautkan ke game Anda di Konsol Play Game.
Panggil PlayGamesClientConfiguration.Builder.RequestServerAuthCode(false)
saat membuat konfigurasi.
Panggil PlayGamesPlatform.Instance.GetServerAuthCode()
setelah pemutar diautentikasi.
Berikan kode ini ke aplikasi server Anda.
PlayGamesPlatform.Instance.RequestServerSideAccess(/* forceRefreshToken= */ false,code -> { // kirim kode ke server});
Anda dapat memperkecil ukuran Plugin Unity Layanan Game Play dengan menghapus kode untuk fitur Layanan Game Play yang tidak digunakan game Anda dengan menggunakan Proguard. Proguard akan menghapus kode plugin Play Games Unity untuk fitur yang tidak digunakan dalam game Anda, sehingga game Anda dikirimkan hanya dengan kode yang diperlukan dan meminimalkan dampak ukuran penggunaan Layanan Play Game.
Selain itu, dimungkinkan untuk mengurangi ukuran keseluruhan proyek Unity menggunakan Pengupasan Kode Terkelola Unity, yang akan memampatkan keseluruhan proyek Anda. Ini dapat digunakan bersama dengan Proguard.
Buka File > Build Settings > Player Settings
dan klik bagian Publishing Settings
. Pilih Proguard
untuk Minify > Release
. Kemudian, aktifkan User Proguard File
. Jika Anda ingin plugin juga diproguard untuk apk debug, Anda dapat memilih Proguard
untuk Minify > Debug
.
Salin konten konfigurasi proguard ke Assets/Plugins/Android/proguard-user.txt
.
Saat Anda memanggil PlayGamesPlatform.Activate
, Google Play Game menjadi implementasi platform sosial default Anda, yang berarti panggilan statis ke metode di Social
dan Social.Active
akan dilakukan oleh plugin Google Play Games. Ini adalah perilaku yang diinginkan untuk sebagian besar game yang menggunakan plugin.
Namun, jika karena alasan tertentu Anda ingin penerapan default tetap dapat diakses (misalnya, menggunakannya untuk mengirimkan pencapaian dan papan peringkat ke platform sosial lain), Anda dapat menggunakan plugin Google Play Game tanpa mengganti plugin default. Untuk melakukan ini:
Jangan panggil PlayGamesPlatform.Activate
Jika Xyz
adalah nama metode yang ingin Anda panggil di kelas Social
, jangan panggil Social.Xyz
. Sebagai gantinya, panggil PlayGamesPlatform.Instance.Xyz
Jangan gunakan Social.Active
saat berinteraksi dengan Google Play Game. Sebagai gantinya, gunakan PlayGamesPlatform.Instance
.
Dengan begitu, Anda bahkan dapat mengirimkan skor dan pencapaian secara bersamaan ke dua atau lebih platform sosial:
// Kirimkan pencapaian ke platform sosial default asliSocial.ReportProgress("MyAchievementIdHere", 100.0f, callback);// Kirimkan pencapaian ke Google PlayPlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback);
Bagian ini mencantumkan orang-orang yang telah berkontribusi pada proyek ini dengan menulis kode, menyempurnakan dokumentasi, atau memperbaiki bug.
Dgizusse untuk mengetahui bahwa pengaturan JAVA_HOME diperlukan pada Windows.
antonlicht untuk memperbaiki bug dengan tipe parameter showErrorDialog di perpustakaan dukungan.
pR0P untuk memperbaiki masalah ketika OnAchievementsLoaded tidak menerima kode hasil OPERATION_DEFERRED sebagai sukses.
friikyeu untuk membantu men-debug masalah yang menyebabkan panggilan API diantrekan daripada dieksekusi bahkan ketika terhubung.