Checklist kualitas untuk Layanan game Google Play

Kualitas game Anda memengaruhi kesuksesan jangka panjang game tersebut -- dari segi jumlah penginstalan, ulasan dan rating pemain, engagement, dan retensi pemain. Sebelum memublikasikan game, sebaiknya pastikan bahwa game Anda memenuhi ekspektasi dasar pemain game melalui fitur yang menarik dan UI intuitif yang didesain dengan baik.

Dokumen ini membantu Anda berfokus pada beberapa aspek utama kualitas, set fitur, dan UI yang dapat memberikan pengaruh signifikan terhadap kesuksesan game Anda. Setiap area fokus disajikan dengan checklist persyaratan minimum, praktik terbaik, dan penyempurnaan yang disarankan. Sebagai upaya memberikan produk terbaik kepada pemain, ikuti rekomendasi checklist semaksimal mungkin.

1. Login

Tugas checklist berikut berlaku pada penerapan fungsionalitas login pemain dalam game Anda. Pelajari lebih lanjut cara kerja login dan cara menerapkannya dalam Konsep login. Untuk contoh kode terkait cara menerapkan fungsionalitas login di game seluler, lihat Menerapkan Login di Android.

ID Tingkat Kepentingan Deskripsi
1.1 Wajib Buat pemain login dengan Layanan game Google Play.
1.1.1. Buat pemain login secara otomatis saat game diluncurkan; gunakan login manual sebagai cadangan

Game harus menerapkan login otomatis untuk membantu pemain diautentikasi dengan cepat dan diotorisasi untuk menggunakan rangkaian fitur lengkap yang disediakan oleh Layanan game Google Play. Jika login otomatis gagal, aplikasi Anda harus meminta pemain untuk login secara interaktif. Dengan menggunakan fitur login interaktif, pemain dapat memilih untuk login ke game dan Play Game memastikan profil mereka dikonfigurasi dengan benar untuk digunakan dalam game Anda. Menggabungkan login otomatis dan interaktif akan menghasilkan rasio login tertinggi dengan hambatan pengguna yang minimal.

Jika pemain memilih untuk tidak login, ingatlah hal ini dan jangan meminta pemain untuk login kembali. Sebagai gantinya, sediakan tombol login. Tombol login harus mudah ditemukan oleh pemain; misalnya, tombol harus dapat diakses dari layar utama Anda atau terletak di layar Setelan. Tombol ini tidak boleh tersembunyi beberapa tingkat di dalam menu game. Terus coba buat pemain untuk login secara otomatis setiap kali mereka memulai game Anda - mereka dapat mengubah preferensi dan otomatis login.

1.2 Wajib Jangan minta cakupan non-Play Game saat membuat klien login. Tindakan ini akan memungkinkan pemain login secara otomatis ke game Anda, karena meminta cakupan non-Play Game akan memaksa pengguna untuk menggunakan login interaktif.

Jika Anda sudah meminta cakupan non-Play Game, hapus cakupan yang tidak diperlukan dari konstruksi GoogleSignInOptions Anda beserta semua API yang tidak digunakan lagi. Jika Anda perlu meminta cakupan lain (misalnya, jika Anda ingin melihat email pengguna untuk tujuan pemasaran), lakukanlah pada waktu yang relevan, bukan sebagai bagian dari proses login.

// This is the proper way to do it
GoogleSignInOptions signInOption = GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN;
1.3 Wajib Izinkan pemain untuk tetap login.

Setelah pemain berhasil login ke game Anda, hubungkan mereka secara otomatis setiap kali game dimulai, hingga pemain logout secara eksplisit.

1,4 Wajib Tampilkan pop-up 'Menghubungkan ke' dengan tepat selama login.

Di perangkat Android, pop-up 'Menghubungkan ke' Google Play Game harus ditampilkan setiap kali alur login dipanggil. Untuk melakukannya, Anda harus memanggil metode setViewForPopups() dari class GamesClient. Pastikan bahwa pop-up ini ditampilkan saat membuat pemain login secara otomatis di awal game. Hal ini memungkinkan pemain mengetahui bahwa mereka login ke game Anda dengan benar.

Contoh berikut menunjukkan tampilan pop-up 'Menghubungkan' di game Android selama login, diikuti dengan animasi singkat logo Layanan game Google Play.

Screenshot menampilkan pop-up 'Menghubungkan ke'.
1,5 Wajib Berikan opsi logout kepada pemain.

