PublicarePublică în magazinele de aplicații
Proiect nativ
Proiectul complet pentru telefon, pentru reclame, achiziții și un dezvoltator care îl îngrijește.
Native îți dă toată aplicația ca proiect pentru telefon, într-un singur ZIP sau trimisă într-un depozit GitHub. Dă-i mai întâi numele aplicației și un ID de aplicație de forma com.yourcompany.yourapp: ID-ul este felul în care magazinele îți cunosc aplicația și nu mai poate fi schimbat după ce aplicația e publicată.
Fereastra îți arată apoi comenzile exacte pentru a o construi, pentru Android și pentru iPhone:
npm install && npm run build
npx cap add android
npm run icons
npx cap sync && npx cap open androidPe iPhone, ios ia locul lui android, iar ultima comandă deschide Xcode.
De aici încolo este drumul propriu al magazinelor: semnezi aplicația în Android Studio sau în Xcode, o încarci, o testezi, completezi pagina din magazin și o lansezi. Păstrează în siguranță cheia de semnare pentru Android și parolele ei. Fiecare actualizare trebuie semnată cu aceeași cheie. Fără Android Studio sau Mac, GitHub o poate construi pentru tine: Build în cloud.
Cum obții proiectul: descărcare sau GitHub
La pasul 1, Download the project are două câmpuri, App name și App ID. ID-ul începe cu com.setherion. și numele aplicației și trebuie scris în forma cu domeniul inversat. Download project (.zip) face un ZIP cu numele aplicației. Conține proiectul web, fișierele pentru telefon, un schema.sql dacă aplicația are tabele, eventual grafica jocului și imaginile pentru pictogramă și ecranul de pornire. Are nevoie de un plan cu plată.
Alternativ, or push to GitHub: conectează-te cu Connect with GitHub sau lipește un token, alege un Repo name și apasă Export to GitHub. Depozitul este creat privat, iar Open repo te duce la el. Și acesta are nevoie de un plan cu plată.
Native pe Android, pas cu pas
- Download the project, ca mai sus.
- Construiește-l. Are nevoie de Node 22 și de Android Studio. Rulează comenzile pe care le arată fereastra. Dacă aplicația folosește reclame sau achiziții,
npm run native:setupse adaugă dupănpx cap add android. - Semnează-l. În Android Studio alege Build, apoi Generate Signed App Bundle. Creează o cheie și păstrează-o împreună cu parolele ei: fiecare actualizare are nevoie de aceeași cheie.
- Încarcă-l și testează-l. Creează aplicația în Play Console, încarcă fișierul .aab la Internal testing, apoi completează pagina din magazin, clasificarea conținutului și Data safety. Dacă ai reclame, declari și ID-ul de publicitate.
- Lansează. Verificarea durează de la câteva ore la două zile. Un cont Google Play personal deschis după noiembrie 2023 are nevoie mai întâi de testul închis.
Native pe iPhone, pas cu pas
- Download the project: același ZIP ca pentru Android.
- Construiește-l. Are nevoie de un Mac cu Xcode și de contul de dezvoltator Apple de 99 $ pe an. Rulează aceleași comenzi, cu
iosîn locul luiandroid. - Semnează-l și încarcă-l. În Xcode deschide Signing & Capabilities și alege echipa ta. Dacă ai reclame sau achiziții, adaugă In-App Purchase. Apoi Product, Archive, Distribute, spre App Store Connect.
- Încearcă-l pe iPhone-ul tău cu TestFlight.
- Completează pagina din magazin și trimite aplicația la verificare. Dacă ai reclame, Apple le socotește urmărire.
Build în cloud
Fără Android Studio și fără Mac: GitHub poate construi aplicația pe calculatoarele lui. Trimite proiectul pe GitHub la pasul 1, iar depozitul primește două fișiere de build, unul pentru Android și unul pentru iPhone. Pasul Build it arată apoi Build it in the cloud, cu un buton spre pagina lor de pe GitHub.
Pe GitHub deschide Actions, alege Android build sau iPhone build, apasă Run workflow și alege ce să construiască:
| Fișier de build | Alegere | Ce primești |
|---|---|---|
| Android build | Test APK | O aplicație de instalat pe propriul telefon, la Artifacts în rularea respectivă. Nimic de pregătit. |
| Android build | Make a new key | Cheia de semnare, făcută o singură dată, înainte de prima încărcare în Google Play. Doar într-un depozit privat. |
| Android build | Google Play bundle (.aab) | Fișierul semnat pentru Play Console, cu un număr de versiune mai mare la fiecare rulare. |
| iPhone build | Check that it builds | Dovada că aplicația se compilează pentru iPhone. Nu ai nevoie de cont Apple. |
| iPhone build | TestFlight | Aplicația semnată și trimisă în App Store Connect, de instalat cu TestFlight. |
Un depozit privat are 2.000 de minute gratuite pe lună pe calculatoarele GitHub. Un build Android folosește câteva, iar GitHub numără un minut de Mac cât zece. README-ul din depozit explică fiecare pas.
Înainte de primul Google Play bundle
- Rulează Make a new key și descarcă upload-key din rulare.
- Păstrează
upload.jksși parola lui în siguranță, în afara depozitului. Fiecare actualizare trebuie semnată cu aceeași cheie. - În depozit deschide Settings, Secrets and variables, Actions și adaugă trei secrete, fiecare cu textul fișierului lui:
ANDROID_KEYSTORE_BASE64,ANDROID_KEYSTORE_PASSWORDșiANDROID_KEY_ALIAS. - Rulează Google Play bundle (.aab) și încarcă fișierul la Internal testing în Play Console.
Înainte de primul build TestFlight
- În App Store Connect creează aplicația, cu același ID ca la pasul 1.
- În Users and Access, Integrations, App Store Connect API, generează o cheie cu rolul Admin și descarcă fișierul ei .p8. Apple te lasă să-l descarci o singură dată.
- În depozit adaugă patru secrete:
APPLE_TEAM_ID(Membership details pe developer.apple.com),ASC_KEY_ID,ASC_ISSUER_IDșiASC_KEY_P8, textul fișierului .p8. - Rulează TestFlight. Câteva minute mai târziu build-ul e în App Store Connect, la TestFlight. Fișierul de build îi spune lui Apple că aplicația folosește doar criptare standard, așa că TestFlight nu mai întreabă.
O conexiune GitHub făcută înainte de build-ul în cloud nu poate adăuga fișierele de build: pasul îți spune asta, iar Reconnect de la pasul 1 rezolvă problema.
Conturile din aplicația de telefon
În aplicația de telefon, oamenii se autentifică cu e-mail și parolă. Butonul Google și linkul de autentificare trimis prin e-mail se ascund acolo. De aceea contează verificarea Delete account button: Apple refuză o aplicație în care oamenii își pot face un cont, dar nu și-l pot șterge.
Reclame și achiziții
Un joc care arată reclame sau vinde ceva funcționează cu adevărat doar în proiectul Native: reclame de la Google AdMob, achiziții din magazine prin RevenueCat. În previzualizarea din editor sunt doar de probă („Test ad”, „Test purchase”, nu se ia niciun ban), așa că le poți încerca, iar pe site-ul publicat sunt ascunse. Pe calea ușoară, jocul rulează fără ele.
Proiectul pornește cu reclamele de test ale Google, care nu plătesc nimic. Pune ID-urile tale de reclame și cheile magazinelor în src/monetize.keys.json și rulează npm run native:setup: README-ul proiectului spune de unde vine fiecare.
Ce intră în fișierul de chei
Fișierul conține ID-ul aplicației AdMob și ID-urile unităților de reclame recompensate și interstițiale pentru Android și iPhone, plus cheile RevenueCat pentru fiecare magazin (cele pentru Android încep cu goog_, cele pentru iPhone cu appl_). Fără chei RevenueCat sau fără produse, nu se vinde nimic.
Pentru reclame reale, creează contul AdMob, aplicațiile și unitățile de reclame, pune ID-urile în fișier, rulează npm run native:setup pe foldere native proaspete și publică pe site un fișier app-ads.txt. Pentru achiziții, creează produsele în Play Console și în App Store Connect, cu aceleași ID-uri ca în src/monetize.json, și conectează ambele magazine într-un proiect RevenueCat. Pe iPhone, adaugă capabilitatea In-App Purchase.
Ambele magazine cer un link către o politică de confidențialitate, iar un buton Restore purchases este obligatoriu: proiectul are unul. Între reclame, aplicația sare peste o reclamă interstițială în primele 30 de secunde, în primele 60 de secunde de la ultima și pentru un jucător care a cumpărat produsul de scoatere a reclamelor.
Ți-a fost de folos această pagină?
