تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يوضّح لك هذا الدليل كيفية جمع بيانات أسلوب اللعب لدى اللاعبين لأغراض إحصاءات الألعاب
باستخدام واجهات برمجة تطبيقات الأحداث التي تقدّمها "خدمات ألعاب Play". يمكن العثور على واجهات برمجة التطبيقات في الحزم
com.google.android.gms.games.event
وcom.google.android.gms.games.
لبدء استخدام واجهات برمجة تطبيقات الأحداث، يجب أن تحصل لعبتك أولاً على عنصر
EventsClient. يمكنك إجراء ذلك من خلال استدعاء الطريقة PlayGames.getEventsClient()
وإرسال النشاط.
إرسال الأحداث
يمكنك إضافة رمز في لعبتك لإرسال إشعار إلى "خدمات ألعاب Play" عند وقوع حدث يمثّل
اهتمامًا للعبة.
لإرسال تعديل حدث، استخدِم الدالة
EventsClient.increment()
مع القيمة eventId وعدد صحيح incrementAmount يساوي
أو أكبر من 0.
تنشئ "خدمات ألعاب Play" القيمة eventId عند تحديد الحدث
لأول مرة في Google Play Console، ويتم استخدامها لتحديد هوية هذا الحدث
بشكل فريد في لعبتك.
يمكنك استخدام الإدخال incrementAmount لتحديد التقدّم الكمي
لللاعب نحو إكمال بعض الأهداف الخاصة باللعبة. على سبيل المثال، إذا كان
الحدث الذي تريد لعبتك تتبُّعه هو "هزيمة 500 وحش ذي عيون حشرات"، يمكن أن تكون قيمة
incrementAmount هي عدد الوحوش التي قتلها اللاعب
في معركة واحدة.
في ما يلي مثال على كيفية إرسال حدث بقيمة متزايدة تبلغ 1:
public void submitEvent(String eventId) {
PlayGames.getEventsClient(this)
.increment(eventId, 1);
}
استرداد الأحداث
يمكنك استرداد جميع بيانات الأحداث المخزّنة في خوادم Google للعبة من خلال
استدعاء
EventsClient.load().
في طلب الطريقة، أدخِل قيمة منطقية للإشارة إلى ما إذا كان على "خدمات ألعاب Play"
محو البيانات المخزّنة مؤقتًا على الجهاز الخاص بالمستخدم.
لاسترداد بيانات عن أحداث معيّنة حدّدتها في
Google Play Console، يمكنك استدعاء دالة
EventsClient.loadByIds()
وإدخال صفيف من أرقام تعريف الأحداث في مَعلمات الإدخال.
يوضّح المقتطف التالي كيفية طلب بيانات من "خدمات ألعاب Play" للحصول على قائمة
بجميع أحداث لعبتك:
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],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```"]]