Setelah login, pemain harus selalu memiliki opsi untuk logout.

Pertimbangkan untuk menyediakan tombol logout di layar game yang relevan di aplikasi Anda (misalnya, di layar Setelan pemain).

1,6 Praktik terbaik Ingatlah jika pemain menolak login.

Jika pemain menolak login saat game memulai alur login untuk pertama kalinya (misalnya, jika pemain mengklik Batal di UI login), Anda harus tetap mengizinkan pemain tersebut untuk melanjutkan alur game.

Saat pemain meluncurkan kembali game Anda, jangan panggil alur login interaktif secara otomatis. Pemain ini dapat memilih untuk login nanti menggunakan tombol Login yang seharusnya ada di sistem Setelan Anda. Hal ini membuat pemain tidak perlu berulang kali menolak login setiap kali mereka memulai game Anda.

Satu pengecualian adalah jika pemain mencoba mengakses fitur gameplay yang bergantung pada proses login (misalnya, mengirimkan skor ke papan peringkat). Dalam hal ini, minta pemain untuk login sebelum melanjutkan gameplay.

1,7 Praktik terbaik Maksimalkan jumlah pemain yang login.

Pemain diuntungkan dengan banyaknya jumlah pemain yang login ke Layanan game Google Play. Hal ini meningkatkan peluang untuk alur game yang kolaboratif dan kompetitif. Untuk memaksimalkan jumlah pemain yang login ke Layanan game Google Play, Anda disarankan untuk otomatis meminta pemain untuk login, seperti yang dijelaskan di atas.

Jika tidak, arahkan pemain ke alur login sesegera mungkin dari salah satu titik berikut (dari yang paling direkomendasikan):

  • Segera setelah game Anda dimulai.
  • Segera setelah konten perkenalan, seperti potongan adegan atau tutorial.
  • Saat pemain mengklik tombol login dengan Google di mana pun dalam game Anda.
1.8 Disarankan Ikuti pedoman branding Google.

Untuk memberi pemain pengalaman menyeluruh yang menarik dan konsisten, terapkan pedoman branding layanan game Google Play.

1.9 Disarankan Ingatkan pemain bahwa mereka telah login.

Berikan pengingat atau petunjuk yang sesuai kepada pemain yang telah login saat game menjalankan tindakan atas nama mereka. Misalnya, saat pemain menyelesaikan level, Anda dapat menampilkan pesan seperti ini untuk menunjukkan bahwa skor dan pencapaian pemain tersebut otomatis diupload: "Anda login dengan Google. Pencapaian dan skor Anda akan otomatis disimpan."

1.10 Wajib Cadangkan progres pemain menggunakan ID Layanan game Play.

Untuk memastikan pemain tidak kehilangan progresnya saat beralih atau mereset perangkat, atau jika bermain di beberapa perangkat, pastikan progres mereka telah dicadangkan ke solusi Simpan di Cloud, dan gunakan ID Layanan game Play sebagai kunci, jika menggunakan server game backend Anda sendiri dengan aman. Saat pemain login dengan ID Layanan game Play, periksa apakah ada progres untuk akun tersebut dan jika ya, izinkan pemain melanjutkan bermain game. Anda dapat menggunakan solusi simpan di cloud Anda sendiri atau Game Tersimpan Layanan game Play.

Jika pengguna tidak login, cobalah untuk mempertahankan progres pemain secara lokal, lalu sinkronkan progres tersebut saat pemain login nantinya. Hal ini agar pemain tidak kehilangan progres jika mereka menunda login ke game Anda.

2. Pencapaian

Tugas checklist berikut berlaku pada penerapan fitur Pencapaian dalam game Anda.

ID Tingkat Kepentingan Deskripsi
2.1 Wajib Pastikan semua pencapaian dapat dicapai.

Pemain harus dapat membuka kunci semua pencapaian yang Anda buat.

2.2 Praktik terbaik Tampilkan pencapaian secara menonjol.

Semua gambar, teks, dan deskripsi di semua pencapaian harus unik.

2.3 Praktik terbaik Berikan skor pencapaian secara proporsional.

Poin pencapaian harus sebanding dengan waktu atau keterampilan yang diperlukan untuk memperoleh pencapaian tersebut.

2.4 Praktik terbaik Desain pencapaian untuk berbagai tingkat kesulitan.

Sertakan beberapa pencapaian mudah yang dapat diperoleh pemain melalui alur game biasa, beberapa pencapaian dengan tingkat kesulitan menengah yang dapat diperoleh dengan keterampilan atau keuletan pemain, dan satu atau dua pencapaian yang sangat sulit diperoleh untuk pemain yang paling ulet.

