Google Sign-in API'sinin desteğinin sonlandırılmasının ardından, 2026'da Games v1 SDK'sını kaldırıyoruz. Şubat 2025'ten sonra, games v1 SDK'sına yeni entegre edilmiş oyunları Google Play'de yayınlayamazsınız. Bunun yerine games v2 SDK'sını kullanmanızı öneririz.
Önceki oyunların v1 entegrasyonlarına sahip mevcut oyunlar birkaç yıl boyunca çalışmaya devam edecek olsa da Haziran 2025'ten itibaren v2'ye geçiş yapmanızı öneririz.
Bu kılavuz, Play Games Hizmetleri v1 SDK'sının kullanımıyla ilgilidir. Play Games Hizmetleri v2 için C++ SDK'sı henüz kullanıma sunulmamıştır.
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 istiyorsanız 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);