Google ile Giriş 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ıyla yeni entegre edilen oyunları Google Play'de yayınlayamayacaksınız. Bunun yerine games v2 SDK'sını kullanmanızı öneririz.
Önceki Games v1 entegrasyonlarına sahip mevcut uygulamalar birkaç yıl daha çalışmaya devam edecek olsa da
Haziran 2025'ten itibaren
v2'ye geçiş yapmanız
önerilir.
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ılamamaktadır.
Bu kılavuzda, C++ uygulamasında Events hizmetinin nasıl kullanılacağı gösterilmektedir.
Başlamadan önce
Henüz yapmadıysanız etkinliklerdeki oyun kavramlarını incelemeniz faydalı olabilir.
Etkinlikler hizmetini kullanmak için C++ geliştirme ortamınızı ayarlamak üzere C++ için Başlangıç kılavuzundaki talimatları uygulayın. Play Games Hizmetleri C++ SDK'sını SDK indirme sayfasından indirebilirsiniz.
Oyununuzun etkinliklere erişebilmesi için önce Google Play Console'da etkinlikleri tanımlamanız gerekir.
Etkinlik gönderme
Oyununuzda, oyununuzla ilgili bir etkinlik gerçekleştiğinde Etkinlikler hizmetini bilgilendirmek için 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 gerçekleştirdiğinde (ör. "Bir canavar öldürdü") 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üncellenen 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 depolanan mevcut sayı değerini almak üzere Fetch*
yöntemlerinden birini çağırın. Örneğin, oyununuzdaki özel bir kullanıcı arayüzünde oyuncunun oyun içi istatistiklerini veya ilerleme durumunu göstermek istiyorsanız bunu yapabilirsiniz.
Aşağıdaki örnekte, etkinlik verilerini oyununuzda 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);