Misalnya, screenshot berikut menampilkan pencapaian dengan tingkat kesulitan tinggi yang membantu memotivasi dan mempertahankan penggemar game tersebut.

pencapaian sulit diperoleh yang mengharuskan 5.000 berlian
2.5 Disarankan Jangan berikan terlalu banyak pencapaian di awal.

Sebaiknya jangan berikan lebih dari satu pencapaian dalam 5 menit pertama alur game, karena pemain yang baru memainkan game Anda tidak akan terlalu peduli.

Jangan tetapkan pencapaian dengan sedemikian rupa sehingga tidak sengaja diberikan terlalu dini dalam alur game. Misalnya, cermati pencapaian yang kemungkinan dapat diperoleh dengan sangat mudah di awal game, seperti "Selesaikan level tanpa mengalami kerusakan".

2.6 Disarankan Tetapkan pencapaian untuk aktivitas dalam game yang menarik.

Pilih metrik pencapaian yang menjadikan game Anda lebih menarik dan menantang untuk dimainkan ulang (misalnya, metrik “jumlah zombie yang dibunuh” lebih menarik dibanding “jumlah kilometer yang ditempuh karakter Anda”).

2.7 Disarankan Gunakan ikon berwarna untuk pencapaian.

Layanan game Google Play menggunakan ikon pencapaian versi hitam putih untuk menunjukkan apakah pencapaian berhasil diperoleh atau tidak. Jika Anda hanya diperbolehkan untuk menggunakan ikon pencapaian hitam saja (atau putih saja), tampilkan ikon dengan latar belakang berwarna.

2.8 Disarankan Minimalkan penggunaan pencapaian tersembunyi.

Pencapaian tersembunyi sebaiknya hanya digunakan untuk menghindari spoiler dalam game; pencapaian tersembunyi sebaiknya jangan dijadikan standar.

2.9 Disarankan Hindari pencapaian yang terlalu mengandalkan peluang kemungkinan.

"Temukan 100 peti harta karun" adalah metrik pencapaian yang lebih baik daripada "Temukan item yang memiliki 1% peluang untuk muncul di peti harta karun".

2.10 Disarankan Berpikirlah seperti 'Pemburu Pencapaian'.

Beberapa pemain akan berusaha mendapatkan semua pencapaian yang Anda buat. Cobalah untuk menyediakan pencapaian yang sesuai dengan kategori pemain ini. Hindari membuat pencapaian yang terlalu mengandalkan elemen di luar kendali pemain, atau yang tidak dapat diperoleh begitu pemain membuat keputusan dalam game.

2.11 Disarankan Pastikan ikon pencapaian muncul dengan tepat.

Saat ikon pencapaian ditampilkan dalam toast Android, ikon akan di-overlay dengan lingkaran dan sudut-sudut luarnya tersembunyi. Pastikan ikon Anda masih terlihat bagus dalam kondisi ini.

3. Papan Peringkat

Tugas checklist berikut berlaku pada penerapan fitur Papan Peringkat dalam game Anda.

ID Tingkat Kepentingan Deskripsi
3.1 Praktik terbaik Buat papan peringkat terlihat di menu utama dan setelah transisi penting.

Papan peringkat harus bisa langsung diakses dengan mudah saat game dimuat. Setelah transisi penting dalam game (misalnya pada akhir level atau saat pemain mati), pemain harus bisa langsung melihat link ke papan peringkat yang relevan.

3.2 Praktik terbaik Tetapkan batas atas untuk skor yang dapat dikirimkan.

Jika memungkinkan, tambahkan batas saat menentukan papan peringkat sehingga skor yang jelas-jelas palsu akan dihapus.

3.3 Praktik terbaik Gunakan ikon khusus.

Buat ikon khusus untuk setiap papan peringkat yang Anda tetapkan; jangan hanya menggunakan ikon game, karena ikon ini akan tampak buruk di aplikasi Google Play Game.

3.4 Praktik terbaik Pertahankan agar frekuensi pengiriman skor tetap masuk akal.

Kirimkan skor setelah transisi penting dalam game, seperti pada akhir level atau saat karakter game yang dijalankan pemain mati. Untuk game tanpa transisi penting (misalnya jenis game "berlari tanpa henti"), gunakan penilaian yang tepat terkait frekuensi pengiriman skor. Skor tidak boleh dikirim secara terus-menerus atau setiap detik.

