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

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

قبل البدء

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

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

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

إرسال حدث

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

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

  // 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);