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

Login otomatis akan membuat pemain diautentikasi dengan cepat dan diotorisasi untuk menggunakan rangkaian fitur lengkap yang disediakan oleh Layanan game Google Play.

Jika pengguna menolak, aplikasi Anda harus menawarkan kesempatan bagi mereka untuk login nanti (misalnya dengan tombol di menu game, dll.). 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.

1.2 Disarankan Ikuti pedoman branding Google.

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

1.3 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.4 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 layanan Teman dalam game Anda.

ID Tingkat Kepentingan Deskripsi
4.1 Wajib Saat pemain ditampilkan dalam daftar, tampilkan ikon Layanan game Play 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 Layanan game Play 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 layanan Teman 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.