بعد إيقاف واجهة برمجة التطبيقات
Google Sign-In API
نهائيًا، سنزيل حزمة تطوير البرامج (SDK) لألعاب الإصدار 1 في عام 2026. بعد شباط (فبراير) 2025، لن تتمكّن من نشر
العناوين التي تم دمجها حديثًا مع حزمة تطوير البرامج (SDK) لإصدار 1 من "ألعاب Google Play" على Google Play. ننصحك باستخدام
حزمة تطوير البرامج (SDK) لإصدار 2 من "ألعاب Google Play" بدلاً من ذلك.
على الرغم من أنّ العناوين الحالية التي تم دمجها مع الإصدار 1 من الألعاب السابقة ستظل تعمل لعدة
سنوات، ننصحك بنقل بياناتها إلى الإصدار 2
اعتبارًا من حزيران (يونيو) 2025.
يتناول هذا الدليل استخدام حزمة تطوير البرامج (SDK) لإصدار 1 من "خدمات ألعاب Play". لا تتوفّر حزمة C++ SDK لإصدار
"خدمات ألعاب Play" 2 حتى الآن.
يوضّح لك هذا الدليل كيفية استخدام خدمة "الأحداث" في تطبيق 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);