Vodič

Objava igre HTML5 na Google Play s Capacitorjem, korak za korakom

Od mape igre do podpisanega paketa aplikacije, obrazci v Play Console, pravilo o 12 testerjih za nove račune in težave z webview, ki smo jih imeli pri svojih aplikacijah.

Glavna slika Velvet Pool, predloge za igro osmica, ki smo jo Polar Games prav tako zapakirali kot aplikacijo za Android.

Za objavo igre HTML5 na Google Play mapo igre zaviješ v nativni projekt Android s Capacitorjem, v Android Studiu zgradiš podpisani Android App Bundle, v Play Console ustvariš aplikacijo, odgovoriš na njene obrazce o vsebini in naložiš paket na testni kanal, preden greš v produkcijo. Če je tvoj razvijalski račun osebni račun, ustvarjen po 13. novembru 2023, Google prav tako zahteva zaprti test (closed test) z vsaj 12 testerji za 14 dni, preden lahko zaprosiš za produkcijo.

Naredili smo to z lastnimi igrami. Oktobra 2026 smo Ricopop in Velvet Pool zavili s Capacitorjem in obe poslali na produkcijski pregled Google Play, prav tako našo akcijsko igro Little Ninja Dash. Ta vodnik meša tisto, kar pravijo uradne strani Capacitorja, Androida in Play Console, prebrane 30. oktobra 2026, z zapiski o izdajah, ki smo jih vodili sami. Pravila in zahteve se spreminjajo, zato preveri vsako povezano stran, preden oddaš.

Preden objaviš igro HTML5 na Google Play

  • Razvijalski račun za Google Play. Google zaračuna enkratno registracijsko pristojbino 25 $ in vsak razvijalec mora potrditi svojo identiteto. Osebni računi morajo pred objavo prav tako preveriti dostop do naprave Android z mobilno aplikacijo Play Console.
  • Node.js in Android Studio. Dokumentacija Capacitorja za Android pravi, da se aplikacije Capacitor Android konfigurirajo in upravljajo v Android Studiu.
  • Igra, ki deluje brez povezave iz svoje mape, z datoteko index.html v korenu.
  • Licenca za igro. Pri naših predlogah velja ena licenca za en končni izdelek, to igro pa smeš objaviti kjerkoli, vključno z Google Play in App Storom. Samih predlog ne smeš preprodajati. Preden dodaš ceno ali nakupe v aplikaciji, nas vprašaj, ker naši pogoji govorijo o tem, da igralci do izdelka dostopajo brezplačno ali prek oglasov.

Naše izdaje predlog so spletne igre. Vsaka stran izdaje navaja, da nativne gradnje za aplikacije niso vključene, zato so spodnji koraki delo, ki ga opraviš sam, ali delo, ki ga naročiš pri nas po ponudbi.

Poglej Velvet Pool, predlogo za igro osmica, ki smo jo prav tako zapakirali za Android

1. korak: zavij mapo igre s Capacitorjem

Capacitor potrebuje datoteko package.json, mapo z zgrajenimi spletnimi datotekami in datoteko index.html v korenu te mape. Njegova stran za začetek opozarja, da mora index.html imeti oznako head, sicer vtičniki ne bodo delovali. Prenesena predloga HTML5 ima mapo pogosto že pripravljeno: pri naših je to game/.

  1. V novi mapi projekta zaženi npm i @capacitor/core in npm i -D @capacitor/cli.
  2. Zaženi npx cap init. Vpraša za ime aplikacije, ID aplikacije (obratna domena, na primer com.tvojastudio.tvojaigra) in spletno mapo. Pot webDir usmeri v mapo svoje igre.
  3. Zaženi npm i @capacitor/android, nato npx cap add android. To ustvari projekt android/.
  4. Ob vsaki spremembi datotek igre zaženi npx cap sync. Kopira jih v nativni projekt.
  5. Zaženi npx cap open android, da odpreš projekt v Android Studiu.

Dokumentacija Capacitorja navaja, da je podprt API 24 in novejši, torej Android 7 in novejši. Naši projekti za Android uporabljajo to najnižjo različico.

Mi delamo drugače: nativni projekt hranimo v ločenem delovnem prostoru mobile/, ki v svojo spletno mapo kopira igro. Spletna različica ostane nedotaknjena, vse, kar pripada samo aplikaciji, na primer nativni oglasi, pa živi v delovnem prostoru.

