Dokumen ini menjelaskan cara mengintegrasikan Statistik Game ke dalam game Anda menggunakan Konsol Google Play. Panduan ini membahas format file CSV dan file ZIP yang penting, serta menjelaskan cara membuat, mengimpor, dan mengelolanya.
Membuat atau mengimpor peristiwa
Anda dapat menambahkan peristiwa untuk pertama kalinya menggunakan Konsol Google Play dengan dua cara:
- Buat acara: Tambahkan acara satu per satu.
- Mengimpor acara: Mengimpor beberapa acara.
Membuat acara
Untuk membuat acara untuk game, selesaikan langkah-langkah berikut:
- Di Konsol Google Play, pilih game.
- Di halaman Layanan Play Games - Statistik Game (Kembangkan basis pengguna > Layanan Play Games > Penyiapan dan pengelolaan > Statistik Game), pilih Tambahkan peristiwa > Buat peristiwa.
- Di halaman Buat acara, lengkapi formulir.
- Klik Simpan perubahan.
Mengimpor acara
Untuk menambahkan beberapa peristiwa ke game Anda sekaligus, gunakan langkah-langkah berikut:
- Buat file CSV peristiwa PlayerGameEvent.csv.
- Di Konsol Google Play, pilih game.
- Di halaman Layanan Play Games - Statistik Game (Kembangkan basis pengguna > Layanan Play Games > Penyiapan dan pengelolaan > Statistik Game), pilih Tambahkan peristiwa > Impor melalui CSV.
- Di halaman Konfigurasi acara, tarik lalu lepas file CSV untuk diupload.
- Setelah membuat acara, siapkan statistik.
Membuat atau mengimpor statistik
Anda dapat menambahkan statistik untuk pertama kalinya menggunakan Konsol Google Play dengan dua cara:
- Buat statistik: Tambahkan statistik satu per satu.
- Impor statistik: Mengimpor beberapa statistik.
Buat statistik
Untuk membuat statistik game, selesaikan langkah-langkah berikut:
- Di Konsol Google Play, pilih game.
- Di halaman Layanan Play Game - Statistik Game (Kembangkan basis pengguna > Layanan Play Game > Penyiapan dan pengelolaan > Statistik Game), pilih Tambahkan statistik > Buat statistik.
- Di halaman Buat statistik, lengkapi formulir.
- Klik Simpan perubahan.
- Setelah membuat statistik, publikasikan game Anda.
Statistik impor
Untuk mengimpor statistik, ikuti langkah-langkah berikut:
- Buat file ZIP yang berisi statistik, pelokalan, dan file ikon sesuai dengan panduan file ZIP untuk statistik.
- Di Konsol Google Play, pilih game.
- Di halaman Layanan Play Games - Statistik Game (Kembangkan basis pengguna > Layanan Play Games > Penyiapan dan pengelolaan > Statistik Game), pilih Tambahkan statistik > Impor melalui ZIP.
- Di halaman Konfigurasi Statistik Game, tarik lalu lepas file ZIP untuk diupload.
- Setelah mengupload semua statistik, publikasikan game Anda.
Menguji Statistik Game
Untuk memastikan Statistik Game berfungsi sebagaimana mestinya, ikuti langkah-langkah untuk mengujinya:
- Buka aplikasi Google Play Store.
- Login ke profil Play Game Anda di aplikasi Google Play Store.
- Lihat Statistik game di profil gamer Anda.
Melihat log di perangkat Anda
Untuk memverifikasi bahwa Statistik Game berfungsi seperti yang dirancang, aktifkan log di perangkat Anda:
Aktifkan proses debug adb di perangkat Anda dan jalankan perintah berikut di terminal:
adb shell setprop log.tag.Games INFO adb logcat -s "PlayGamesServices[GameStatsAgent]:I"
Pastikan pesan log yang berhasil muncul, seperti yang ditunjukkan dalam contoh berikut:
Successfully uploaded batch of X events.
Catatan: Karena API mendukung upload parsial, log info ini menunjukkan bahwa batch telah diproses. Jika ada peristiwa individual dalam batch yang gagal dalam validasi skema, log error akan mendahului pesan ini.
Jika ada peristiwa yang dikirimkan gagal divalidasi, Anda akan melihat pesan error yang menjelaskan kegagalan tersebut:
BatchRecordEvents validation failed for X event(s): ...
Memublikasikan Statistik Game
Setelah selesai menguji, Anda harus memublikasikan game. Semua acara dan statistik game Anda akan dipublikasikan bersama game tersebut.
Untuk memublikasikan, ikuti langkah-langkah berikut:
- Di Konsol Google Play, pilih game.
- Di halaman Layanan Play Game - Statistik Game (Kembangkan basis pengguna > Layanan Play Game > Penyiapan dan pengelolaan > Statistik Game), klik Tinjau dan publikasikan.
- Di halaman Layanan Play Games - Publikasi (Kembangkan basis pengguna > Layanan Play Games > Penyiapan dan pengelolaan > Publikasi), tinjau tindakan dan perbaiki masalahnya.
- Klik Publikasikan. Semua Statistik Game Anda dipublikasikan.
Edit Statistik Game
Jika Anda sudah memiliki Statistik Game dan ingin mengeditnya:
- Di Konsol Google Play, pilih game.
- Buka halaman Layanan Play Game - Statistik Game (Kembangkan basis pengguna > Layanan Play Game > Penyiapan dan pengelolaan > Statistik Game).
- Untuk mengedit Acara:
- Di bagian Konfigurasi peristiwa, pilih peristiwa.
- Anda dapat menambahkan atau menghapus Properti peristiwa.
- Anda tidak dapat mengedit Nama Peristiwa.
- Klik Simpan perubahan.
- Untuk mengedit Statistik:
- Di bagian Konfigurasi Statistik Game, pilih statistik.
- Anda dapat mengedit kolom Nama statistik, Deskripsi statistik, dan Nama file ikon.
- Anda tidak dapat mengedit ID Statistik, Arah progres. Unit statistik, dan Detail peristiwa terkait.
- Klik Simpan perubahan.
- Di halaman Layanan Play Games - Statistik Game, statistik yang diedit berada dalam status Tersedia untuk penguji.
- Setelah menguji statistik, klik Tinjau dan publikasikan. Tindakan ini akan memublikasikan ulang game Anda, beserta semua statistik terbaru Anda.
Menghapus Statistik Game
Setelah dipublikasikan, Statistik Game tidak dapat dihapus.
Anda dapat menghapus Acara atau Statistik dalam status Tersedia untuk penguji.
- Di Konsol Google Play, pilih game.
- Buka halaman Layanan Play Game - Statistik Game (Kembangkan basis pengguna > Layanan Play Game > Penyiapan dan pengelolaan > Statistik Game).
- Untuk menghapus Acara:
- Di bagian Konfigurasi peristiwa, pilih peristiwa.
- Klik Hapus acara.
- Untuk menghapus Statistik:
- Di Konfigurasi Statistik Game, pilih statistik yang ingin Anda hapus.
- Klik Hapus statistik game.
Panduan file CSV untuk acara
Baris pertama file CSV adalah baris header. Anda harus mengimpor acara menggunakan
file CSV acara, misalnya, PlayerGameEvent.csv.
Format PlayerGameEvent.csv
CSV berisi peristiwa yang dideklarasikan dan propertinya sebagai nilai yang dipisahkan koma dalam urutan berikut:
Event Name,Property Name,Property Type
Jika Anda mengirim peristiwa progressUpdate untuk progressionStat, tambahkan baris untuk peristiwa ini. Peristiwa ini harus berisi setidaknya properti currentProgress dari
jenis INT atau STRING, ditambah properti lain yang ingin Anda kirim.
Kolom-kolom ini dijelaskan dalam tabel berikut:
| Header kolom CSV | Wajib Diisi atau Opsional | Nilai yang diterima |
|---|---|---|
| Nama Peristiwa | Wajib | Maksimum 50 karakter Hanya boleh terdiri dari huruf, angka, dan garis bawah. Jika nama peristiwa khusus |
| Nama Properti | Wajib | Maksimum 50 karakter Hanya boleh terdiri dari huruf, angka, dan garis bawah. Unik per Peristiwa: Nama properti harus unik dalam peristiwa yang sama. Jangan gunakan kata kunci yang dicadangkan berikut: |
| Jenis Properti | Wajib | String enum peka huruf besar/kecil yang cocok dengan salah satu jenis data yang didukung:
INT64, DOUBLE, STRING, BOOL
|
Persyaratan file PlayerGameEvent.csv:
- File ini mendukung maksimum 20 nama peristiwa unik, dengan maksimal 20 properti per peristiwa.
- Konten file tidak boleh kosong dan harus memiliki minimal 1 baris.
Tabel contoh
| Nama Peristiwa | Nama Properti | Jenis Properti |
|---|---|---|
| matchCompleted | durasi | DOUBLE |
| matchCompleted | membunuh | INT64 |
| matchCompleted | isWinner | BOOL |
| matchCompleted | matchType | STRING |
| itemCollected | coinsAmount | INT64 |
| itemCollected | weaponType | STRING |
| progressUpdate | currentProgress | INT64 |
Panduan file ZIP untuk statistik
Anda dapat mengimpor statistik sekaligus menggunakan file ZIP. Lihat tabel untuk mengetahui nama file yang tepat untuk digunakan dalam file ZIP Anda:
| Nama file | Wajib Diisi atau Opsional | Nilai yang diterima |
|---|---|---|
RepetitiveStatsConfig.csv
|
Wajib | Statistik berulang mewakili tindakan dalam game yang terjadi secara rutin dan dilakukan oleh pemain. |
ProgressionStatConfig.csv
|
Wajib | Statistik progres mewakili progres pemain dalam game. |
StatLocalizations.csv
|
Opsional | Memberikan terjemahan untuk nama dan deskripsi Statistik Game. |
| File ikon | Wajib | Ikon dalam format PNG, JPEG, atau JPG berukuran 512 x 512. |
File ZIP harus memenuhi persyaratan berikut:
- Batas ukuran file ZIP: Ukuran total maksimum sebelum dikompresi adalah 10 MB.
- File maks: Maksimum 53 (3 CSV dan 50 ikon) total file di dalam file ZIP.
- Batas statistik gabungan maksimum: Maksimum 50 total statistik di seluruh
ProgressionStatConfig.csvdanRepetitiveStatsConfig.csv. - File CSV yang didukung:
ProgressionStatConfig.csv,RepetitiveStatsConfig.csv, danStatLocalizations.csv(opsional). Jika Anda hanya ingin mengupload statistik progres, jangan sertakan file CSV statistik berulang dalam ZIP; jika tidak, konsol akan menampilkan error. Hal yang sama berlaku jika Anda hanya ingin mengupload statistik berulang. - File gambar ikon: PNG (.png) atau JPEG (.jpg, .jpeg).
- Semua ikon yang dirujuk dalam CSV harus ada di root file ZIP.
- Semua file gambar yang ada di dalam ZIP harus dirujuk oleh setidaknya satu statistik.
- Struktur direktori: Semua file harus berada di root file ZIP. Subdirektori tidak diizinkan.
Format RepetitiveStatsConfig.csv
CSV berisi peristiwa yang dideklarasikan dan propertinya sebagai nilai yang dipisahkan koma dalam urutan berikut:
Stat Id,Event Name,Event Property Name,Aggregation Type,Stat Display Name,Stat Description,Filter Property,Filter Operator,Filter Value,Is Competitive,Min limit,Max limit,Icon File Name,Good value direction,Unit
Kolom-kolom ini dijelaskan dalam tabel berikut:
| Header kolom CSV | Wajib Diisi atau Opsional | Nilai yang diterima |
|---|---|---|
| ID Statistik | Wajib | Maksimum 100 karakter Hanya boleh terdiri dari huruf, angka, dan garis bawah. Harus unik di semua statistik dalam game. |
| Nama Peristiwa | Wajib | Maksimum 50 karakter Harus merujuk ke Nama Peristiwa yang ditentukan dalam format PlayerGameEvent.csv. |
| Nama Properti Peristiwa | Wajib | Maksimum 50 karakter |
| Nama Tampilan Statistik | Wajib | Maksimum 50 karakter Nama tampilan default untuk statistik (lokalitas default). Harus unik di seluruh statistik. |
| Deskripsi Statistik | Wajib | Maksimum 500 karakter Deskripsi default untuk statistik. |
| Jenis Agregasi | Wajib | Maksimum 50 karakter SUM, MAX, MIN, COUNT. |
| Filter Properti | Opsional | Maksimum 50 karakter Harus berupa Nama Properti yang ditentukan dalam PlayerGameEvent.csv. |
| Operator Filter | Opsional | =, !=, >, <, >=, <=Operator perbandingan filter. |
| Nilai Filter | Opsional | Dibandingkan dengan Properti Filter.
Nilai filter harus berupa INT64, DOUBLE, BOOL, STRING.
|
| Kompetitif | Wajib | true, false
|
| Batas minimum | Wajib diisi jika Kompetitif bernilai benar (true) | Skor minimum yang diizinkan untuk statistik kompetitif. |
| Batas maksimum | Wajib diisi jika Kompetitif bernilai benar (true) | Skor maksimum yang diizinkan untuk statistik kompetitif. |
| Nama File Ikon | Wajib | Nama file gambar ikon yang disertakan dalam root file ZIP. Tidak boleh bertentangan dengan nama file ikon yang digunakan dalam statistik berulang. |
| Arah nilai yang baik | Wajib | Menentukan apakah nilai yang lebih tinggi INCREASING atau nilai yang lebih rendah DECREASING lebih baik.
|
| Unit | Opsional | Satuan pengukuran untuk nilai numerik atau durasi mentah. Misalnya, KILOMETER, SECOND, PERCENTAGE, UNITLESS. |
Jika Anda tidak ingin menggunakan kondisi filter, biarkan sel kosong.
Tabel contoh
| ID statistik | Nama Peristiwa | Nama Properti | Agregasi | Nama Tampilan Statistik | Deskripsi Statistik | Properti Filter (opsional) | Operator Filter (opsional) | Nilai Filter (opsional) | Kompetitif | minLimit | maxLimit | Nama file ikon | Arah nilai yang baik | satuan |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | matchCompleted | durasi | MAX | Longest Match Survival | Ini menunjukkan waktu bertahan pemain dalam pertandingan apa pun | isWinner | = | TRUE | TRUE | 0 | 50 | stat1.png | Menurun | detik |
| 2 | matchCompleted | isWinner | COUNT | Pertandingan yang Dimenangkan | Ini menunjukkan jumlah pertandingan yang dimenangkan pemain | isWinner | = | TRUE | TRUE | 0 | 50 | stat3.png | Meningkat | |
| 3 | matchCompleted | membunuh | SUM | Kill pertandingan 1 lawan 1 | Jumlah kill yang dilakukan dalam pertandingan 1 lawan 1 | matchType | = | "1-on-1" | SALAH | stat4.png | Meningkat | |||
| 4 | itemCollected | coinsAmount | SUM | Total Emas yang Dikumpulkan | Pemain mengumpulkan koin saat bermain dalam pertandingan | weaponType | = | "sword" | SALAH | stat2.png | Meningkat |
Format ProgressionStatConfig.csv
CSV berisi peristiwa yang dideklarasikan dan propertinya sebagai nilai yang dipisahkan koma dalam urutan berikut:
Stat Id,Event Property Name,Stat Display Name,Stat Description,Icon File Name,Good value direction,Unit
Statistik progres akan ditampilkan sebagai statistik pertama kepada pemain di Profil Gamer mereka.
Kolom-kolom ini dijelaskan dalam tabel berikut:
| Header kolom CSV | Wajib Diisi atau Opsional | Nilai yang diterima |
|---|---|---|
| ID Statistik | Wajib | Maksimum 100 karakter Hanya boleh terdiri dari huruf, angka, dan garis bawah. Harus unik di semua statistik dalam game. |
| Nama Properti Peristiwa | Wajib | Maksimum 50 karakter Harus berupa Nama Properti yang ditentukan dalam PlayerGameEvent.csv. |
| Nama Tampilan Statistik | Wajib | Harus berupa nama yang unik. |
| Deskripsi Statistik | Wajib | Maksimum 50 karakter Deskripsi default untuk statistik. |
| Nama File Ikon | Wajib | Nama file gambar ikon yang disertakan dalam root file ZIP. Tidak boleh bertentangan dengan nama file ikon yang digunakan dalam statistik berulang. |
| Arah nilai yang baik | Wajib | Menentukan apakah nilai yang lebih tinggi INCREASING atau nilai yang lebih rendah DECREASING lebih baik.
|
| Unit | Opsional | Satuan pengukuran untuk nilai numerik atau durasi mentah. Misalnya, KILOMETER, SECOND, PERCENTAGE, UNITLESS. |
Tabel contoh
| ID Statistik | Nama Properti Peristiwa | Nama Tampilan Statistik | Deskripsi Statistik | Nama File Ikon | Arah nilai yang baik |
|---|---|---|---|---|---|
| 5 | currentProgress | Tingkat | Pemain mengumpulkan XP dengan memainkan pertandingan dan naik level. | Level.png | makin meningkat |
Format StatLocalizations.csv
CSV berisi peristiwa yang dideklarasikan dan propertinya sebagai nilai yang dipisahkan koma dalam urutan berikut:
Stat Id,Stat Display Name,Locale,Localized Stat Display Name,Localized Stat Description
Kolom-kolom ini dijelaskan dalam tabel berikut:
| Header kolom CSV | Wajib Diisi atau Opsional | Nilai yang diterima |
|---|---|---|
| ID Statistik | Wajib | Maksimum 100 karakter Hanya boleh terdiri dari huruf, angka, dan garis bawah. Harus unik di semua statistik dalam game. |
| Nama Tampilan Statistik | Wajib | Harus berupa nama yang unik. |
| Lokal | Wajib | Kode lokalitas seperti en-US. Tambahkan terjemahan untuk game Anda sebelum menentukan lokalitas. Perhatikan bahwa Anda tidak dapat menentukan lokalitas default. Kode lokalitas yang didukung dapat ditemukan dalam daftar bahasa yang didukung. |
| Nama Tampilan Statistik yang Dilokalkan | Opsional | Maksimum 50 karakter. Nama tampilan statistik yang diterjemahkan untuk lokalitas tertentu. |
| Deskripsi Statistik yang Dilokalkan | Opsional | Maksimum 500 karakter. Deskripsi statistik yang diterjemahkan untuk lokalitas tertentu. |
Tabel contoh
| ID statistik | Nama Tampilan Statistik | Kode Bahasa | Nama Statistik yang Dilokalkan (UTF-8) | Deskripsi Statistik yang Dilokalkan (UTF-8) |
|---|---|---|---|---|
| 1 | Longest Match Survival | es | Supervivencia más larga en partidos | Esto denota el tiempo de supervivencia de una jugadora en cualquier partido. |
| 1 | Longest Match Survival | fr | Survie du match le plus long | Cela indique la durée de survie d'un joueur dans n'importe quel match. |
| 4 | Total Emas yang Dikumpulkan | es | Oro total recolectado | La jugadora recoge monedas mientras juega en un partido |
| 4 | Total Emas yang Dikumpulkan | fr | Atau total collecté | Le joueur collecte des pièces en jouant un match |
File ikon
Ikon yang Anda referensikan dalam file CSV harus ada dalam file ZIP saat ini yang Anda impor.
Aturan validasi ikon adalah:
| Properti validasi | Batasan/aturan yang diterapkan |
|---|---|
| Ukuran maks file | Maksimum 1 MB (1.048.576 byte) per file ikon. |
| Dimensi | Tepat 512 × 512 piksel (lebar = 512, tinggi = 512) |
| Rasio Aspek | Harus 1:1 (Rasio aspek persegi) |
| Format yang Diizinkan | PNG (.png) dan JPEG (.jpg, .jpeg) |
| Penempatan dalam ZIP | Harus berada di direktori utama dalam file ZIP. |
| Pemeriksaan yang Direferensikan | Semua nama file ikon yang ditentukan di kolom Icon File Name harus ada dalam ZIP. |
| Pemeriksaan Orphan | Semua file gambar di dalam ZIP harus direferensikan oleh setidaknya satu statistik. |
| Pemeriksaan Konflik | Nama file ikon di ProgressionStatConfig.csv tidak boleh
bertentangan dengan RepetitiveStatsConfig.csv.
|
| Duplikat Visual | Ikon duplikat akan ditandai. |
Pedoman ikon
Ikon harus dibuat sebagai file PNG, JPEG, atau JPG berukuran 512 x 512 dengan latar belakang transparan.
Ikon yang sama digunakan di semua lokalitas, jadi sebaiknya jangan sertakan teks atau konten yang dilokalkan dalam ikon.
Spesifikasi unit
Kolom Unit mengontrol cara nilai statistik mentah diformat dan dilokalkan untuk pemain.
Properti statistik numerik (INT64, DOUBLE)
| Nilai Unit yang Diizinkan | Contoh Nilai Mentah |
| (Kosong) / TANPA UNIT / TIDAK ADA | 1234567 |
| % / PERCENTAGE / PERCENT | 0,857 |
| Jarak/Panjang: CENTIMETER, METER, KILOMETER, FOOT, INCH, MILE, YARD, MILLIMETER, NANOMETER | 15 (KILOMETER) |
| Kecepatan: KILOMETER_PER_HOUR, METER_PER_SECOND, MILE_PER_HOUR | 60 (MILE_PER_HOUR) |
Properti statistik durasi (DURATION)
| Nilai Kategori Format | Nilai Unit yang Diizinkan | Contoh Nilai Mentah | Contoh Output yang Diformat |
| UNIT_BASED / DURATION | Wajib diisi: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR | 5400 detik (JAM) | 1,5 jam |
| COMPONENT_NUMERIC / HH:MM:SS / CLOCK | Granularitas (Opsional, default WHOLE_SECONDS): WHOLE_MINUTES, WHOLE_SECONDS, MILLISECONDS_ONE_DIGIT, MILLISECONDS_TWO_DIGITS, MILLISECONDS_THREE_DIGITS | 3.661 detik | 01:01:01 |
| COMPONENT_TEXT / TEXT | Unit Terkecil (Opsional, default DETIK): DETIK, MENIT, JAM, HARI, BULAN, TAHUN | 90.000 detik | 1 hari 1 jam |
Properti Statistik Non-Numerik (STRING, BOOL)
Kolom unit harus dibiarkan kosong.