إضافة أحداث إلى لعبتك

يوضّح لك هذا الدليل كيفية استخدام خدمة "الأحداث" في تطبيق C++.

قبل البدء

ننصحك بمراجعة مفاهيم ألعاب الأحداث إذا لم يسبق لك ذلك.

لإعداد بيئة تطوير C++ لاستخدام خدمة "الأحداث"، اتّبِع التعليمات الواردة في دليل البدء باستخدام C++. يمكنك تنزيل حزمة تطوير البرامج (SDK) لـ "خدمات ألعاب Play" التي تستخدم لغة C++ من صفحة عمليات تنزيل حِزم SDK.

لكي تتمكّن لعبتك من الوصول إلى الأحداث، عليك أولاً تحديدها في Google Play Console.

إرسال حدث

يمكنك إضافة رمز في لعبتك لإرسال إشعار إلى خدمة "الأحداث" عند حدوث حدث يهمّ لعبتك. تشمل أمثلة الأحداث التي يمكنك تسجيلها في اللعبة ما يلي: قتل الأعداء أو استكشاف مناطق مختلفة في اللعبة أو العودة إليها أو الحصول على عناصر في اللعبة. عادةً ما يتمّ استدعاء Increment في "مدير الأحداث" لزيادة عدد الأحداث بمقدار 1 في كلّ مرّة ينفّذ فيها اللاعب إجراءً مرتبطًا بالحدث (مثل "قتل وحشًا واحدًا").

يوضّح المثال التالي كيفية إرسال عدد الأحداث المعدَّل إلى خدمة "الأحداث".

  // Increment the event count when player performs the 'Attack blue
  // monster' action.
  game_services_->Events().Increment(BLUE_MONSTER_EVENT_ID);

استرداد الأحداث

لاسترداد قيمة العدد الحالية المخزّنة في خوادم Google لحدث معيّن، يمكنك استدعاء إحدى طرق Fetch*. يمكنك مثلاً إجراء ذلك إذا كنت تريد عرض إحصاءات اللاعب داخل اللعبة أو مستوى تقدّمه من واجهة مستخدم مخصّصة في لعبتك.

يوضّح المثال التالي كيفية استرداد بيانات الأحداث وتسجيلها في لعبتك.

  // Log Events details.
  LogI("---- Showing Event Counts -----");
  gpg::EventManager::FetchAllCallback callback =
      [](gpg::EventManager::FetchAllResponse const &response) {
    for (auto i : response.data) {
      gpg::Event const &event = i.second;
      LogI("Event name: %s  count: %d", event.Name().c_str(),
           event.Count());
    }
  };
  game_services_->Events().FetchAll(callback);