3.5 Disarankan Manfaatkan scoretag.

Scoretag adalah bit tambahan data yang dapat dikirimkan bersama kiriman skor Anda. Misalnya, Anda dapat menerapkan scoretag sebagai tanda untuk mengonfirmasi bahwa skor yang dikirimkan oleh pemain adalah valid.

Papan peringkat kustom juga dapat membaca data tag ini. Jika, misalnya, scoretag terdiri dari ID untuk video YouTube yang memuat alur game pemain tersebut, game Anda dapat membuat link untuk menampilkan video tersebut dalam papan peringkat Anda.

3.6 Disarankan Desain UI papan peringkat dengan kreatif

Jika Anda punya sumber daya lebih, buatlah tampilan papan peringkat kustom Anda sendiri selain data papan peringkat sosial. Papan peringkat sosial biasanya bisa menciptakan pengalaman pengguna yang lebih menarik daripada papan peringkat publik biasa. Periksa terlebih dahulu untuk menentukan apakah ada entri dalam papan peringkat sosial. Jika tidak, gunakan papan peringkat publik sebagai gantinya.

3.7 Disarankan Tampilkan kepada pemain posisi mereka dalam kompetisi.

API papan peringkat memungkinkan Anda menampilkan beberapa jendela skor (misalnya peringkat seorang pemain di +/-10 tempat). Jika Anda membuat tampilan kustom, ini bisa menjadi cara efektif untuk memotivasi engagement pemain. Posisi pemain bisa ditampilkan tepat setelah transisi penting dalam game (misalnya pada akhir level atau saat karakter game yang dijalankan pemain mati). Hindari menempatkan tombol yang tidak perlu di antara pemain dan informasi peringkat.

4. Teman

Tugas checklist berikut berlaku pada penerapan Friends API dalam game Anda.

ID Tingkat Kepentingan Deskripsi
4.1 Wajib Saat pemain ditampilkan dalam daftar, tampilkan ikon Play Game di samping pengguna yang memiliki profil Play Game.

Daftar ini dapat berupa daftar teman yang sudah ada, daftar teman yang baru diputar, atau daftar teman lainnya.

4.1.1. Ikon Play Game harus dapat diklik.
Jika pengguna menekan ikon, game harus memanggil getCompareProfileIntent() atau getCompareProfileIntentWithAlternativeNameHints() untuk menampilkan UI tempat pengguna dapat membandingkan diri mereka dengan profil pemain lain.
4.1.2. Dukungan profil pemain dan undangan teman, untuk nama pemain dalam game yang dapat disesuaikan.
Jika pemain menetapkan nama yang berbeda dalam game (dan tidak menggunakan nama profil Play Game), gunakan getCompareProfileIntentWithAlternativeNameHints() untuk memberikan nama dalam game alternatif tersebut bagi pemain saat ini dan pemain yang mereka lihat, sebagai konteks untuk tampilan profil dan undangan teman apa pun yang dikirim dari sana. Hanya teruskan nama pemain global yang persisten untuk nilai, bukan konten pengguna arbitrer. Persyaratan ini berarti bahwa undangan teman yang dikirim dari dalam game akan memberikan konteks untuk kedua pemain:
  • Penerima akan melihat nama dalam game milik pengirim undangan, bersama dengan nama game.
  • Saat melihat pertemanan, pengirim masih akan melihat nama dalam game penerima, serta game tempat mereka memulai.
