21 Eylül 2026 Pazartesi

CPI lõksudest lojaalsete mängijateni: mobiilimängude skaleerimine Firebase'i rakendusesiseste toimingute ja Google Adsi (UAC 2.0) abil




CPI lõksudest lojaalsete mängijateni: mobiilimängude skaleerimine Firebase'i rakendusesiseste toimingute ja Google Adsi (UAC 2.0) abil

Iga indie-mänguarendaja, kes toob turule mobiilimängu, seisab varem või hiljem silmitsi paigalduse hinna paradoksiga (Cost-Per-Install - CPI Paradox):

Käivitate tasulise kasutajahankekampaania (User Acquisition), rõõmustate odavate allalaadimiste tulva üle ja vaatate, kuidas Google Play paigaldusloendur tõuseb. Kuid kui avate 48 tundi hiljem oma analüütikapaneeli, tabab teid karm reaalsus:

1000 paigaldust ──► 500 kohest eemaldamist (< 2 min) ──► 50 1. taseme läbimist ──► 5 püsivat mängijat

Üle 50% hangitud kasutajatest kustutas mängu enne, kui nad jõudsid läbida esimese taseme.

Kui käitate tavalist Google Adsi paigalduskampaaniat (UAC 1.0) lihtsa CPI-pakkumisega, teeb Google'i masinõppe algoritm täpselt seda, mida te sellel teha palusite: leiab võimalikult odavad kasutajad, kes puudutavad Google Plays nuppu "Paigalda". Paraku on reklaamivõrgustiku odavaimad kasutajad sageli preemiareklaamide jahtijad, kogemata klõpsajad või robotilaadsed kontod, kes ei kavatsegi teie mängule pühenduda.

