Δημοσίευση παιχνιδιού HTML5 στο Google Play με Capacitor, βήμα βήμα
Από τον φάκελο του παιχνιδιού ως το υπογεγραμμένο app bundle, οι φόρμες του Play Console, ο κανόνας των 12 δοκιμαστών για νέους λογαριασμούς και τα προβλήματα webview που αντιμετωπίσαμε στις δικές μας εφαρμογές.

Για να δημοσιεύσετε ένα παιχνίδι HTML5 στο Google Play, τυλίγετε τον φάκελο του παιχνιδιού σε ένα εγγενές έργο Android με Capacitor, χτίζετε ένα υπογεγραμμένο Android App Bundle στο Android Studio, δημιουργείτε την εφαρμογή στο Play Console, απαντάτε στις φόρμες περιεχομένου και ανεβάζετε το bundle σε δοκιμαστικό κανάλι πριν την παραγωγή. Αν ο λογαριασμός σας είναι προσωπικός και δημιουργήθηκε μετά τις 13 Νοεμβρίου 2023, η Google απαιτεί επίσης κλειστή δοκιμή με τουλάχιστον 12 δοκιμαστές για 14 ημέρες πριν μπορέσετε να ζητήσετε παραγωγή.
Το έχουμε κάνει με τα δικά μας παιχνίδια. Τον Οκτώβριο του 2026 πακετάραμε το Ricopop και το Velvet Pool με Capacitor και τα στείλαμε και τα δύο για αξιολόγηση παραγωγής στο Google Play, όπως και το παιχνίδι δράσης μας Little Ninja Dash. Αυτός ο οδηγός συνδυάζει όσα λένε οι επίσημες σελίδες του Capacitor, του Android και του Play Console, διαβασμένες στις 30 Οκτωβρίου 2026, με όσα καταγράφουν οι δικές μας σημειώσεις κυκλοφορίας. Οι κανόνες αλλάζουν, γι' αυτό ελέγξτε κάθε συνδεδεμένη σελίδα πριν υποβάλετε.
Πριν δημοσιεύσετε ένα παιχνίδι HTML5 στο Google Play
- Λογαριασμό προγραμματιστή Google Play. Η Google χρεώνει εφάπαξ τέλος εγγραφής 25 US$ και ζητά από κάθε προγραμματιστή επαλήθευση ταυτότητας. Οι προσωπικοί λογαριασμοί πρέπει επίσης να επαληθεύσουν πρόσβαση σε συσκευή Android με την εφαρμογή Play Console για κινητά πριν τη δημοσίευση.
- Node.js και Android Studio. Η τεκμηρίωση του Capacitor για Android λέει ότι οι εφαρμογές Capacitor Android ρυθμίζονται και διαχειρίζονται μέσω του Android Studio.
- Ένα παιχνίδι που λειτουργεί εκτός σύνδεσης από τον δικό του φάκελο, με index.html στη ρίζα.
- Άδεια για το παιχνίδι. Με τα πρότυπά μας, μία άδεια καλύπτει ένα τελικό προϊόν, και μπορείτε να δημοσιεύσετε εκείνο το παιχνίδι όπου θέλετε, συμπεριλαμβανομένων του Google Play και του App Store. Δεν μπορείτε να μεταπωλήσετε το ίδιο το πρότυπο. Ρωτήστε μας πριν προσθέσετε τιμή ή αγορές εντός εφαρμογής, γιατί οι όροι μας μιλούν για πρόσβαση των παικτών στο προϊόν δωρεάν ή μέσω διαφημίσεων.
Οι εκδόσεις των προτύπων μας είναι παιχνίδια για browser. Κάθε σελίδα έκδοσης αναφέρει τα native builds εφαρμογών ως μη περιλαμβανόμενα, άρα τα βήματα που ακολουθούν είναι δουλειά που κάνετε εσείς ή που παραγγέλνετε από εμάς με προσφορά.
Δείτε το Velvet Pool, το πρότυπο pool που πακετάραμε και για Android
Βήμα 1: τυλίξτε τον φάκελο του παιχνιδιού με Capacitor
Το Capacitor χρειάζεται ένα package.json, έναν φάκελο με τα built αρχεία ιστού και ένα index.html στη ρίζα αυτού του φακέλου. Η σελίδα εκκίνησής του προειδοποιεί ότι το index.html πρέπει να έχει ετικέτα head αλλιώς τα plugins δεν θα λειτουργήσουν. Ένα κατεβασμένο πρότυπο HTML5 συνήθως έχει ήδη τον φάκελο: στο δικό μας είναι το game/.
- Σε νέο φάκελο έργου, τρέξτε npm i @capacitor/core και npm i -D @capacitor/cli.
- Τρέξτε npx cap init. Ζητά το όνομα της εφαρμογής, το app ID (αντίστροφο domain, για παράδειγμα com.yourstudio.yourgame) και τον φάκελο ιστού. Δείξτε το webDir στον φάκελο του παιχνιδιού σας.
- Τρέξτε npm i @capacitor/android και μετά npx cap add android. Αυτό δημιουργεί το έργο android/.
- Τρέξτε npx cap sync κάθε φορά που αλλάζετε τα αρχεία του παιχνιδιού. Τα αντιγράφει στο εγγενές έργο.
- Τρέξτε npx cap open android για να ανοίξετε το έργο στο Android Studio.
Η τεκμηρίωση του Capacitor λέει ότι υποστηρίζεται το API 24 και νεότερα, δηλαδή Android 7 και άνω. Τα έργα Android μας χρησιμοποιούν αυτό το ελάχιστο.
Εμείς κάνουμε κάτι διαφορετικό: κρατάμε το εγγενές έργο σε ξεχωριστό χώρο mobile/ που αντιγράφει το παιχνίδι στον δικό του φάκελο ιστού. Η έκδοση για browser μένει ανέπαφη, και ό,τι ανήκει μόνο στην εφαρμογή, όπως οι εγγενείς διαφημίσεις, βρίσκεται στον χώρο αυτό.
Βήμα 2: χτίστε και υπογράψτε το app bundle
Από τον Αύγουστο του 2021 οι νέες εφαρμογές στο Google Play πρέπει να δημοσιεύονται ως Android App Bundles (AAB), όχι APK. Στο Android Studio, χρησιμοποιήστε Build και μετά Generate Signed Bundle/APK, επιλέξτε Android App Bundle και δημιουργήστε ή επιλέξτε keystore.
Το keystore κρατά το κλειδί μεταφόρτωσης. Η σελίδα της Google για την υπογραφή εφαρμογών εξηγεί ότι με το Play App Signing, που οι νέες εφαρμογές πρέπει να ρυθμίσουν στην πρώτη δημοσίευση, η Google κρατά το κλειδί υπογραφής της εφαρμογής και εσείς υπογράφετε κάθε μεταφόρτωση με το κλειδί μεταφόρτωσης. Κρατήστε το κλειδί μεταφόρτωσης μυστικό, διαλέξτε δυνατούς κωδικούς και φυλάξτε το keystore σε ασφαλές μέρος. Αν χαθεί ή εκτεθεί, το Play Console σας επιτρέπει να ζητήσετε επαναφορά του κλειδιού μεταφόρτωσης.
- Target API level: από τις 31 Αυγούστου 2026, οι νέες εφαρμογές και ενημερώσεις πρέπει να στοχεύουν Android 16 (API level 36) ή νεότερο. Ελέγξτε τον στόχο στο android/app/build.gradle.
- Version code: αυξήστε το πριν από κάθε μεταφόρτωση. Κάθε bundle που ανεβάζετε καταναλώνει το version code του, γι' αυτό διαβάζουμε το υψηλότερο στο Play Console πριν από κάθε build.
- Μόνο release build: κανένα μενού αποσφαλμάτωσης, test ad IDs ή συντομεύσεις προγραμματιστή στο bundle που στέλνετε στην παραγωγή.
Τι σπάει μέσα σε webview, και τι κάναμε γι' αυτό
Ένα παιχνίδι που τρέχει καλά σε browser μπορεί να συμπεριφέρεται διαφορετικά μέσα σε εφαρμογή. Αυτά είναι τα ζητήματα που κατέγραψαν οι σημειώσεις κυκλοφορίας μας, με την τεκμηριωμένη διόρθωση όπου υπάρχει.
Το κουμπί επιστροφής του Android
Το plugin App του Capacitor έχει γεγονός backButton. Η τεκμηρίωσή του λέει ότι το άκουσμα του απενεργοποιεί την προεπιλεγμένη συμπεριφορά του κουμπιού επιστροφής, άρα αποφασίζετε τι κάνει η επιστροφή, και προσφέρει το App.exitApp() για να κλείσει η εφαρμογή. Στο Velvet Pool κάναμε την επιστροφή να ανοίγει το μενού παύσης αντί να κλείνει το παιχνίδι.
Παύση και συνέχιση
Το ίδιο plugin ενεργοποιεί τα γεγονότα appStateChange, pause και resume. Χρησιμοποιήστε τα για να σταματά το παιχνίδι, τα χρονόμετρα και οποιαδήποτε διαφήμιση τρέχει όταν ο παίκτης φεύγει από την εφαρμογή, και για καθαρή συνέχιση.
Συντομεύσεις αποσφαλμάτωσης στο localhost
Μέσα στην εφαρμογή, το Capacitor σερβίρει το παιχνίδι από τοπική διεύθυνση. Αν το παιχνίδι σας ενεργοποιεί εργαλεία αποσφαλμάτωσης όταν τρέχει στο localhost, θα ενεργοποιηθούν και στην εφαρμογή. Τα σενάρια build μας απενεργοποιούν αυτές τις σημαίες και αρνούνται να χτίσουν αν δεν μπορούν.
Διαφημίσεις
Ο κώδικας διαφημίσεων ιστότοπου δεν είναι αυτός που χρησιμοποιούμε μέσα στις εφαρμογές μας. Στο Android χρησιμοποιούμε το εγγενές SDK του AdMob μέσω plugin του Capacitor, με τις demo διαφημιστικές μονάδες της Google κατά τη δοκιμή και τις δικές μας μονάδες της εφαρμογής μόνο στο build παραγωγής.
Διάταξη και αποθήκευση
Στον εξομοιωτή βρήκαμε κουμπιά κομμένα στο οριζόντιο και μακριές λέξεις που έσπαγαν άσχημα, κάτι που η έκδοση browser δεν έδειχνε. Δοκιμάστε κάθε οθόνη και στους δύο προσανατολισμούς, και ελέγξτε ότι η πρόοδος επιβιώνει από το κλείσιμο και το άνοιγμα της εφαρμογής.
Δείτε το Ricopop, ένα ακόμα πρότυπο που πακετάραμε για Google Play
Βήμα 3: ρύθμιση Play Console και καταχώριση
Δημιουργήστε την εφαρμογή στο Play Console, και μετά συμπληρώστε την ενότητα περιεχομένου της εφαρμογής. Οι φόρμες που συμπληρώσαμε για κάθε παιχνίδι ήταν η πολιτική απορρήτου, η πρόσβαση στην εφαρμογή, οι διαφημίσεις, η ηλικιακή βαθμολόγηση, το κοινό-στόχος, το Data safety, το αναγνωριστικό διαφήμισης και οι δηλώσεις για κυβερνητικά, οικονομικά και υγειονομικά στοιχεία.
- Ηλικιακή βαθμολόγηση: η Google λέει ότι όλες οι εφαρμογές πρέπει να έχουν βαθμολόγηση IARC, και εφαρμογές χωρίς αυτήν θα αφαιρεθούν. Την παίρνετε απαντώντας ειλικρινά στο ερωτηματολόγιο.
- Data safety: κάθε εφαρμογή πρέπει να το συμπληρώσει, ακόμα και αυτές που δεν συλλέγουν δεδομένα. Πρέπει να αντικατοπτρίζει δεδομένα που συλλέγουν SDK τρίτων, όπως ένα SDK διαφημίσεων, και χρειάζεται σύνδεσμο πολιτικής απορρήτου.
- Κοινό-στόχος: απαντήστε για τους παίκτες που πραγματικά στοχεύετε. Η βαθμολόγηση και το κοινό είναι ξεχωριστές απαντήσεις.
Στοιχεία καταχώρισης
- Εικονίδιο εφαρμογής: 512 επί 512 pixel, PNG 32 bit, έως 1024 KB.
- Γραφικό χαρακτηριστικών: 1024 επί 500 pixel, JPEG ή PNG 24 bit χωρίς άλφα.
- Στιγμιότυπα οθόνης: τουλάχιστον δύο, έως οκτώ ανά τύπο συσκευής. Για παιχνίδια, η Google συνιστά τουλάχιστον τρία στιγμιότυπα 16:9 οριζόντια (τουλάχιστον 1920 επί 1080) ή 9:16 κάθετα (τουλάχιστον 1080 επί 1920) που δείχνουν πραγματικό gameplay.
- Σύντομη περιγραφή: έως 80 χαρακτήρες.
Βήμα 4: δοκιμή, και μετά παραγωγή
Το εγχειρίδιο εργασίας μας βάζει πρώτα την εσωτερική δοκιμή: εγκαταστήστε την εφαρμογή από το Play με πραγματικό λογαριασμό και παίξτε την πριν από οτιδήποτε άλλο. Μετά η κυκλοφορία προάγεται στην παραγωγή, όπου περνά από την αξιολόγηση της Google.
Ο κανόνας για νέους προσωπικούς λογαριασμούς
Η Βοήθεια του Play Console της Google λέει ότι οι προσωπικοί λογαριασμοί προγραμματιστή που δημιουργήθηκαν μετά τις 13 Νοεμβρίου 2023 πρέπει να τρέξουν κλειστή δοκιμή με ελάχιστο 12 δοκιμαστές που έχουν συμμετάσχει συνεχώς για τουλάχιστον 14 ημέρες. Μετά, ζητάτε πρόσβαση παραγωγής από τον Πίνακα ελέγχου και απαντάτε σε ερωτήσεις για την κλειστή δοκιμή, την εφαρμογή και την ετοιμότητά της για παραγωγή. Βάλτε αυτές τις δύο εβδομάδες στην ημερομηνία κυκλοφορίας σας.
Κρατήστε τις καταστάσεις χωριστά όταν αναφέρετε σε πελάτη: ανέβηκε σε δοκιμαστικό κανάλι, υποβλήθηκε για αξιολόγηση, εγκρίθηκε και είναι δημόσια στο Google Play είναι τέσσερις διαφορετικές στιγμές. Οι δικές μας σημειώσεις κυκλοφορίας καταγράφουν ημερομηνίες υποβολής, όχι ημερομηνίες έγκρισης, και αυτός ο οδηγός κάνει το ίδιο.
Τι περιλαμβάνουν τα πρότυπά μας, και το μέρος που μπορούμε να κάνουμε για εσάς
Κάθε πρότυπο έρχεται με τον έτοιμο για φιλοξενία φάκελο παιχνιδιού, αναγνώσιμο κώδικα, εγχειρίδιο και 6 μήνες υποστήριξης, ή 12 με την επέκταση. Η υποστήριξη καλύπτει εγκατάσταση και χρήση των παρεχόμενων αρχείων και διόρθωση αναπαραγώγιμων σφαλμάτων. Το πακετάρισμα για Android, οι εγγενείς διαφημίσεις, η ενσωμάτωση SDK και η δημοσίευση στο κατάστημα είναι χωριστές υπηρεσίες.
Αν προτιμάτε να μην τρέξετε μόνοι σας το Android Studio, στείλτε μας το πρότυπο, το πλάνο του λογαριασμού στο κατάστημα και την προθεσμία. Απαντάμε με εύρος, τιμή και χρονοδιάγραμμα πριν από οποιαδήποτε δουλειά. Δεν δημοσιεύουμε τιμοκατάλογο για προσαρμοσμένη εργασία.
Ζητήστε προσφορά για να πακετάρετε το παιχνίδι σας για Google Play
Συχνές ερωτήσεις
Πόσο κοστίζει η δημοσίευση παιχνιδιού HTML5 στο Google Play;
Η Google χρεώνει εφάπαξ 25 US$ τέλος εγγραφής για λογαριασμό προγραμματιστή. Τα άλλα κόστη σας είναι η άδεια του παιχνιδιού, τα γραφικά καταστήματος και ο χρόνος σας, ή μια υπηρεσία με προσφορά αν κάποιος άλλος κάνει το πακετάρισμα.
Χρειάζομαι 12 δοκιμαστές για να δημοσιεύσω στο Google Play;
Μόνο αν ο λογαριασμός σας είναι προσωπικός λογαριασμός προγραμματιστή που δημιουργήθηκε μετά τις 13 Νοεμβρίου 2023. Αυτοί οι λογαριασμοί πρέπει να τρέξουν κλειστή δοκιμή με τουλάχιστον 12 δοκιμαστές που έχουν συμμετάσχει για τουλάχιστον 14 ημέρες πριν ζητήσουν πρόσβαση παραγωγής.
APK ή AAB;
AAB. Οι νέες εφαρμογές στο Google Play πρέπει να χρησιμοποιούν το Android App Bundle από τον Αύγουστο του 2021. Το APK είναι ακόμα χρήσιμο για εγκατάσταση build απευθείας στο δικό σας τηλέφωνο δοκιμών.
Μπορεί η εφαρμογή απλώς να φορτώνει το παιχνίδι μου από τον ιστότοπό μου;
Δεν το κάνουμε αυτό. Ενσωματώνουμε τα αρχεία του παιχνιδιού μέσα στην εφαρμογή, ώστε να λειτουργεί εκτός σύνδεσης και να μην εξαρτάται από ιστότοπο. Η πολιτική spam της Google στοχεύει και εφαρμογές των οποίων ο κύριος σκοπός είναι webview ενός ιστότοπου χωρίς άδεια του ιδιοκτήτη.
Τα πρότυπά σας είναι έτοιμα για Google Play από την αρχή;
Όχι. Είναι παιχνίδια browser έτοιμα για φιλοξενία, και οι σελίδες προϊόντων λένε ότι τα native builds εφαρμογών δεν περιλαμβάνονται. Μπορείτε να τα πακετάρετε μόνοι σας με τα βήματα παραπάνω ή να παραγγείλετε τη δουλειά από εμάς με προσφορά.
