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 memandu Anda memahami aspek-aspek utama pengembangan game yang berpengaruh signifikan terhadap kesuksesan game Anda. Ini berfokus pada kualitas, set fitur, dan antarmuka pengguna (UI).

Untuk setiap area fokus, dokumen ini memberikan:

  • Daftar periksa yang menjelaskan persyaratan minimum.
  • Praktik terbaik untuk meningkatkan kualitas game Anda.

Ikuti rekomendasi ini semaksimal mungkin untuk memublikasikan game berkualitas tinggi dan memberikan produk terbaik kepada pemain Anda.

1. Autentikasi platform

Tugas checklist berikut berlaku pada penerapan fungsionalitas autentikasi pemain dalam game Anda. Pelajari lebih lanjut cara kerja autentikasi dan cara menerapkannya di Autentikasi platform. Untuk contoh kode cara menerapkan autentikasi di game seluler, lihat Autentikasi platform di Android.

ID Tingkat Kepentingan Deskripsi
1.1 Wajib Melakukan autentikasi pemain dengan Layanan game Google Play.
1.1.1. Menginisialisasi SDK Layanan game Google Play dan memeriksa apakah pemain diautentikasi. Jika pemain tidak diautentikasi secara otomatis, berikan opsi login manual.

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

Jika pengguna menolak, game Anda harus menawarkan kesempatan bagi mereka untuk melakukan autentikasi 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 Praktik terbaik Ikuti pedoman branding Google.

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

1.3 Praktik terbaik Ingatkan pemain bahwa mereka telah diautentikasi.

Berikan pengingat atau petunjuk yang sesuai kepada pemain yang diautentikasi saat game Anda menjalankan tindakan atas nama mereka. Misalnya, saat pemain yang diautentikasi menyelesaikan level, Anda dapat menampilkan pesan seperti ini untuk menunjukkan bahwa skor dan pencapaian pemain tersebut otomatis diupload: "Anda diautentikasi 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 mengautentikasi 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 terautentikasi, cobalah untuk mempertahankan progres pemain secara lokal, lalu sinkronkan progres tersebut saat pemain terautentikasi nantinya. Hal ini agar pemain tidak kehilangan progres jika mereka menunda autentikasi game Anda.

2. Pencapaian

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

ID Tingkat Kepentingan Deskripsi
2.1 Wajib Minimal sepuluh pencapaian yang terlihat tersebar di sepanjang masa aktif game.

Setidaknya 10 pencapaian yang terlihat harus dalam status terungkap.

2.2 Wajib Setidaknya empat pencapaian harus dapat dicapai secara wajar dan andal dalam waktu satu jam permainan oleh semua orang yang bermain.

2.3 Wajib Semua pencapaian harus memiliki nama dan deskripsi yang unik. Hal ini harus menjelaskan kepada pengguna apa yang perlu mereka lakukan untuk mendapatkan pencapaian.

2.4 Wajib Semua pencapaian harus memiliki ikon yang unik.

Ikon harus dibuat sebagai file PNG, JPEG, atau JPG berukuran 512 x 512 dengan latar belakang transparan. Untuk mengetahui informasi selengkapnya, lihat panduan ikon.

2,5 Wajib Pastikan semua pencapaian dapat dicapai.

Pemain harus dapat membuka kunci semua pencapaian yang Anda buat.

2.6 Praktik terbaik Gunakan pencapaian inkremental untuk menunjukkan progres.

Pencapaian inkremental bersifat kumulatif di seluruh sesi game.

Contoh pencapaian inkremental yang menunjukkan progres pemain sebesar 23%.
Pencapaian inkremental yang menunjukkan progres pemain sebesar 23%.
2.7 Praktik terbaik Setidaknya empat puluh atau lebih pencapaian yang tersebar di sepanjang masa pakai game, termasuk pencapaian yang mengejutkan dan menyenangkan, menghargai pencapaian, dan mencatat progres pemain.

Setidaknya empat puluh pencapaian dalam status apa pun yang tersebar di sepanjang masa aktif game.

2.9 Praktik terbaik Gunakan pencapaian tersembunyi untuk elemen kejutan dan kesenangan.

Pencapaian tersembunyi berarti detail tentang pencapaian disembunyikan dari pemain.

2.10 Praktik terbaik Menambahkan pencapaian baru saat level atau episode baru ditambahkan ke game.

Untuk mengetahui informasi selengkapnya, lihat Poin dan pengalaman.

2.11 Praktik terbaik Berikan skor pencapaian secara proporsional.

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

2.12 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
Pencapaian sulit diperoleh yang mengharuskan 5.000 berlian.
2.13 Praktik terbaik 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.14 Praktik terbaik 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.15 Praktik terbaik 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.16 Praktik terbaik Minimalkan penggunaan pencapaian tersembunyi.

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

2.17 Praktik terbaik 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.18 Praktik terbaik 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.

Contoh

Beberapa contoh untuk membantu Anda mendesain pencapaian berkualitas tinggi:

Contoh yang baik

Screenshot berikut menunjukkan contoh pencapaian yang baik. Pencapaian dengan nama, ikon, dan deskripsi yang unik. Deskripsi tersebut memberi tahu tindakan yang perlu Anda lakukan untuk mendapatkan pencapaian.

Pencapaian yang baik dengan nama, ikon, dan deskripsi yang unik.
Pencapaian yang baik dengan nama, ikon, dan deskripsi unik (klik untuk memperbesar).

Contoh yang buruk

Screenshot berikut menunjukkan contoh buruk pencapaian.

Pencapaian buruk dengan nama, ikon, dan deskripsi duplikat.
Pencapaian buruk dengan nama, ikon, dan deskripsi duplikat (klik untuk memperbesar).

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 Praktik terbaik 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 Praktik terbaik 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 Praktik terbaik 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 diautentikasi 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 melakukan autentikasi 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 Praktik terbaik 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 Praktik terbaik 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.