Selles artiklis jagame oma reaalset arendus- ja turundusarhitektuuri meie tempokast retro-tankimängust Blocked: Pixel Panzer (mille arendasid MonoGame'i ja C# abil Arar Games). Uurime, kuidas ühendasime seadmepoolse telemeetria Google Analytics 4 (GA4) ja Google Adsi rakendusesiseste toimingute kampaaniatega (UAC 2.0), et lõpetada tühjade paigalduste ostmine ning hakata kaasama pühendunud ja kõrge püsivusega mängijaid.


1. Lehtri diagnoosimine: mida reaalajas analüütika meile õpetas

Enne kui kulutate reklaamivõrgustikes ainsatki eurot, peate täpselt teadma, kus mängijad lahkuvad.

Mängus Blocked: Pixel Panzer logib meie telemeetria mängu elutsükleid asünkroonselt Firebase'i:

  • first_open
  • screen_view (enam kui 40 kohandatud MonoGame'i ekraani jälgimine)
  • level_completed (parameetritega level_number, score, duration_seconds)
  • skill_upgraded
  • boss_fight_result
  • app_remove (operatsioonisüsteemi natiivne eemaldussignaal)

Kui analüüsisime eemaldatud seansse GA4 Path Explorationi aruandes, olid andmed halastamatud:

  • 63 uuritud seadme hulgast, kust mäng oli eemaldatud, kustutas umbes 30 kasutajat mängu enne 1. taseme läbimist.
  • 14 kasutajat lahkus vahetult pärast esmaste oskuste uuendamist mängutsüklis.
  • Pikim saavutatud edenemine lahkunud kasutajate seas oli 10. tase (esimene maailma boss).
[ Kasutaja paigaldab ] 
       │
       ├──► 48% lahkumine: Katkestavad enne 1. taseme läbimist <── (CPI raiskamistsoon)
       │
       ├──► 30% kaasatus: Uuendavad oskusi ja jõuavad 2.–3. tasemeni
       │
       └──► 22% põhituumik: Jõuavad bossini (10. tase) ja metamänguni

Õppetund oli selge: Lihtsate paigalduste eest maksmine tähendab raha viskamist otse lahkumistsooni.

Jätkusuutliku mängumajanduse ülesehitamiseks pidi meie pakkumismudel optimeerima kasutajate poole, kelle käitumismuster sarnaneb mängijatega, kes alistavad 1. taseme ja liiguvad edasi 3. taseme suunas.


2. UAC 2.0 mehaanika: rakendusesiseste toimingute optimeerimine

Google Adsi rakendusekampaaniad (Universal App Campaigns) jagunevad erinevateks optimeerimismudeliteks:

Kampaania mudel Pakkumise fookus Mida algoritm õpib Parim kasutusala
UAC 1.0 (Paigaldused) Maksimeeri paigaldusi / Siht-CPI Kasutajaprofiilid, kes paigaldavad sageli uusi rakendusi Poe avamine, kiire mahu kasvatamine
UAC 2.0 (In-App Actions) Target CPA (Toimingu sihthind) Kasutajaprofiilid, kes tõenäoliselt saavutavad mängus kindla teetähise Jätkusuutlik mängijate hoidmine, metamängu kasv
UAC 2.5 (Väärtus / ROAS) Target ROAS Suurte kulutajate profiilid (vaalalad) Mängud, kus teenitakse tulu peamiselt rakendusesiseste ostudega

Mudeli UAC 2.0 (In-App Actions) raames määrate toimingu sihthinna (Target CPA) – näiteks 0,20 $ ühe läbitud 1. taseme kohta.

Google'i Smart Bidding neurovõrk analüüsib seejärel sadu käitumissignaale Google Plays, YouTube'is, Google'i otsingus ja miljonites rakendustes Google'i Display-võrgustikus (AdMob). See teeb kõrgemaid pakkumisi ainult siis, kui reklaaminäitamine tabab kasutajat, kelle varasemad harjumused näitavad, et ta laadib mängu alla, mängib tutvustusest kaugemale ja läbib 1. taseme.


3. Samm-sammuline rakendamine: C# telemeetriast Google Adsini

Siin on täpne tehniline lahendus, mida kasutasime mängusiseste saavutuste muutmiseks rakendatavateks reklaami konversioonieesmärkideks.

1. samm: seadmepoolne telemeetriakonks (MonoGame / C#)

Failis Blocked.Shared/Managers/AnalyticsManager.cs, alati kui mängija läbib lahingutsooni, arvutab mäng skoori, kahju ja aja ning saadab sündmuse level_completed, segamata 60 FPS kaadrisagedust:

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;
        
        // Edastatakse Android Firebase SDK-le JNI kaudu (mitteblokeeriv SQLite puhver)
        _service.LogEvent(AnalyticsEvents.LevelCompleted, _payload);
    }
    catch (Exception ex)
    {
        // Telemeetria ei tohi kunagi mängu kokku jooksta
        Warn(ex);
    }
}

2. samm: GA4 sündmuste süntees (rakenduse värskendust pole vaja)

Google Ads ei saa vaikimisi teha pakkumisi otse parameetrite alamtingimustele nagu level_completed WHERE level_number == 1. Kuid Google Analytics 4 võimaldab sünteesida kohandatud sündmusi reaalajas sissetulevast telemeetriast ilma rakenduse uuendust poodi saatmata:

  1. Avage GA4 konsoolis menüü Admin ➔ Data display ➔ Events.
  2. Klõpsake Create event ja seadistage:
    • Custom event name: level_1_completed
    • Matching conditions:
      • event_name equals level_completed
      • level_number equals 1
    • Märkige ruut "Copy parameters from the source event", et säilitada skoorid ja seansimõõdikud.
  3. Salvestage konfiguratsioon.
  4. Leidke vahekaardil Events või Key events sündmus level_1_completed ja lülitage sisse "Mark as key event".

Nüüd väljastab GA4 automaatselt spetsiaalse level_1_completed konversioonisündmuse iga kord, kui mängija mistahes maailma punktis läbib 1. taseme.

3. samm: konversioonitoimingute importimine Google Adsi

  1. Avage Google Ads (ads.google.com).
  2. Minge jaotisse Eesmärgid ➔ Konversioonid ➔ Kokkuvõte.
  3. Klõpsake Uus konversioonitoiming ➔ Impordi ➔ Google Analytics 4 atribuudid (Firebase).
  4. Valige loendist level_1_completed.
  5. Valige kategooriaks Kaasamine (Engagement) või Saavutatud tase (Level achieved).
  6. Määrake toiming Esmaseks (Primary), et Smart Bidding optimeeriks aktiivselt selle järgi.
[ Mobiilimäng: 1. tase läbitud ]
                │
                │  LogEvent("level_completed", { level_number: 1 })
                ▼
[ Firebase Analytics Engine ]
                │
                │  GA4 reegel: Sünteesi "level_1_completed"
                ▼
[ GA4 Key Event (Konversioon) ]
                │
                │  Google Adsi integreeritud ühendus
                ▼
[ Google Ads Smart Bidding Engine (UAC 2.0 Target CPA) ]

4. Külmkäivituse probleemi ületamine: lehtristrateegia

Tavaline viga, mida indie-arendajad UAC 2.0-le üle minnes teevad, on sihtida liiga varakult liiga sügavale mängu sisse.

Masinõppe mahureegel

Google Adsi Smart Bidding algoritmid vajavad tõhusaks õppimiseks minimaalset andmemahtu:

  • Kulreegel: Kampaania peaks genereerima päevas vähemalt 10 kuni 20 rakendusesisest sihtkonversiooni, et väljuda "Õppefaasist" ja saavutada optimaalne pakkumisefektiivsus.

Varases analüüsis lõime sihtrühma nimega Quality_Players_Level_3 (mängijad, kes läbisid 3. või kõrgema taseme), kuhu kogunes 17 mängijat.

Kui oleksime käivitanud kampaania, mis sihib kohe 3. taset:

  • 15 igapäevase 3. taseme konversiooni saavutamine oleks nõudnud tohutuid esialgseid reklaamikulusid.
  • Vaid 17 ajaloolise profiili põhjal oli algoritmi valim liiga kitsas, mis tekitas riski järskudeks pakkumishüpeteks või näitamiste täielikuks peatumiseks ("Too small to serve").

Kaheetapiline lehtrilahendus

Kõik-või-mitte-midagi lähenemise asemel võtsime kasutusele etapiviisilise lehtri:

flowchart TD
    A["1. etapp: Skaleeri Level 1 Completed"] --> B["Hangib kaasatud mängijaid madala tCPA-ga"]
    B --> C["Filtreerib välja 100% mängimata paigalduse eemaldajaid"]
    C --> D["Täidab 'Quality_Players_Level_3' sihtrühma (100+ mängijat)"]
    D --> E["2. etapp: Suuna Target CPA 3. tasemele / Oskuste uuendustele"]
  1. 1. etapp (Maht ja hügieen): Optimeeri sündmusele level_1_completed. Kuna umbes 50–60% tõelistest mängijatest suudab 1. taseme läbida, kogub kampaania hõlpsalt 20+ konversiooni päevas madala Target CPA-ga (~0,15 \(– 0,25\)). See eemaldab koheselt madala kvaliteediga paigaldusfarmid ning loob aktiivse mängijate baasi.
  2. 2. etapp (Täpsustamine): Kui sajad mängijad läbivad 1. taseme, liigub kindel osa loomulikult edasi 3., 5. ja 10. tasemele. Kui grupp Quality_Players_Level_3 ületab 100–200 aktiivset kasutajat, saab kampaania sihtmärgi turvaliselt üle viia 3. tasemele või metamängu tähistele (skill_upgraded) maksimaalse eluea väärtuse (LTV) saavutamiseks.

5. Turu valik ja geograafiline arbitraaž

Tier-1 turgudel (USA, Ühendkuningriik, Saksamaa) pakkumiste tegemine kalibreerimata kampaaniaga võib väikese indie-eelarve tundidega ära põletada (1,50 \(– 4,00\) toimingu kohta).

Mängu Blocked: Pixel Panzer esmaseks UAC 2.0 katsetuseks valisime nelja suure mahuga, kulutõhusa ja mängulembese turu strateegilise grupi:

  1. Türgi (TR): Tugev kohalik mängijaskond, kõrge kaasatus arkaad-/põnevusmängudes ja madalad hankimiskulud.
  2. Brasiilia (BR): Üks maailma suurimaid Android-mängude turge. Brasiilia mobiilimängijatel on tohutu kirg retroesteetika ja tankilahingute vastu.
  3. Mehhiko (MX): Ladina-Ameerika suuruselt teine mängukeskus, mis pakub suurt mahtu ja lojaalseid mängijakogukondi.
  4. Poola (PL): Suurepärane Euroopa testturg – märgatavalt kõrgem AdMob eCPM tulu kui Lõuna-Ameerikas, kuid tunduvalt madalamad hankimiskulud kui Lääne-Euroopas.

Emakeelne lokaliseerimine: salajane kordaja

Välisturgudel reklaamide esitamine toob tulemusi ainult siis, kui mängukogemus vastab poekirjele. Mängus Blocked: Pixel Panzer on kõik neli turgu koheselt kaetud emakeelse lokaliseerimisega:

  • tr.json (Türgi)
  • pt-BR.json (Brasiilia portugali)
  • es-419.json (Ladina-Ameerika hispaania)
  • pl.json (Poola)

Kui São Paulo või Varssavi mängija puudutab reklaami, paigaldab mängu ja näeb kohe oma emakeelt, tekib süvenemine silmapilkselt – mis omakorda tõstab märkimisväärselt 1. taseme läbimise määra.

Asukohasihtimise professionaalne vihje: Valige Google Adsi asukohaseadetes vaikimisi märgitud "Kohalolek või huvi" asemel alati "Kohalolek: inimesed, kes asuvad teie kaasatud asukohtades või viibivad seal regulaarselt". See tagab, et teie eelarve kulub ainult sihtriikides füüsiliselt viibivatele kasutajatele, välistades välismaiste VPN-ide liikluse või asjassepuutumatud otsingud.


6. Loovvarad: miks video mitmekordistab ega kannibaliseeri kunagi

Google Adsi reklaamivarade kokkupanemisel küsivad arendajad sageli: „Kui lisan mänguvideo, kas see varjutab minu viimistletud ekraanipildid?”

Vastus on kindel ei. Google Ads töötab mitme erineva kanalivarude lõikes:

  • Pealkirjad ja ekraanipildid: Domineerivad Google Play otsingutulemustes, soovitatud rakenduste loendites ja displei bännerivõrgustikes.
  • Video: Avab juurdepääsu suurele reklaamipinnale YouTube Shortsis, videosisestele reklaamidele ja preemiavideotele (rewarded video) teistes populaarsetes mobiilimängudes.

Kõrge tempoga mängudes nagu Blocked: Pixel Panzer võivad staatilised pildid näidata piksligraafikat, kuid ainult video suudab edasi anda kuulisadude (bullet-hell) vältimise, plahvatuslike ahelreaktsioonide vallandamise ja vaenlase hävituslennukite purustamise tunnet.

Mängijad, kes paigaldavad mängu pärast ehtsa mänguvideo vaatamist, mõistavad juba juhtimist ja mehaanikat. Seetõttu on nende konversioonimäär sündmusele level_1_completed tunduvalt kõrgem kui ainult staatiliste piltide kaudu hangitud kasutajatel.


7. Kontroll-loend indie-arendajatele

Enne järgmise mobiilimängu reklaamikampaania käivitamist vaadake üle see tehniline kontrollnimekiri:

  • Kontrollige mängusisest telemeetriat: Veenduge, et level_completed ja taseme verstapostid logitakse puhaste parameetritega ilma pealõime GC-eraldusteta.
  • Sünteesige GA4 võtmesündmused: Looge spetsiaalsed sündmused (nt level_1_completed) ja märkige need GA4-s võtmesündmusteks (Key Events).
  • Importige Google Adsi: Ühendage Firebase ja Google Ads, importige toiming ning määrake see esmaseks (Primary).
  • Pakkumise fookus: Valige In-App Actions (Target CPA) toore paigaldusmahu asemel.
  • Kalibreerige algne CPA: Seadke realistlik siht-CPA (0,15 \(– 0,30\) olenevalt sihtriikide tasemest) ja andke algoritmile vähemalt 3–4 päeva segamatut masinõppeaega.
  • Ehitage lehter etappidena: Alustage varasest saavutatavast teetähisest (1. tase), et kasvatada konversioonikiirust, ning liikuge seejärel sügavamate eesmärkide poole.

Muutes oma mõtteviisi allalaadimiste ostmisest mängusiseste verstapostide ostmisele, muudate reklaami ettearvamatust kulust korratavaks ja pikaajaliseks mängijate kasvumootoriks.


Kirjutanud Arar Games / Mayhemco insenerimeeskond. Vaadake mängu Blocked: Pixel Panzer Google Plays, et kogeda meie tempokat retro arkaadlahingut vahetult.


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