يوضِّح لك هذا الدليل كيفية جمع بيانات أسلوب لعب اللاعبين لإحصاءات الألعاب باستخدام واجهات برمجة تطبيقات الأحداث.
مقدمة من "خدمات ألعاب Google Play". يمكن العثور على واجهات برمجة التطبيقات في
com.google.android.gms.games.event
وcom.google.android.gms.games
قبل البدء
إذا لم تكن قد فعلت ذلك بالفعل، فقد تجد أنه من المفيد مراجعة مفاهيم ألعاب الأحداث.
قبل بدء الترميز باستخدام واجهات برمجة التطبيقات للأحداث، اتّبِع الخطوات التالية:
- حدد الأحداث الخاصة في Google Play Console.
- اتّبِع اقتراحات قائمة التحقّق من تسجيل الدخول.
جارٍ الحصول على عميل الأحداث
لبدء استخدام واجهات برمجة التطبيقات للأحداث، يجب أن تحصل لعبتك أولاً على
EventsClient
. يمكنك القيام بذلك عن طريق استدعاء
Games.getEventsClient()
وتمرير
الأخرى.
إرسال الأحداث
يمكنك إضافة رمز في لعبتك لإرسال إشعار إلى "خدمات ألعاب Google Play" في حال حدث مثير للاهتمام بلعبتك.
لإرسال تعديل حدث، يمكنك الاتصال بالرقم EventsClient.increment()
مع إعطاء القيمة eventId
عدد صحيح incrementAmount
يساوي 0 أو أكبر منه.
- يتم إنشاء
eventId
من خلال "خدمات ألعاب Google Play" عند تحديد لأول مرة الحدث في Google Play Console ويُستخدَم لتحديد هذا الحدث بشكل فريد في لعبتك. - يمكنك استخدام إدخال
incrementAmount
لتحديد مستوى تقدّم اللاعب نحو تحقيق الهدف. تحقيق بعض الأهداف الخاصة باللعبة. على سبيل المثال، إذا كان الحدث الخاص تريد تتبعه هي 'Defeat 500 Bug-eyed monsters'، ويمكن أن تكون القيمةincrementAmount
هي عدد الوحوش التي قتلها اللاعب في معركة واحدة.
في ما يلي مثال على كيفية إرسال حدث بمقدار 1 زيادة:
public void submitEvent(String eventId) { PlayGames.getEventsClient(this) .increment(eventId, 1); }
جارٍ استرداد الأحداث
يمكنك استرداد جميع بيانات الأحداث المخزَّنة في خوادم Google للعبتك من خلال:
يَتِمُّ الْآنَ الِاتِّصَالْ بِـ EventsClient.load()
. في جلسة المعمل،
طلب إجراء، إدخال قيمة منطقية للإشارة إلى ما إذا كان على خدمات ألعاب Google Play محو البيانات
البيانات المخزنة مؤقتًا على جهاز المستخدم.
لاسترداد بيانات أحداث معيّنة حددتها في Google Play Console، اطلب
EventsClient.loadByIds()
ومرِّر مصفوفة من أرقام تعريف الأحداث في مَعلمات الإدخال.
يوضّح المقتطف التالي كيفية طلب بحث عن "خدمات ألعاب Google Play" قائمة بكل أحداث لعبتك:
public void loadEvents() { PlayGames.getEventsClient(this) .load(true) .addOnCompleteListener(new OnCompleteListener<AnnotatedData<EventBuffer>>() { @Override public void onComplete(@NonNull Task<AnnotatedData<EventBuffer>> task) { if (task.isSuccessful()) { // Process all the events. for (Event event : task.getResult().get()) { Log.d(TAG, "loaded event " + event.getName()); } } else { // Handle Error Exception exception = task.getException(); int statusCode = CommonStatusCodes.DEVELOPER_ERROR; if (exception instanceof ApiException) { ApiException apiException = (ApiException) exception; statusCode = apiException.getStatusCode(); } showError(statusCode); } } }); }