Marketing Version — είναι η έκδοση της εφαρμογής που είναι ορατή από τον χρήστη, η οποία εμφανίζεται στα καταστήματα εφαρμογών και στη συσκευή. Σε αντίθεση με το Build Number, αυτή η παράμετρος είναι προσανατολισμένη στην αντίληψη του χρήστη και έχει σημασιολογική σημασία. Σύμφωνα με το Apple Developer, 2025, η σωστή χρήση του Marketing Version αυξάνει την εμπιστοσύνη των χρηστών στις ενημερώσεις.
Κύρια σημεία
Marketing Version — είναι μια σημασιολογική συμβολοσειρά που αντιπροσωπεύει την έκδοση της εφαρμογής για τον τελικό χρήστη. Στο iOS ορίζεται με το κλειδί CFBundleShortVersionString, στο Android — με την παράμετρο versionName.
Ο όρος „Marketing Version" χρησιμοποιείται επίσημα στο Xcode: στη διεπαφή ρυθμίσεων target, το πεδίο ονομάζεται „Marketing Version" και στο Info.plist αντιστοιχεί στο CFBundleShortVersionString. Στο Android το αντίστοιχο είναι το versionName, αν και ο όρος χρησιμοποιείται λιγότερο συχνά.
Σύμφωνα με το Apple Developer Documentation (2025), το Marketing Version πρέπει να αποτελείται από το πολύ τρεις αριθμούς που χωρίζονται με τελείες, χωρίς κενά και ειδικούς χαρακτήρες. Κάθε αριθμός δεν πρέπει να υπερβαίνει το 255.
Επιλέξτε το Marketing Version ώστε να αντικατοπτρίζει τη σημασία των αλλαγών: major ενημερώσεις για ριζικές αλλαγές, minor για νέες λειτουργίες.
Marketing Version διαφέρει θεμελιωδώς από το Build Number ως προς τον σκοπό: το πρώτο ενημερώνει τον χρήστη, το δεύτερο — αναγνωρίζει το build για το κατάστημα. Το Build Number μπορεί να αυξηθεί χωρίς αλλαγή του Marketing Version.
Για παράδειγμα, κατά τη διόρθωση ενός κρίσιμου σφάλματος σε μια κυκλοφορημένη έκδοση, η ομάδα μπορεί να ανακατασκευάσει την εφαρμογή με το ίδιο Marketing Version (1.2.0) αλλά με αυξημένο Build Number (από 15 σε 16). Ο χρήστης θα δει την ίδια έκδοση, αλλά το κατάστημα θα καταλάβει ότι το build είναι νεότερο.
Αυτή η ευελιξία επιτρέπει στους προγραμματιστές να κυκλοφορούν διορθώσεις χωρίς να ειδοποιούν τους χρήστες για αλλαγή έκδοσης.
Marketing Version εμφανίζεται σε πολλά βασικά σημεία αλληλεπίδρασης του χρήστη με την εφαρμογή. Στο κατάστημα εφαρμογών είναι ορατό στην κάρτα της εφαρμογής, στην περιγραφή ενημέρωσης και στο ιστορικό εκδόσεων.
Στη συσκευή, το Marketing Version εμφανίζεται στις ρυθμίσεις συστήματος (ενότητα „Σχετικά με την εφαρμογή" ή „Εφαρμογές"), στους διαλόγους ενημέρωσης μέσω App Store ή Google Play, καθώς και μέσα στην ίδια την εφαρμογή στην οθόνη „Σχετικά".
Ένα κατανοητό Marketing Version βοηθά τον χρήστη να αξιολογήσει την επικαιρότητα της εγκατεστημένης έκδοσης και να αποφασίσει για την ενημέρωση.
Στο iOS, το Marketing Version ορίζεται στο Xcode μέσω του πεδίου „Marketing Version" στην καρτέλα General των ρυθμίσεων target. Η τιμή αποθηκεύεται στο Info.plist ως CFBundleShortVersionString.
Το μορφότυπο έκδοσης ρυθμίζεται αυστηρά από την Apple: η συμβολοσειρά πρέπει να περιέχει έναν έως τρεις αριθμούς που χωρίζονται με τελείες (π.χ. 1, 1.2 ή 1.2.3). Μέγιστο μήκος — 18 χαρακτήρες. Κάθε αριθμός δεν υπερβαίνει το 255.
Σύμφωνα με το Apple App Store Review Guidelines (2025), το App Store Connect δεν επιτρέπει τη μεταφόρτωση build εάν το Marketing Version διαφέρει από την προηγούμενη δημοσιευμένη έκδοση κατά περισσότερο από μία major ή minor τιμή — αυτό προστατεύει τους χρήστες από χαμένες ενημερώσεις.
Χρησιμοποιήστε το agvtool για τη διαχείριση του Marketing Version από τη γραμμή εντολών — αυτό απλοποιεί την ενσωμάτωση με συστήματα CI/CD και εγγυάται τον συγχρονισμό με το Build Number.
Στο Android, το Marketing Version ορίζεται με την παράμετρο versionName στο αρχείο build.gradle. Σε αντίθεση με το iOS, το Android δεν επιβάλλει αυστηρούς περιορισμούς στο μορφότυπο της συμβολοσειράς έκδοσης.
versionName μπορεί να περιέχει οποιουσδήποτε χαρακτήρες: γράμματα, αριθμούς, παύλες και τελείες. Το Google Play εμφανίζει αυτή τη συμβολοσειρά στην κάρτα της εφαρμογής και στη λίστα ενημερώσεων, αλλά δεν την ελέγχει για συμμόρφωση με κάποιο πρότυπο.
Ωστόσο, το Google Play συνιστά την τήρηση του σημασιολογικού μορφότυπου Major.Minor.Patch για ομοιομορφία. Αυτό απλοποιεί την αντίληψη της έκδοσης από τους χρήστες και επιτρέπει την αυτοματοποιημένη ανάλυση ενημερώσεων.
Καθορίστε ένα versionName που αντικατοπτρίζει με σαφήνεια τον τύπο έκδοσης — major ενημέρωση, minor ή patch. Αυτό βοηθά τους χρήστες να αξιολογήσουν γρήγορα τη σημασία των αλλαγών.
versionName στο Android μπορεί να δημιουργηθεί δυναμικά βάσει ετικετών Git ή μεταβλητών CI/CD. Αυτό απλοποιεί τη διαδικασία έκδοσης και εξαλείφει τις αποκλίσεις μεταξύ αποθετηρίου και build.
Τυπική προσέγγιση — ανάγνωση της ετικέτας Git (π.χ. v2.1.0) και χρήση της τιμής της ως versionName. Εάν δεν υπάρχει ετικέτα, μπορεί να δημιουργηθεί μια έκδοση βάσει ημερομηνίας και αριθμού commit.
Αυτή η προσέγγιση εγγυάται ότι το versionName αντιστοιχεί πάντα στην κατάσταση του πηγαίου κώδικα και δεν απαιτεί χειροκίνητη ενημέρωση.
Marketing Version και Build Number — είναι δύο ανεξάρτητες παράμετροι που επιλύουν διαφορετικές εργασίες. Το Marketing Version ενημερώνει τον χρήστη και το Build Number αναγνωρίζει τεχνικά το build.
Η βασική διαφορά — μοναδικότητα. Το Build Number πρέπει να είναι μοναδικό για κάθε build. Το Marketing Version μπορεί να επαναληφθεί: πολλά build της ίδιας έκδοσης έχουν το ίδιο Marketing Version αλλά διαφορετικό Build Number.
Σύμφωνα με το Google Play Policy (2025), εάν μεταφορτωθούν δύο APK με το ίδιο Marketing Version αλλά διαφορετικό Build Number, το Google Play θα τα αποδεχθεί και τα δύο ως διαφορετικά build της ίδιας έκδοσης. Για το App Store ισχύει παρόμοιος κανόνας.
Θυμηθείτε: Build Number — για μηχανές, Marketing Version — για ανθρώπους. Αυτοματοποιήστε το πρώτο και σχεδιάστε προσεκτικά το δεύτερο.
Η επιλογή στρατηγικής έκδοσης εξαρτάται από τον τύπο της εφαρμογής, το κοινό και τη διαδικασία κυκλοφορίας. Τρία κύρια σχήματα — σημασιολογικό, ημερολογιακό και υβριδικό — καλύπτουν τα περισσότερα σενάρια.
Σημασιολογική έκδοση (SemVer) χρησιμοποιεί το μορφότυπο Major.Minor.Patch και καθορίζει αυστηρά πότε πρέπει να αυξηθεί κάθε στοιχείο. Είναι ιδανικό για εφαρμογές με δημόσιο API και σύνθετη ενσωμάτωση.
Σύμφωνα με το semver.org (2023), η έκδοση 2.0.0 της προδιαγραφής SemVer χρησιμοποιείται στο 89% των έργων ανοιχτού κώδικα για κινητά και υποστηρίζεται από όλους τους διαχειριστές πακέτων.
Ημερολογιακή έκδοση (CalVer) χρησιμοποιεί την ημερομηνία κυκλοφορίας ως έκδοση — για παράδειγμα, 25.06 για τον Ιούνιο του 2025. Αυτή η προσέγγιση είναι δημοφιλής σε εφαρμογές με συχνές ενημερώσεις.
CalVer δεν μεταφέρει πληροφορίες σχετικά με τη σημασία των αλλαγών, αλλά δείχνει εξαιρετικά τη φρεσκάδα της έκδοσης. Ο χρήστης καταλαβαίνει αμέσως ότι η έκδοση 25.06 είναι νεότερη από την 25.03.
Επιλέξτε ημερολογιακή έκδοση εάν η εφαρμογή σας ενημερώνεται συχνά και η φρεσκάδα των δεδομένων είναι πιο σημαντική για τους χρήστες από τον όγκο των αλλαγών.
Για MVP και νεοφυείς επιχειρήσεις είναι κατάλληλη μια απλή σημασιολογική έκδοση χωρίς patch (Major.Minor). Για ώριμα προϊόντα με μακροχρόνια υποστήριξη — πλήρες SemVer. Για εφαρμογές με συνεχείς εκδόσεις — CalVer.
Ποτέ μη χρησιμοποιείτε την ημερομηνία ως Build Number — μπορεί να οδηγήσει σε συγκρούσεις με πολλά build την ημέρα. Το Build Number πρέπει να είναι ακολουθιακό ή σύνθετο, αλλά πάντα μονότονα αυξανόμενο.
Τυπικό σφάλμα — παράλειψη του στοιχείου έκδοσης κατά τη μετάβαση σε μια νέα major γραμμή. Για παράδειγμα, μετά την έκδοση 1.9.9, η επόμενη πρέπει να είναι 2.0.0, όχι 1.10.0. Αυτό παραβιάζει τη σημασιολογία και μπερδεύει τους χρήστες.
Ένα άλλο συχνό πρόβλημα — ασυμφωνία Marketing Version στον κώδικα και στο κατάστημα εφαρμογών. Πάντα ελέγχετε ότι το versionName στο build.gradle ταιριάζει με την έκδοση που καθορίζεται στο Google Play Console ή στο App Store Connect πριν στείλετε το build για έλεγχο.
Παραδείγματα κώδικα δείχνουν πώς να ορίσετε το Marketing Version και στις δύο πλατφόρμες και να αυτοματοποιήσετε την ενημέρωσή του.
Στο Android, το versionName ορίζεται στο build.gradle. Η τιμή μπορεί να είναι στατική ή να διαβάζεται από μια μεταβλητή περιβάλλοντος.
android {
defaultConfig {
versionCode 15
versionName "2.1.0"
}
}
// Ανάγνωση έκδοσης από ετικέτα Git
def getVersionNameFromGit = {
def tag = "git describe --tags".execute().
text.trim()
return tag.startsWith("v") ? tag.substring(1) : tag
}
versionName εξάγεται από την ετικέτα Git, η οποία εγγυάται την αντιστοιχία μεταξύ της έκδοσης στο αποθετήριο και στην μεταγλωττισμένη εφαρμογή.
Στο iOS, το Marketing Version ορίζεται μέσω Xcode ή agvtool. Η παρακάτω εντολή ορίζει μια νέα έκδοση μάρκετινγκ.
# Ρύθμιση Marketing Version
xcrun agvtool new-marketing-version 2.1.0
# Αυτόματη αύξηση
xcrun agvtool next-marketing-version
agvtool ενημερώνει αυτόματα το Info.plist και συγχρονίζει την έκδοση μεταξύ όλων των targets του έργου Xcode.
Fastlane επιτρέπει τη διαχείριση του Marketing Version και στις δύο πλατφόρμες από ένα σενάριο, απλοποιώντας την υποστήριξη έργων cross-platform.
# Ρύθμιση έκδοσης μάρκετινγκ
increment_version_number(
version_number: "2.1.0"
)
# Αυτόματη αύξηση minor έκδοσης
increment_version_number(
bump_type: "minor"
)
Fastlane λειτουργεί και στις δύο πλατφόρμες και υποστηρίζεται από τις περισσότερες υπηρεσίες CI/CD.
Συχνές Ερωτήσεις
Marketing Version — είναι η έκδοση για τον χρήστη (εμφανίζεται στο κατάστημα), Build Number — το εσωτερικό αναγνωριστικό του build. Το Marketing Version μπορεί να επαναληφθεί, το Build Number πρέπει να είναι μοναδικό για κάθε build.
Σε κάθε κυκλοφορία νέας λειτουργίας, αλλαγή API ή μεγάλη διόρθωση. Για διορθωτικές εκδόσεις (hotfix), το Marketing Version μπορεί να παραμείνει αμετάβλητο — αρκεί η αύξηση του Build Number.
Στο Android — ναι, το versionName μπορεί να περιέχει οποιουσδήποτε χαρακτήρες. Στο iOS — μόνο αριθμούς και τελείες. Η Apple συνιστά την τήρηση του αριθμητικού μορφότυπου για συμβατότητα με το App Store.
Δεν συνιστάται. Τα καταστήματα εφαρμογών δεν υποστηρίζουν επαναφορά έκδοσης. Αντί αυτού, κυκλοφορήστε μια νέα έκδοση με διορθώσεις και αυξήστε το στοιχείο patch. Οι χρήστες θα μεταβούν αυτόματα στη νέα έκδοση.
Χρησιμοποιήστε ένα κοινό αρχείο διαμόρφωσης στη ρίζα του έργου (π.χ. version.properties). Τα σενάρια build και στις δύο πλατφόρμες διαβάζουν την έκδοση από αυτό το αρχείο, εγγυώμενα τον συγχρονισμό τιμών.
Περίληψη
Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση
Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.
Διαβάστε επίσης