CPI Tuzağından Sadık Oyunculara: Firebase Uygulama İçi İşlemleri ve Google Ads (UAC 2.0) ile Mobil Oyun Büyütme
Mobil platforma oyun çıkaran her bağımsız (indie) oyun geliştiricisi er ya da geç Yükleme Başına Maliyet (CPI) Paradoksu ile yüzleşir:
Ücretli bir kullanıcı kazanım (UA) kampanyası başlatır, Google Play'de artan indirme sayılarını kutlar ve heyecanla beklersiniz. Fakat 48 saat sonra analitik panelini açtığınızda acı gerçekle karşılaşırsınız:
1.000 İndirme ──► 500 Anında Silme (< 2 dk) ──► 50 Seviye 1 Tamamlama ──► 5 Sadık Oyuncu
Kazanılan kullanıcıların %50'den fazlası daha ilk bölümü dahi bitirmeden oyunu telefonundan silmiştir.
Eğer standart bir Google Ads Yükleme Kampanyası (UAC 1.0 - CPI) yürütüyorsanız, Google'ın makine öğrenimi algoritması tam olarak sizin ona emrettiğiniz şeyi yapmaktadır: "Google Play'de Yükle butonuna basacak en ucuz kişileri bul." Ne yazık ki reklam ağlarındaki en ucuz kullanıcılar genellikle ödüllü reklam avcıları, yanlışlıkla tıklayanlar veya oyununuzla asla derin bir bağ kurmayacak olan kullanıcılardır.
Bu makalede, Arar Games tarafından MonoGame ve C# ile geliştirilen hızlı tempolu retro tank aksiyon oyunumuz Blocked: Pixel Panzer üzerinde kurduğumuz gerçek dünya mühendislik ve pazarlama mimarisini paylaşıyoruz. Cihaz içi telemetriyi Google Analytics 4 (GA4) ve Google Ads Uygulama İçi İşlemler (UAC 2.0) kampanyalarıyla nasıl bağladığımızı; boş indirmelere para saçmak yerine nasıl oyunu gerçekten oynayan kaliteli oyuncuları çektiğimizi tüm adımlarıyla inceliyoruz.
1. Huniyi Teşhis Etmek: Canlı Analitik Bize Ne Öğretti?
Reklam ağlarına tek bir kuruş harcamadan önce oyuncuların nerede döküldüğünü (churn) bilmek zorundasınız.
Blocked: Pixel Panzer oyununda telemetri sistemimiz temel oynanış döngülerini Firebase'e asenkron olarak kaydeder:
first_open(ilk açılış)screen_view(40'tan fazla özel MonoGame ekranının takibi)level_completed(level_number,score,duration_secondsparametreleriyle)skill_upgraded(yetenek geliştirme)boss_fight_result(boss savaşı zafer/yenilgi)app_remove(işletim sisteminin oyunu silme sinyali)
GA4 Yol Keşfi (Path Exploration) raporunda oyunu silen kullanıcıları incelediğimizde tablo çok netti:
- İncelenen silinmiş oturumlarda kullanıcıların yaklaşık 30'u daha Seviye 1'i dahi bitirmeden oyunu silmişti.
- 14 kullanıcı ilk yeteneklerini geliştirdikten hemen sonra oyun döngüsünden ayrılmıştı.
- Oyunu silen oyuncuların ulaştığı maksimum nokta ise Seviye 10 (İlk Dünya Boss'u) olmuştu.
[ Oyunu Yükleyenler ]
│
├──► %48 Churn: Seviye 1 bitmeden silenler <── (CPI İsraf Bölgesi)
│
├──► %30 Etkileşim: Yetenek yükseltip Seviye 2-3'e geçenler
│
└──► %22 Sadık Kitle: Boss'a (Seviye 10) ve Meta-Oyuna Ulaşanlar
Çıkarılan ders tartışmasızdı: Yalnızca indirme sayısına para ödemek, bütçeyi doğrudan israf bölgesine dökmektir.
Sürdürülebilir bir oyun ekonomisi inşa etmek için reklam teklif modelimizin; oyunu gerçekten oynayan, Seviye 1'i geçen ve Seviye 3'e doğru ilerleyen oyuncu profillerini optimize etmesi gerekiyordu.
2. UAC 2.0 Mekaniği: Uygulama İçi İşlemlere Odaklanmak
Google Ads Uygulama Tanıtımı Kampanyaları (Universal App Campaigns) temelde farklı optimizasyon modellerine sahiptir:
| Kampanya Modeli | Teklif Odağı | Algoritmanın Öğrendiği Profil | En Uygun Olduğu Senaryo |
|---|---|---|---|
| UAC 1.0 (Yüklemeler) | Yükleme Hacmi / Hedef CPI | Sürekli yeni uygulama indiren kullanıcı profili | İlk mağaza lansmanı, hacim patlaması |
| UAC 2.0 (İşlemler) | Hedef EBM (İşlem Başı Maliyet) | Belirli bir oyun içi eşiği tamamlayan kullanıcı profili | Sürdürülebilir tutundurma, kaliteli oyuncu |
| UAC 2.5 (Değer / ROAS) | Hedef ROAS | Uygulama içi satın alma yapan (balina) profili | Yoğun mikro ödeme içeren oyunlar |
UAC 2.0 (Uygulama İçi İşlemler) modelinde Seviye 1 tamamlama başına bir Hedef EBM (örneğin 6,00 ₺ / ~0.20$) belirlersiniz.
Google'ın Akıllı Teklif (Smart Bidding) sinir ağı; Google Play, YouTube, Google Arama ve AdMob ağındaki milyonlarca uygulamada yüzlerce davranışsal sinyali analiz eder. Reklamı yalnızca geçmiş alışkanlıkları oyunu indirip ilk bölümü başarıyla tamamlayacağını gösteren oyunculara gösterir.
3. Adım Adım Kurulum: C# Telemetriden Google Ads'e
Oyun içi başarıları reklam dönüşüm hedefine dönüştürürken izlediğimiz teknik akış:
Adım 1: Cihaz Tarafı Telemetri Kancası (MonoGame / C#)
Blocked.Shared/Managers/AnalyticsManager.cs dosyasında oyuncu bir bölümü temizlediğinde skor ve süre hesaplanır; 60 FPS render döngüsünü aksatmadan level_completed olayı ateşlenir:
public static void LogLevelCompleted(int level, int score, int totalScore, string rank,
int durationSeconds, int damageTaken,
int blocksBroken, int enemiesKilled, int suppliesCollected)
{
try
{
_payload.Clear();
_payload[AnalyticsParams.LevelNumber] = level;
_payload[AnalyticsParams.Score] = score;
_payload[AnalyticsParams.TotalScore] = totalScore;
_payload[AnalyticsParams.DurationSeconds] = durationSeconds;
_payload[AnalyticsParams.IsBoss] = IsBossLevel(level) ? 1 : 0;
// Android Firebase SDK'sına JNI üzerinden iletilir (kasmayan SQLite tamponu)
_service.LogEvent(AnalyticsEvents.LevelCompleted, _payload);
}
catch (Exception ex)
{
// Telemetri asla oyunu çökertecek bir hataya yol açmamalıdır
Warn(ex);
}
}
Adım 2: GA4 Özel Etkinlik Türetme (Kod Güncellemesi Gerekmez)
Google Ads doğrudan level_completed WHERE level_number == 1 gibi parametre alt sorgularını hedefleme seçeneği olarak sunmaz. Ancak Google Analytics 4 (GA4), mağazaya yeni güncelleme göndermeden panel üzerinden yeni etkinlik türetmeye imkan tanır:
- GA4 Konsolunda Yönetici ➔ Veri görünümü ➔ Etkinlikler yolunu izleyin.
- Etkinlik oluştur butonuna tıklayın:
- Özel etkinlik adı:
level_1_completed - Eşleşme koşulları:
event_nameequalslevel_completedlevel_numberequals1
- Skor ve süre verilerinin korunması için "Copy parameters from the source event" kutusunu işaretleyin.
- Özel etkinlik adı:
- Kaydedin.
- Önemli olaylar (Key events) sekmesinde
level_1_completedolayının yanındaki Yıldızı (⭐) aktif hale getirin.
Artık dünyanın neresinde bir oyuncu Seviye 1'i tamamlarsa GA4 bunu bağımsız bir dönüşüm olayı olarak kaydeder.
Adım 3: Dönüşümün Google Ads'e Aktarılması
- Google Ads (
ads.google.com) paneline gidin. - Hedefler ➔ Dönüşümler ➔ Özet sekmesine geçin.
- Yeni dönüşüm işlemi ➔ İçe Aktar ➔ Google Analytics 4 mülkleri (Firebase) seçeneğini seçin.
- Listeden
level_1_completedolayını seçip kategorisini Level achieved (Seviyeye ulaşıldı) veya Engagement olarak belirleyin. - İşlemi Birincil (Primary) olarak işaretleyin; böylece reklam algoritması tekliflerini bu olaya göre optimize eder.
[ Mobil Oyun: Seviye 1 Tamamlandı ]
│
│ LogEvent("level_completed", { level_number: 1 })
▼
[ Firebase Analytics Motoru ]
│
│ GA4 Kuralı: "level_1_completed" sentezlenir
▼
[ GA4 Önemli Olay (Dönüşüm) ]
│
│ Google Ads Entegrasyonu
▼
[ Google Ads Akıllı Teklif Motoru (UAC 2.0 Hedef EBM) ]
4. Soğuk Başlangıç Problemini Aşmak: Huni Stratejisi
Geliştiricilerin UAC 2.0'a geçerken en sık yaptığı hata, doğrudan oyunun çok ileri bir aşamasını hedef seçmektir.
Makine Öğreniminin Hacim Kuralı
Google Ads Akıllı Teklif algoritmalarının sağlıklı eğitilmesi için belirli bir veri eşiği gerekir:
- Kritik Kural: Bir kampanyanın "Öğrenme Süreci"nden başarıyla çıkıp kararlı çalışabilmesi için günde en az 10 ila 20 hedef dönüşüm toplaması önerilir.
İlk analizimizde Seviye 3 ve üzerini geçen oyunculardan oluşan Quality_Players_Level_3 adında bir kitle oluşturmuştuk ve bu kitlede 17 kullanıcı birikmişti.
Eğer doğrudan Seviye 3 hedefli bir kampanya başlatsaydık:
- Günde 15 kişinin Seviye 3'e ulaşmasını sağlamak çok yüksek bir bütçe gerektirirdi.
- 17 kişilik dar bir örneklemle yapay zeka genelleme yapamaz, hedefleme tıkanır veya gösterim dururdu ("Too small to serve").
Kademeli Huni Çözümü
[ 1. Aşama: Seviye 1 Tamamlama ] ──► Düşük maliyetle kaliteli oyuncu çekilir
│
└──► İlk dakikada silen çöp kitle tamamen elenir
│
└──► "Quality_Players_Level_3" havuzu hızla 100+ kişiye ulaşır
│
└──► [ 2. Aşama: Hedef Seviye 3'e Kaydırılır ]
- 1. Aşama (Hacim ve Temizlik): Hedef =
level_1_completed. Gerçek oyuncuların %50-60'ı Seviye 1'i geçtiği için kampanya düşük maliyetle (örneğin 5-7 ₺ / ~$0.18) günde 20-30 dönüşümü rahatlıkla toplar. Bu aşama oyunu indirip açmayan botları ve çöp kitleyi anında filtreler. - 2. Aşama (Rafine Etme): Seviye 1'i geçen yüzlerce oyuncunun bir kısmı Seviye 3, 5 ve 10'a ilerler.
Quality_Players_Level_3kitle havuzu 100-200 kişiyi aştığında kampanya hedefi doğrudan Seviye 3'e veya yetenek yükseltmelerine (skill_upgraded) kaydırılır.
5. Pazar Seçimi ve Coğrafi Denge
İlk testlerde doğrudan ABD, İngiltere veya Almanya gibi 1. Seviye (Tier-1) pazarlara girmek küçük bütçeleri saatler içinde eritebilir ($2.00 - $5.00 işlem maliyeti).
Blocked: Pixel Panzer için hem bütçe dostu hem de piksel aksiyon türüne yoğun ilgi gösteren 4 stratejik pazar seçtik:
- Türkiye (TR): Güçlü yerel oyuncu tabanı, arcade türüne sevgi ve ekonomik maliyetler.
- Brezilya (BR): Dünyanın en büyük Android oyun pazarlarından biri. Retro tank savaşlarına ve piksel estetiğine büyük ilgi duyarlar.
- Meksika (MX): Latin Amerika'nın ikinci büyük merkezi; sadık oyuncu toplulukları ve yüksek indirme hacmi sunar.
- Polonya (PL): Harika bir Avrupa test pazarı. AdMob reklam getirisi (eCPM) Latin Amerika'dan belirgin şekilde yüksektir, ancak reklam verme maliyeti Batı Avrupa'ya kıyasla çok daha dengelidir.
Yerel Dil Desteğinin Önemi
Yabancı pazarlarda reklam vermek ancak oyun içi deneyim oyuncunun diline hitap ediyorsa yüksek dönüşüm getirir. Blocked: Pixel Panzer bu 4 pazarı da tam yerelleştirme ile karşılar:
tr.json(Türkçe)pt-BR.json(Brezilya Portekizcesi)es-419.json(Latin Amerika İspanyolcası)pl.json(Lehçe)
Konum Hedefleme İpucu: Google Ads konum ayarlarında varsayılan "Varlık veya ilgi alanı" yerine mutlaka "Varlık: Dahil ettiğiniz konumlarda bulunan veya bu konumlara düzenli olarak giden kişiler" seçeneğini işaretleyin. Böylece bütçeniz yabancı VPN'ler veya alakasız aramalara değil, doğrudan bu ülkelerde yaşayan gerçek oyunculara harcanır.
6. Reklam Görselleri: Video Resimlerin Önüne Geçer mi?
Geliştiricilerin en çok tereddüt ettiği konulardan biri: "Oynanış videosu eklersem hazırladığım görsellerin gösterimini engeller mi?"
Cevap: Kesinlikle hayır. Google Ads çok kanallı envanter mantığıyla çalışır:
- Başlıklar ve Resimler: Google Play arama sonuçlarında, önerilen oyunlar vitrininde ve diğer uygulamaların banner alanlarında gösterilir.
- Video: Görsellerin hiç giremediği devasa YouTube (YouTube Shorts, video arası reklamlar) ve diğer mobil oyunlardaki ödüllü video alanlarını açar.
Aksiyon odaklı oyunlarda durağan bir görsel tankı gösterir; ancak tankın ateş ettiğini, mermilerden kaçtığını ve boss'larla kapıştığını yalnızca video hissettirebilir. Oynanışı izleyerek gelen oyuncu oyunu ilk dakikada silmez; Seviye 1 tamamlama oranı çok daha yüksek olur.
7. Bağımsız Geliştiriciler İçin Özet Kontrol Listesi
Bir sonraki mobil oyun reklam kampanyanızı açmadan önce şu adımları tamamladığınızdan emin olun:
- Oyun İçi Telemetri:
level_completedolayının sıfır bellek tahsisiyle (GC-free) sorunsuz gönderildiğinden emin olun. - GA4 Dönüşüm Sentezi:
level_1_completedolayını GA4 panelinde oluşturup Önemli Olay (Key Event) olarak işaretleyin. - Google Ads İçe Aktarma: İşlemi Google Ads'e aktarın ve Birincil hedef yapın.
- Teklif Odağı: İndirme sayısı yerine Uygulama İçi İşlemler (Hedef EBM) seçin.
- Kademeli Huni: Önce Seviye 1 ile hacim ve veri toplayın; kitle havuzu olgunlaşınca hedefi Seviye 3'e yükseltin.
Reklam stratejinizi "indirme satın almak" yerine "oynanış eşiği satın almak" olarak değiştirdiğinizde, pazarlama bütçeniz tahmin edilemeyen bir masraf olmaktan çıkıp sadık bir oyuncu büyüme motoruna dönüşür.
Arar Games / Mayhemco mühendislik ekibi tarafından kaleme alınmıştır. Retro arcade savaş dinamiklerimizi ilk elden deneyimlemek için Google Play üzerinden Blocked: Pixel Panzer oyunumuzu inceleyebilirsiniz.
Hashtags & SEO Topics
#BlockedPixelPanzer #ArarGames #Mayhemco #PaintTrek #MonoGame #GoogleAds #FirebaseAnalytics #GA4 #MobileGameDev #UserAcquisition #GameMarketing #SmartBidding #TargetCPA #InAppActions #IndieGameDev #GameAnalytics #AndroidDev
Hiç yorum yok:
Yorum Gönder