4.2 Praktik terbaik Gunakan ikon yang berbeda untuk menunjukkan pengguna Play Game mana yang sudah berteman, dan yang belum menjadi teman Play Game tetapi telah login dengan Play Game. Gunakan dua ikon untuk pengguna Play Game, satu untuk "Teman" dan satu untuk "Bukan teman" (atau saat status pertemanan tidak diketahui).
Ikon Teman
Ikon Bukan Teman
4.3 Praktik terbaik Panggil loadFriends() setiap kali Anda login dan menampilkan daftar teman untuk memastikan daftar teman tersebut sudah yang terbaru. Pastikan pemain melihat daftar yang diperbarui.
4.4 Praktik terbaik Jika game Anda sudah berisi teman dalam game, gunakan Friends API untuk menambah daftar teman dengan menambahkan teman Play Game. Jika pemain ada dalam daftar teman dalam game dan mereka juga merupakan teman Play Game, tampilkan ikon "Teman".
4.5 Praktik terbaik Jika pemain menolak permintaan untuk mengakses daftar temannya, jangan tampilkan dialog yang meminta akses lagi, kecuali jika pengguna mengambil tindakan untuk menunjukkan bahwa mereka ingin memberikan akses (misalnya, menekan tombol "Import Play Games Friends").
4.6 Praktik terbaik Jika pemain menolak akses ke daftar teman, beri mereka cara untuk memberikan akses kepada daftar teman di masa mendatang (misalnya, setelah menekan tombol "Import Play Games Friends").
4.7 Praktik terbaik Jika menggunakan ID pemain atau daftar teman dengan server backend, Anda harus mengakses ID atau daftar tersebut dengan aman. Selain itu, untuk beberapa game dan pemain lama, ID pemain yang ditampilkan oleh Android SDK untuk pemain mungkin bukan ID yang sama dengan yang dilihat pemain lain saat melihat pemain tersebut di game yang sama; ini sangat relevan saat menggunakan daftar teman. Namun, player_id yang ditampilkan dalam REST API selalu konsisten dan selalu merupakan ID yang terlihat oleh pemain lain.

5. Pembatasan kuota dan kapasitas

Tugas checklist berikut berlaku pada pengelolaan pembatasan kapasitas dan kuota dalam game Anda. Untuk mempelajari cara mengelola kuota game dan mendeteksi kapan batasan kapasitas terlampaui, lihat Mengelola Pembatasan Kapasitas dan Kuota.

ID Tingkat Kepentingan Deskripsi
5.1 Praktik terbaik Gunakan library klien.

Library klien seluler menerapkan sejumlah strategi untuk mengurangi panggilan yang Anda lakukan ke layanan. Misalnya, data untuk pencapaian dan papan peringkat disimpan dalam cache, sehingga pemain dapat melihat pencapaian mereka sesering yang mereka inginkan tanpa perlu meminta layanan untuk melakukan beberapa panggilan.

Library klien Android tidak akan mengirim skor pemain ke server jika skor tersebut tidak sebagus yang terakhir Anda kirimkan. Library Android juga akan otomatis menggabungkan panggilan yang sering ke pencapaian inkremental jika mendeteksi bahwa game Anda dikenai pembatasan kapasitas.

5.2 Disarankan Gabungkan panggilan yang sering ke pencapaian inkremental.

Jika Anda membuat game perkelahian dan menetapkan pencapaian 'Melepaskan 5000 pukulan', jangan kirim panggilan pencapaian inkremental setiap kali seseorang melepaskan pukulan. Tunggu hingga ronde berakhir, lalu kirim satu increment(xxx) panggilan (dengan xxx adalah jumlah total pukulan yang dilempar), atau tunggu hingga 50 pukulan dilempar sebelum mengirimkan satu pukulan increment(50) telepon.

5.3 Disarankan Perhatikan penggunaan Anda.

Cermati jumlah panggilan yang Anda lakukan ke Layanan game Google Play. Meskipun tidak melampaui batas kapasitas, panggilan yang sering dapat meningkatkan traffic jaringan, dan menyebabkan baterai perangkat lebih cepat habis. Untuk menghindari hal ini, Anda dapat menggunakan teknik berikut:

  • Saat melakukan game tersimpan, pertahankan frekuensinya sekali setiap beberapa menit, bukan setiap klik tombol.
  • Tunggu hingga game pemain selesai sebelum mengirimkan skor tinggi.
  • Tinjau kuota harian aplikasi Anda dengan membuka dasbor project Anda di Google Cloud Platform.

6. Game tersimpan

Tugas checklist berikut berlaku pada penerapan fitur Game Tersimpan dalam game Anda.

ID Tingkat Kepentingan Deskripsi
6.1 Wajib Tambahkan metadata untuk memberikan konteks tambahan untuk game tersimpan.

Setidaknya, Anda harus menyertakan metadata berikut saat memasukkan game tersimpan:

  • Gambar sampul - Screenshot yang menampilkan progres game dan mengingatkan pemain pada posisi terakhir dalam game yang mereka tinggalkan.
  • Deskripsi - Deskripsi pendek yang memberikan konteks tambahan untuk gambar sampul.
  • Stempel waktu - Menunjukkan berapa lama pemain telah memainkan game tersimpan ini.
6.2 Wajib Izinkan pemain memuat game tersimpan.

Muat game tersimpan yang tepat saat pemain memilih dari aplikasi Play Game atau UI pemilihan Game Tersimpan default.