בעקבות הוצאה משימוש של Google Sign-In API, אנחנו מסירים את ה-SDK בגרסה Games v1 בשנת 2026. אחרי פברואר 2025, לא תהיה לך אפשרות לפרסם ב-Google Play משחקים ששולבו לאחרונה עם ה-SDK בגרסה Games v1. מומלץ להשתמש ב-SDK בגרסה Games v2.
משחקים קיימים עם שילובים קודמים של Games v1 ימשיכו לפעול למשך כמה שנים, אבל מומלץ לעבור לגרסה 2 החל מיוני 2025.
המדריך הזה מיועד לשימוש ב-Play Games Services SDK בגרסה 1. C++ SDK for
Play Games Services v2 עדיין לא זמין.
במדריך הזה מוסבר איך להשתמש בשירות Events באפליקציית C++.
לפני שמתחילים
אם עדיין לא עשיתם זאת, כדאי לעיין במושגים של משחקי אירועים.
כדי להגדיר את סביבת הפיתוח בשפת C++ לשימוש בשירות Events, פועלים לפי ההוראות במדריך תחילת העבודה עם C++. אפשר להוריד את Play Games services C++ SDK מדף ההורדות של ה-SDK.
כדי שהמשחק יוכל לגשת לאירועים, צריך להגדיר אותם קודם ב-Google Play Console.
שליחת אירוע
אתם יכולים להוסיף קוד למשחק כדי להודיע לשירות האירועים בכל פעם שמתרחש אירוע שמעניין את המשחק. דוגמאות לאירועים שאפשר לתעד במשחק: הריגת אויבים, חקר אזורים שונים במשחק או חזרה אליהם, או רכישת פריטים במשחק. בדרך כלל, קוראים לשיטה Increment
במנהל האירועים כדי להגדיל את מספר האירועים ב-1 בכל פעם שהנגן מבצע פעולה שמשויכת לאירוע (לדוגמה, 'הרג מפלצת אחת').
בדוגמה הבאה אפשר לראות איך שולחים את ספירת האירועים המעודכנת לשירות Events.
// 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);