הוספת אירועים למשחק שלך

במדריך הזה מוסבר איך להשתמש בשירות Events באפליקציה ב-C++‎.

לפני שמתחילים

אם עדיין לא עשיתם זאת, מומלץ לעיין במושגי המשחקים של האירועים.

כדי להגדיר את סביבת הפיתוח של C++‎ כך שתשתמש בשירות 'אירועים', פועלים לפי ההוראות במדריך תחילת העבודה עם C++‎. אפשר להוריד את ה-SDK של Play Games Services ב-C++ מדף ההורדות של ה-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);