2. korak: zgradi in podpiši paket aplikacije

Od avgusta 2021 morajo nove aplikacije v Google Play biti objavljene kot Android App Bundle (AAB), ne kot APK. V Android Studiu uporabi Build, nato Generate Signed Bundle/APK, izberi Android App Bundle in ustvari ali izberi keystore.

Ta keystore hrani tvoj ključ za nalaganje. Stran Googla o podpisovanju aplikacij pojasni, da z Play App Signing, ki ga morajo nove aplikacije nastaviti ob prvi objavi, Google hrani ključ za podpisovanje aplikacije, ti pa vsako naložitev podpišeš s ključem za nalaganje. Ključ za nalaganje ohrani skrivnost, izberi močna gesla in keystore shrani na varno mesto. Če se izgubi ali ogrozi, ti Play Console omogoča, da zahtevaš ponastavitev ključa za nalaganje.

  • Ciljna raven API: od 31. avgusta 2026 morajo nove aplikacije in posodobitve ciljati na Android 16 (raven API 36) ali višjo. Preveri cilj v android/app/build.gradle.
  • Različica kode (version code): zvišaj jo pred vsako naložitvijo. Vsak naloženi paket porabi svojo različico kode, zato pred vsako gradnjo preberemo najvišjo v Play Console.
  • Samo izdaja: v paketu, ki ga pošlješ v produkcijo, ni razvijalskih menijev, testnih ID-jev oglasov ali razvijalskih bližnjic.

Kaj se pokvari znotraj webview in kaj smo naredili

Igra, ki dobro deluje v brskalniku, se lahko znotraj aplikacije obnaša drugače. To so težave, ki so jih zapisali naši zapiski o izdajah, z dokumentirano rešitvijo, kjer ta obstaja.

Gumb nazaj na Androidu

Vtičnik App Capacitorja ima dogodek backButton. Njegova dokumentacija pravi, da poslušanje tega dogodka onemogoči privzeto obnašanje gumba nazaj, zato odločiš, kaj nazaj naredi, in ponuja App.exitApp() za zaprtje aplikacije. Pri Velvet Poolu smo nazaj odprli meni za pavzo namesto zapiranja igre.

Pavza in nadaljevanje

Isti vtičnik sproži dogodke appStateChange, pause in resume. Z njimi ustaviš igro, časovnike in vsak oglas, ki teče, ko igralec zapusti aplikacijo, in nadaljuješ brez težav.

Bližnjice za odpravljanje napak na localhostu

Znotraj aplikacije Capacitor streže igro z lokalnega naslova. Če tvoja igra vklopi orodja za odpravljanje napak, ko teče na localhostu, se vklopijo tudi v aplikaciji. Naše skripte za gradnjo te zastavice prisilijo v izklop in ne gradijo, če tega ne morejo.

Oglasi

Kode oglasov za spletna mesta v naših aplikacijah ne uporabljamo. Na Androidu uporabljamo nativni SDK AdMob prek vtičnika Capacitorja, med testiranjem z demo enotami oglasov Googla, lastne enote aplikacije pa samo v produkcijski gradnji.

Postavitev in shranjevanje

Na emulatorju smo našli gumbe, odrezane v ležečem položaju, in dolge besede, ki so se nerodno lomile, kar različica za brskalnik ni pokazala. Preizkusi vsak zaslon v obeh usmeritvah in preveri, ali napredek preživi zapiranje in ponovno odpiranje aplikacije.

Poglej Ricopop, drugo predlogo, ki smo jo zapakirali za Google Play

3. korak: nastavitev Play Console in seznam v trgovini

Ustvari aplikacijo v Play Console, nato opravi razdelek App content (vsebina aplikacije). Obrazci, ki smo jih izpolnili za vsako igro, so bili pravilnik o zasebnosti, dostop do aplikacije, oglasi, ocena vsebine, ciljna publika, Data safety (varnost podatkov), oglasni ID ter izjave o vladnih, finančnih in zdravstvenih vsebinah.

  • Ocena vsebine: Google pravi, da morajo imeti vse aplikacije oceno IARC, aplikacije brez nje pa bodo odstranjene. Dobiš jo tako, da iskreno odgovoriš na vprašalnik.
  • Data safety: vsaka aplikacija jo mora izpolniti, tudi tiste, ki ne zbirajo podatkov. Odražati mora podatke, ki jih zbirajo SDK tretjih oseb, na primer oglasni SDK, in potrebuje povezavo do pravilnika o zasebnosti.
  • Ciljna publika: odgovori za igralce, ki jih dejansko nagovarjaš. Ocena in ciljna publika sta ločena odgovora.

