Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Panduan ini menunjukkan cara mengumpulkan data gameplay pemain untuk analisis game
menggunakan API peristiwa yang disediakan oleh Layanan game Google Play. API ini dapat ditemukan dalam paket
com.google.android.gms.games.event
dan com.google.android.gms.games.
Untuk mulai menggunakan API peristiwa, game Anda harus mendapatkan objek
EventsClient
terlebih dahulu. Anda dapat melakukannya dengan memanggil metode PlayGames.getEventsClient()
dan meneruskan aktivitas.
Mengirim peristiwa
Anda dapat menambahkan kode dalam game untuk memberi tahu Layanan game Play setiap kali terjadi peristiwa
yang menarik untuk game.
Untuk mengirim pembaruan peristiwa, panggil
EventsClient.increment()
dengan nilai eventId dan bilangan bulat incrementAmount yang sama dengan atau
lebih besar dari 0.
eventId dibuat oleh Layanan game Play saat Anda pertama kali menentukan
peristiwa di Konsol Google Play dan digunakan untuk mengidentifikasi peristiwa ini secara unik di
game Anda.
Anda dapat menggunakan input incrementAmount untuk menentukan progres kuantitatif
pemain dalam menyelesaikan beberapa sasaran khusus game. Misalnya, jika peristiwa yang ingin dilacak
game Anda adalah 'Defeat 500 bug-eyed monster', nilai
incrementAmount dapat berupa jumlah monster yang dibunuh pemain
dalam satu pertempuran.
Berikut adalah contoh cara mengirimkan peristiwa dengan kenaikan jumlah 1:
public void submitEvent(String eventId) {
PlayGames.getEventsClient(this)
.increment(eventId, 1);
}
Mengambil peristiwa
Anda dapat mengambil semua data peristiwa yang disimpan di server Google untuk game Anda, dengan
memanggil
EventsClient.load().
Dalam panggilan metode, teruskan nilai boolean untuk menunjukkan apakah Layanan game Play
harus menghapus data yang di-cache secara lokal di perangkat pengguna.
Untuk mengambil data peristiwa tertentu yang Anda tentukan di
Konsol Google Play, panggil
EventsClient.loadByIds()
dan teruskan array ID peristiwa dalam parameter input.
Cuplikan berikut menunjukkan cara membuat kueri Layanan game Play untuk daftar
semua peristiwa untuk game Anda:
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-26 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-26 UTC."],[],[],null,["# Events for Android games\n\n| **Note:** This guide is for the Play Games Services v2 SDK. For information on the previous version of this SDK, see the [Play Games Services v1\n| documentation](/games/pgs/v1/android/events).\n\nThis guide shows you how to collect player gameplay data for game analytics\nusing the events APIs provided by Google Play Games Services. The APIs can be found in the\n[`com.google.android.gms.games.event`](https://developers.google.com/android/reference/com/google/android/gms/games/event/package-summary)\nand [`com.google.android.gms.games`](https://developers.google.com/android/reference/com/google/android/gms/games/package-summary)\npackages.\n\nBefore you begin\n----------------\n\nIf you haven't already done so, you might find it helpful to review the [events\ngame concepts](/games/pgs/events).\n\nBefore you start to code using the events APIs:\n\n- Define the events for your game in the\n [Google Play Console](https://play.google.com/apps/publish/).\n\n- Follow the [sign-in checklist recommendations](/games/pgs/quality#sign-in).\n\nGet the events client\n---------------------\n\nTo start using the events APIs, your game must first obtain an\n[`EventsClient`](https://developers.google.com/android/reference/com/google/android/gms/games/EventsClient)\nobject. You can do this by calling the [`PlayGames.getEventsClient()`](https://developers.google.com/android/reference/com/google/android/gms/games/PlayGames#public-static-eventsclient-geteventsclient-activity-activity)\nmethod and passing in the activity.\n| **Note:** The [`EventsClient`](https://developers.google.com/android/reference/com/google/android/gms/games/EventsClient) class makes use of the Google Play services [`Task`](https://developers.google.com/android/reference/com/google/android/gms/tasks/Task) class to return results asynchronously. To learn more about using tasks to manage threaded work, see the [Tasks API developer\n| guide](https://developers.google.com/android/guides/tasks).\n\nSubmit events\n-------------\n\nYou can add code in your game to notify Play Games Services whenever an event of\ninterest to your game occurs.\n\nTo send an event update, call\n[`EventsClient.increment()`](https://developers.google.com/android/reference/com/google/android/gms/games/EventsClient#increment)\nwith the `eventId` value and an integer `incrementAmount` that is equal to or\ngreater than 0.\n\n- The `eventId` is generated by Play Games Services when you first define the\n event in the Google Play Console and is used to uniquely identify this\n event in your game.\n\n- You can use the `incrementAmount` input to specify the player's quantitative\n progress towards completing some game-specific goal. For example, if the\n event your game wants to track is *'Defeat 500 bug-eyed monsters'* , the\n `incrementAmount` value can be the number of monsters that the player killed\n in a single battle.\n\nHere's an example of how to submit an event with an increment amount of 1: \n\n```text\npublic void submitEvent(String eventId) {\n PlayGames.getEventsClient(this)\n .increment(eventId, 1);\n}\n```\n\nRetrieve events\n---------------\n\nYou can retrieve all events data stored in Google's servers for your game, by\ncalling\n[`EventsClient.load()`](https://developers.google.com/android/reference/com/google/android/gms/games/EventsClient#load(boolean)).\nIn the method call, pass in a boolean value to indicate if Play Games Services\nshould clear the locally cached data on the user's device.\n\nTo retrieve data for specific events that you defined in the\nGoogle Play Console, call\n[`EventsClient.loadByIds()`](https://developers.google.com/android/reference/com/google/android/gms/games/EventsClient#loadByIds)\nand pass in an array of event IDs in the input parameters.\n\nThe following snippet shows how you can query Play Games Services for the list of\nall events for your game: \n\n```gdscript\npublic void loadEvents() {\n PlayGames.getEventsClient(this)\n .load(true)\n .addOnCompleteListener(new OnCompleteListener\u003cAnnotatedData\u003cEventBuffer\u003e\u003e() {\n @Override\n public void onComplete(@NonNull Task\u003cAnnotatedData\u003cEventBuffer\u003e\u003e task) {\n if (task.isSuccessful()) {\n // Process all the events.\n for (Event event : task.getResult().get()) {\n Log.d(TAG, \"loaded event \" + event.getName());\n }\n } else {\n // Handle Error\n Exception exception = task.getException();\n int statusCode = CommonStatusCodes.DEVELOPER_ERROR;\n if (exception instanceof ApiException) {\n ApiException apiException = (ApiException) exception;\n statusCode = apiException.getStatusCode();\n }\n showError(statusCode);\n }\n }\n });\n}\n```"]]