Bu kılavuzda, Events hizmetinin C++ uygulamasında nasıl kullanılacağı gösterilmektedir.
Başlamadan önce
Henüz yapmadıysanız etkinlik oyun kavramlarını incelemeniz faydalı olabilir.
C++ geliştirme ortamınızı Events hizmetini kullanacak şekilde ayarlamak için C++ ile Başlama kılavuzundaki talimatları uygulayın. Play Games hizmetleri C++ SDK'sını SDK indirme sayfasından indirebilirsiniz.
Oyununuzun etkinliklere erişebilmesi için önce bunları Google Play Console'da tanımlamanız gerekir.
Etkinlik gönderme
Oyununuz için ilgi çekici bir etkinlik gerçekleştiğinde Etkinlikler hizmetini bilgilendirmek üzere oyununuza kod ekleyebilirsiniz. Oyununuzda yakalayabileceğiniz etkinliklere örnek olarak düşmanları öldürme, çeşitli oyun bölgelerini keşfetme veya bu bölgelere geri dönme ya da oyun içi öğeler edinme verilebilir. Genellikle, oyuncu etkinlikle ilişkili bir işlem (ör. "Bir canavarı öldürdü") gerçekleştirdiğinde etkinliğin sayısını 1 artırmak için etkinlik yöneticisinde Increment
yöntemini çağırırsınız.
Aşağıdaki örnekte, güncellenmiş etkinlik sayısını Events hizmetine nasıl gönderebileceğiniz gösterilmektedir.
// Increment the event count when player performs the 'Attack blue
// monster' action.
game_services_->Events().Increment(BLUE_MONSTER_EVENT_ID);
Etkinlikleri alma
Belirli bir etkinlik için Google'ın sunucularında saklanan mevcut sayma değerini almak üzere Fetch*
yöntemlerinden birini çağırın. Örneğin, bir oyuncunun oyun içi istatistiklerini veya ilerleme durumunu oyununuzdaki özel bir kullanıcı arayüzünden göstermek isterseniz bunu yapabilirsiniz.
Aşağıdaki örnekte, oyununuzda etkinlik verilerini nasıl alıp günlüğe kaydedebileceğiniz gösterilmektedir.
// 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);