Sredstva za seznam v trgovini

  • Ikona aplikacije: 512 × 512 slikovnih točk, 32-bitni PNG, do 1024 KB.
  • Grafika funkcije (feature graphic): 1024 × 500 slikovnih točk, JPEG ali 24-bitni PNG brez alfe.
  • Posnetki zaslona: najmanj dva, največ osem na vrsto naprave. Za igre Google priporoča najmanj tri posnetke v ležečem formatu 16:9 (vsaj 1920 × 1080) ali pokončnem 9:16 (vsaj 1080 × 1920), ki kažejo pravo igranje.
  • Kratek opis: do 80 znakov.

4. korak: testiranje, nato produkcija

Naš delovni načrt postavi notranje testiranje na prvo mesto: aplikacijo namesti iz Playa z dejanskim računom in jo igraj, preden kaj drugega. Nato se izdaja premakne v produkcijo, kjer gre skozi Googlov pregled.

Pravilo za nove osebne račune

Središče za pomoč Play Console pravi, da morajo osebni razvijalski računi, ustvarjeni po 13. novembru 2023, izvesti zaprti test z vsaj 12 testerji, ki so bili vključeni neprekinjeno vsaj 14 dni. Nato zaprosiš za dostop do produkcije na Dashboard (nadzorni plošči) in odgovoriš na vprašanja o zaprtem testu, aplikaciji in pripravljenosti za produkcijo. Ta dva tedna vključi v datum zagona.

Pri poročanju stranki loči stanja: naložena na testni kanal, oddana v pregled, odobrena in javna v Google Play so štirje različni trenutki. Naši zapiski o izdajah beležijo datume oddaje, ne odobritve, in tudi ta vodnik.

Kaj vključujejo naše predloge in kaj lahko storimo zate

Vsaka predloga pride z mapo igre, pripravljeno za gostovanje, berljivo izvorno kodo, priročnikom in 6 meseci podpore, ali 12 z dodatkom. Podpora pokriva namestitev in uporabo priloženih datotek ter popravljanje napak, ki jih je mogoče ponoviti. Pakiranje za Android, nativni oglasi, integracija SDK in objava v trgovini so ločene storitve.

Če raje sam ne zaganjaš Android Studia, nam pošlji predlogo, načrt računa za trgovino in rok. Odgovorimo z obsegom, ceno in časom, preden začnemo. Cenika za delo po meri ne objavljamo.

Zahtevaj ponudbo za pakiranje svoje igre za Google Play

Pogosta vprašanja

Koliko stane objava igre HTML5 na Google Play?

Google zaračuna enkratno registracijsko pristojbino 25 $ za razvijalski račun. Drugi stroški so licenca za igro, grafika za trgovino in tvoj čas ali storitev po ponudbi, če pakiranje opravi nekdo drug.

Ali za objavo v Google Play potrebujem 12 testerjev?

Samo če je tvoj račun osebni razvijalski račun, ustvarjen po 13. novembru 2023. Ti računi morajo pred zaprosilom za dostop do produkcije izvesti zaprti test z vsaj 12 testerji, vključenimi vsaj 14 dni.

APK ali AAB?

AAB. Nove aplikacije v Google Play morajo od avgusta 2021 uporabljati Android App Bundle. APK je še vedno uporaben za namestitev gradnje neposredno na tvoj testni telefon.

Ali lahko aplikacija samo naloži mojo igro z mojega spletnega mesta?

Tega ne delamo. Datoteke igre zapakiramo v aplikacijo, da deluje brez povezave in ni odvisna od spletnega mesta. Googlov pravilnik proti neželeni vsebini (spam) cilja tudi aplikacije, katerih glavni namen je webview spletnega mesta brez dovoljenja lastnika.

Ali so tvoje predloge pripravljene za Google Play takoj?

Ne. So spletne igre, pripravljene za gostovanje, na straneh izdelkov pa piše, da nativne gradnje za aplikacije niso vključene. Pakiraš jih lahko sam po zgornjih korakih ali naročiš delo pri nas po ponudbi.