Retention Messaging API: το μήνυμα πριν την ακύρωση
Από Mehdi Azizi
Δημοσιεύτηκε στις , 10 λ.
Η Retention Messaging API της Apple δείχνει το μήνυμά σου όταν ένας συνδρομητής πατάει Cancel Subscription. Μορφές, όροι, πρόσβαση και ρύθμιση.
Η Retention Messaging API είναι μια υπηρεσία της Apple, από server σε server, που δείχνει το μήνυμά σου σε έναν συνδρομητή τη στιγμή που πατάει Cancel Subscription. Το μήνυμα εμφανίζεται σε μια σελίδα επιβεβαίωσης, πριν ολοκληρωθεί η ακύρωση. Μπορεί να του θυμίσει την αξία της συνδρομής σου, να του προτείνει άλλο πακέτο ή μια προωθητική προσφορά, αλλά το κουμπί της ακύρωσης μένει πάντα εκεί. Η API είναι σε προέκδοση από τον Ιούλιο του 2025, με αίτημα πρόσβασης, και η Apple έχει ανακοινώσει μια πιο απλή εκδοχή μέσα στο App Store Connect για το φθινόπωρο του 2026.
Αυτός ο οδηγός εξηγεί τι δείχνει η API, από πότε υπάρχει, ποιος μπορεί να τη χρησιμοποιήσει, τους όρους της και πώς τη στήνεις. Όλα προέρχονται από την τεκμηρίωση της Apple και από τη συνεδρία της WWDC26 που της είναι αφιερωμένη, όπως τις ξαναδιάβασα στις 3 Νοεμβρίου 2026.
Πουλάω συνδρομές στις iOS εφαρμογές μου: Solys, ένα εργαλείο που μπλοκάρει τα social media, TradaZen, έναν προσομοιωτή trading, Nolera, μια εφαρμογή που σε αφήνει να δοκιμάζεις ρούχα με AI, και Vigie. Ζήτησα πρόσβαση στην API και για τις τέσσερις στις 25 Οκτωβρίου 2026 και ετοίμασα τα μηνύματά τους σε όλες τις γλώσσες τους. Στις 28 Οκτωβρίου η έγκριση της Apple δεν είχε έρθει ακόμα. Άρα αυτός ο οδηγός περιγράφει τον κανόνα και την προετοιμασία μου, όχι ακόμα αποτελέσματα.
Τι κάνει η Retention Messaging API
Σύμφωνα με την τεκμηρίωση της Apple, η API σε αφήνει να διαλέξεις το μήνυμα που δείχνει το σύστημα όταν ένας πελάτης ανοίγει τη σελίδα λεπτομερειών μιας συνδρομής και ίσως ετοιμάζεται να ακυρώσει. Ετοιμάζεις τα μηνύματά σου από πριν, για κάθε προϊόν και κάθε γλώσσα.
Η διαδρομή είναι πάντα η ίδια:
- Ο συνδρομητής ανοίγει τη συνδρομή του, για παράδειγμα από Apple Account, Subscriptions, ή από το App Store.
- Πατάει Cancel Subscription.
- Το σύστημα δείχνει μια σελίδα επιβεβαίωσης (Confirm Cancellation) με το μήνυμά σου.
- Μπορεί να ακυρώσει παρ' όλα αυτά, να κρατήσει τη συνδρομή του ή να δεχτεί αυτό που προτείνει το μήνυμά σου.
Το μήνυμα φαίνεται σε iOS 15.1 και iPadOS 15.1 ή νεότερα, σε visionOS 1 και σε macOS 14 ή νεότερο.
Από πότε, και για ποιον
| Ημερομηνία | Τι αλλάζει, σύμφωνα με την Apple |
|---|---|
| 16 Ιουλ. 2025 | Έκδοση 1.0: πρώτη προέκδοση της API |
| 9 Δεκ. 2025 | Τεστ απόδοσης του server για τον πραγματικό χρόνο |
| 31 Μαρ. 2026 | Κουκκίδες στα μηνύματα, ρύθμιση της διεύθυνσης πραγματικού χρόνου μέσω της API |
| 27 Απρ. 2026 | Υποστήριξη μηνιαίων συνδρομών με δέσμευση 12 μηνών |
| Ιούνιος 2026 | WWDC26: ανακοίνωση ενός module στο App Store Connect |
Οι ημερομηνίες προέρχονται από το ιστορικό εκδόσεων της API, εκτός από την τελευταία, που είναι από τη συνεδρία της WWDC26. Η API παραμένει προέκδοση: η τεκμηρίωση παραπέμπει σε μια φόρμα αιτήματος πρόσβασης, που ζητάει να συνδεθείς στον developer λογαριασμό σου.
Στη WWDC26, η συνεδρία Explore Retention Messaging in App Store Connect παρουσιάζει ένα module που ρυθμίζεται χωρίς κώδικα, μέσα στο App Store Connect. Η Apple λέει ότι είναι «ανοιχτό σε όλους». Η εκδοχή πραγματικού χρόνου, αντίθετα, μένει με αίτημα. Η σελίδα με τα νέα του App Store ανακοινώνει το module για «αυτό το φθινόπωρο». Στις 3 Νοεμβρίου 2026, η βοήθεια του App Store Connect δεν του αφιερώνει ακόμα καμία σελίδα, και το module δεν εμφανιζόταν στον λογαριασμό μου στις 28 Οκτωβρίου.
Η API αφορά εφαρμογές που πουλάνε συνδρομή με αυτόματη ανανέωση. Δεν είναι μόνο για μεγάλους publishers: η RevenueCat σημειώνει στη μελέτη της σε 22 εκατομμύρια μηνύματα ότι και οι μικρές εφαρμογές μπορούν να ζητήσουν πρόσβαση.
Οι 4 τύποι μηνυμάτων
| Τύπος | Τι βλέπει ο συνδρομητής | Προεπιλεγμένο μήνυμα | Πραγματικός χρόνος |
|---|---|---|---|
| Κείμενο | Έναν τίτλο, ένα κείμενο, έως πέντε κουκκίδες | Ναι | Ναι |
| Κείμενο με εικόνα | Τα ίδια, με μια εικόνα | Ναι | Ναι |
| Αλλαγή πακέτου | Ένα κείμενο και μια άλλη συνδρομή του ίδιου group | Όχι | Ναι |
| Προωθητική προσφορά | Ένα κείμενο και μια προσφορά για να συνεχίσει με έκπτωση | Όχι | Ναι |
Σύμφωνα με τη σελίδα για την προετοιμασία των μηνυμάτων, ένα προεπιλεγμένο μήνυμα μπορεί να είναι μόνο κείμενο, με ή χωρίς εικόνα. Με την API, για να προτείνεις προσφορά ή άλλο πακέτο πρέπει να απαντάς σε πραγματικό χρόνο. Το module που ανακοινώθηκε στο App Store Connect, αντίθετα, θα επιτρέπει μήνυμα με προσφορά χωρίς server.
Η προωθητική προσφορά είναι αυτή που δημιουργείς στο App Store Connect. Σύμφωνα με τη βοήθεια για τις προωθητικές προσφορές, απευθύνεται σε τωρινούς και παλιούς συνδρομητές. Σε ένα μήνυμα διατήρησης, την υπογράφει ο server σου, σύμφωνα με τη σελίδα για την προετοιμασία των μηνυμάτων. Η αλλαγή πακέτου προτείνει μια συνδρομή του ίδιου group. Αν τώρα ξεκινάς με αυτές τις προσφορές, διάβασε πρώτα τον οδηγό μου για τους κωδικούς προσφοράς και τις προωθητικές προσφορές.
Τι μπορείς να δείξεις: τα ακριβή όρια
| Στοιχείο | Όριο της Apple |
|---|---|
| Τίτλος | Έως 66 χαρακτήρες |
| Κείμενο | Έως 144 χαρακτήρες |
| Κουκκίδες | Έως 5 |
| Εικόνα πλήρους πλάτους | PNG χωρίς διαφάνεια, 3.840 px πλάτος, 160 έως 2.160 ύψος |
| Εικόνα κουκκίδας | 1.024 × 1.024 px |
| Εικόνες ανά εφαρμογή | Έως 2.000 |
Τα μήκη προέρχονται από την περιγραφή του σώματος του αιτήματος αποστολής μηνύματος, και οι μορφές από τη σελίδα για την αποστολή εικόνας. Η Apple ζητάει επίσης εικόνες που δουλεύουν το ίδιο καλά σε light και σε dark mode.
Κάθε μήνυμα και κάθε εικόνα ελέγχονται από την Apple. Η κατάστασή τους περνάει από PENDING σε APPROVED, και το σύστημα δείχνει μόνο ό,τι έχει εγκριθεί. Στο sandbox, η έγκριση είναι αυτόματη. Η τεκμηρίωση βάζει έναν σαφή κανόνα περιεχομένου: τίποτα παραπλανητικό ή ανακριβές.
Οι όροι που πρέπει να καλύψεις
- Ένα προεπιλεγμένο μήνυμα για κάθε προϊόν, σε κάθε γλώσσα. Χωρίς αυτό, δεν εμφανίζεται τίποτα σε αυτή τη γλώσσα. Είναι και η εφεδρεία αν ο server σου δεν απαντήσει.
- Εγκεκριμένα μηνύματα και εικόνες πριν από οποιαδήποτε δημοσίευση.
- Για τον πραγματικό χρόνο, ένας γρήγορος server. Η σελίδα για τη ρύθμιση της διεύθυνσης πραγματικού χρόνου ζητάει έγκυρο πιστοποιητικό SSL, TLS 1.2 και απάντηση σε λιγότερο από 700 ms στην παραγωγή. Αν αργήσει παραπάνω, το αίτημα αποτυγχάνει και εμφανίζεται το προεπιλεγμένο μήνυμα.
- Ένα πετυχημένο τεστ απόδοσης στο sandbox, πριν δηλώσεις τη διεύθυνση παραγωγής σου.
- Έλεγχος της εφαρμογής. Κάθε αίτημα της Apple περιέχει το αναγνωριστικό της εφαρμογής,
appAppleId. Αν δεν ταιριάζει με το δικό σου, η Apple ζητάει να μην απαντήσεις.
Το αίτημα πραγματικού χρόνου σου δίνει το αναγνωριστικό της αρχικής συναλλαγής, το προϊόν και τη γλώσσα της συσκευής. Εσύ διαλέγεις το μήνυμα, με βάση τους κανόνες σου.
Πώς στήνεις το Retention Messaging: τρεις δρόμοι
| Δρόμος | Για ποιον | Τι χρειάζεται |
|---|---|---|
| Module του App Store Connect | Για όλους, μόλις κυκλοφορήσει | Κανένας κώδικας· κείμενο, εικόνα ή προσφορά |
| API, με τον δικό σου server | Όσους έχουν back-end | Πρόσβαση από την Apple, διεύθυνση HTTPS, τεστ απόδοσης |
| API, μέσω RevenueCat | Εφαρμογές που ήδη χρησιμοποιούν RevenueCat | Πρόσβαση από την Apple, ρυθμίσεις στο dashboard |
Όταν συνυπάρχουν πολλές ρυθμίσεις, η Apple εξηγεί στη συνεδρία της WWDC26 τη σειρά που ακολουθεί: πρώτα η απάντηση πραγματικού χρόνου. Αν λείπει ή είναι λάθος δομημένη, η ρύθμιση του App Store Connect. Αν δεν υπάρχει, το προεπιλεγμένο μήνυμα που έχει οριστεί μέσω της API.
Με τον δικό σου server
- Ζήτα πρόσβαση με τη φόρμα της Apple.
- Ανέβασε τις εικόνες σου και μετά τα μηνύματά σου, με έναν τίτλο και ένα κείμενο για το καθένα.
- Περίμενε την έγκρισή τους και μετά δήλωσε ένα προεπιλεγμένο μήνυμα για κάθε συνδρομή και κάθε γλώσσα.
- Για τον πραγματικό χρόνο, φτιάξε τη διεύθυνση
Get Retention Messageστον server σου και δήλωσέ την στο sandbox. - Τρέξε το τεστ απόδοσης, στο sandbox, με μια δοκιμαστική συναλλαγή.
- Μόλις περάσει το τεστ, δήλωσε τη διεύθυνση παραγωγής σου.
Με RevenueCat
Αυτόν τον δρόμο διάλεξα: δεν χρειάζεται να γράψω server, και οι εφαρμογές μου περνάνε ήδη από RevenueCat, όπως εξηγώ στο RevenueCat και η in-app συνδρομή στο iOS. Σύμφωνα με την τεκμηρίωση της RevenueCat:
- Στη φόρμα της Apple, η διεύθυνση που δίνεις είναι αυτή που δείχνει η RevenueCat στις ρυθμίσεις της App Store εφαρμογής σου.
- Μετά την έγκριση, άνοιξε Lifecycle, μετά Retention, και σύνδεσε τη διεύθυνση sandbox.
- Τρέξε το τεστ απόδοσης με μια ενεργή συνδρομή sandbox ή TestFlight. Μπορεί να κρατήσει έως μία ώρα.
- Φτιάξε πρώτα ένα προεπιλεγμένο μήνυμα, γλώσσα προς γλώσσα.
- Πρόσθεσε μετά μηνύματα πραγματικού χρόνου, με κανόνες. Ένας από αυτούς, το «Is in free trial», στοχεύει όσους είναι σε δωρεάν δοκιμή.
- Πέρνα στην παραγωγή: οι ρυθμίσεις του sandbox δεν μεταφέρονται, πρέπει να ξαναφτιάξεις τα μηνύματα.
Γράψε ένα μήνυμα που κρατάει χωρίς να παγιδεύει
Το κείμενο είναι σταθερό και ελέγχεται από την Apple πριν εμφανιστεί. Άρα δεν μπορεί να μιλάει για το άτομο που το διαβάζει, ούτε για τη μέρα που το διαβάζει. Αυτό είναι το προεπιλεγμένο μήνυμα που ετοίμασα για το TradaZen στα γαλλικά, εδώ στα ελληνικά:
Τίτλος (47 χαρακτήρες):
Ήθελες να μάθεις trading και φεύγεις στα τυφλά;
Κείμενο (137 χαρακτήρες):
Χωρίς εξάσκηση, τα πραγματικά σου χρήματα πληρώνουν κάθε λάθος. Εδώ δεν κοστίζουν τίποτα. Το σερί, η λίγκα και τα μαθήματά σου σταματούν.
Οι κανόνες που έβαλα για τις τέσσερις εφαρμογές μου:
- Ο τίτλος θυμίζει στο άτομο τον στόχο του, σε μορφή ερώτησης. Δεν το κάνει να ντρέπεται.
- Το κείμενο λέει ακριβώς τι σταματάει. Γράφω ότι η πρόσβαση «κλειδώνει» όταν τα δεδομένα μένουν, ποτέ ότι θα «διαγραφούν».
- Καμία λέξη χρόνου όπως «αύριο» ή «σήμερα»: το ίδιο κείμενο εμφανίζεται οποιαδήποτε στιγμή της περιόδου.
- Καμία υπόσχεση κέρδους, καμία ψεύτικη βιασύνη. Ένας πρώτος τίτλος που υποσχόταν να σου αλλάξει τη ζωή χάρη στο trading απορρίφθηκε πριν την αποστολή. Η guideline 5.6 απαγορεύει κάθε χειριστική πρακτική, και το paywall του TradaZen έχει ήδη απορριφθεί γι' αυτόν τον λόγο, όπως λέω στο η guideline 5.6 και το paywall.
- Κάθε γλώσσα έχει το δικό της κείμενο, με το λεξιλόγιο της μεταφρασμένης εφαρμογής, μετρημένο στον χαρακτήρα.
Για το TradaZen σχεδιάζω επίσης ένα μήνυμα πραγματικού χρόνου για όσους είναι σε δοκιμή στην ετήσια συνδρομή. Θα προτείνει ένα φθηνότερο ετήσιο πακέτο του ίδιου group, γιατί τα νούμερά μου δείχνουν ότι αυτά τα άτομα χρησιμοποιούν την εφαρμογή όσο και όσοι πληρώνουν: αυτό που αρνούνται είναι η τιμή. Αυτή η ρύθμιση περιμένει την έγκριση της Apple.
Τι μπορείς να περιμένεις
Μην περιμένεις θαύματα. Η Apple λέει ποσοστό διάσωσης (save rate) το ποσοστό των συνδρομητών που κρατάνε τη συνδρομή τους αφού φτάσουν στη σελίδα επιβεβαίωσης. Στη συνεδρία της WWDC26, η Apple ανακοινώνει ότι οι συνδρομές που υιοθέτησαν το Retention Messaging κερδίζουν κατά μέσο όρο 1,4 μονάδες σε αυτό το ποσοστό. Τα μηνύματα με προωθητική προσφορά έχουν το καλύτερο κέρδος που καταγράφηκε, 5,5 μονάδες, και τα αποτελέσματα διαφέρουν από developer σε developer. Από την πλευρά της, η μελέτη της RevenueCat καταγράφει ότι οι συνδρομητές δέχονται μόνο περίπου το 1,1% των προωθητικών προσφορών και το 0,6% των αλλαγών πακέτου.
Άρα το μήνυμα δεν αντικαθιστά τη δουλειά που γίνεται νωρίτερα. Μια δωρεάν δοκιμή που ακυρώνεται μέσα στο πρώτο λεπτό κρίνεται στο paywall και στις πρώτες συνεδρίες: τις αιτίες και τους μοχλούς θα τα βρεις στον οδηγό μου για τη δωρεάν δοκιμή που ακυρώνεται, και τη δημιουργία της δοκιμής στην εισαγωγική προσφορά.
Ετοίμασε τη συνδρομή σου πριν το μήνυμα
Το iOS & Android Kit ξεκινάει από τον αρχικό κώδικα των εφαρμογών μου: onboarding, paywall και συνδρομές είναι ήδη γραμμένα, και η διαδρομή σε τέσσερα βήματα σε πάει μέχρι το App Store, με τον δικό σου ρυθμό. Όλη η αλυσίδα, από τα προϊόντα στο App Store Connect μέχρι το paywall, περιγράφεται στη σελίδα in-app συνδρομή στο iOS.
Αν ετοιμάζεις την πρώτη σου κυκλοφορία, κάνε τη δωρεάν διάγνωση: σου λέει τι πραγματικά μπλοκάρει το project σου και σου στέλνει τη checklist μου κατά των απορρίψεων της Apple.
Συχνές ερωτήσεις
Τι είναι η Retention Messaging API της Apple;
Είναι μια υπηρεσία από server σε server που διαλέγει το μήνυμα που βλέπει ένας συνδρομητής όταν πατάει Cancel Subscription. Το μήνυμα εμφανίζεται σε μια σελίδα επιβεβαίωσης, πριν την ακύρωση. Μπορεί να θυμίσει την αξία της συνδρομής, να προτείνει άλλο πακέτο ή μια προωθητική προσφορά.
Είναι το Retention Messaging διαθέσιμο για όλους τους developers;
Η API είναι προέκδοση, με αίτημα πρόσβασης στην Apple. Στη WWDC26, η Apple ανακοίνωσε ένα module στο App Store Connect, ανοιχτό σε όλους, προγραμματισμένο για το φθινόπωρο του 2026. Στις 3 Νοεμβρίου 2026, η βοήθεια του App Store Connect δεν το περιγράφει ακόμα.
Σε ποιες εκδόσεις iOS εμφανίζεται το μήνυμα;
Σε iOS 15.1 και iPadOS 15.1 ή νεότερα, σε visionOS 1 και σε macOS 14 ή νεότερο. Σε παλαιότερη συσκευή, η ακύρωση γίνεται χωρίς μήνυμα.
Εμποδίζει το μήνυμα τον συνδρομητή να ακυρώσει;
Όχι. Η σελίδα επιβεβαίωσης κρατάει ένα κουμπί για ακύρωση. Ο συνδρομητής μπορεί επίσης να κρατήσει τη συνδρομή του ή να δεχτεί την προσφορά ή το πακέτο που του προτείνεται.
Μπορώ να προτείνω έκπτωση τη στιγμή της ακύρωσης;
Ναι. Με την API, είναι ένα μήνυμα προωθητικής προσφοράς, μόνο σε πραγματικό χρόνο: η προσφορά δημιουργείται στο App Store Connect και την υπογράφει ο server σου. Το module που ανακοινώθηκε στο App Store Connect επιτρέπει επίσης μήνυμα με προσφορά. Η αλλαγή πακέτου, από την άλλη, προτείνει μια άλλη συνδρομή του ίδιου group.
Πόσους χαρακτήρες έχει ένα μήνυμα διατήρησης;
Ο τίτλος έχει έως 66 χαρακτήρες, το κείμενο έως 144. Μπορείς να προσθέσεις έως πέντε κουκκίδες και μια εικόνα PNG χωρίς διαφάνεια. Κάθε γλώσσα χρειάζεται το δικό της προεπιλεγμένο μήνυμα.
Χρειάζομαι server για να χρησιμοποιήσω το Retention Messaging;
Για τα προεπιλεγμένα μηνύματα δεν χρειάζεται να φιλοξενείς διεύθυνση: αρκεί να καλέσεις την API για να τα ανεβάσεις και να τα δηλώσεις. Με τη RevenueCat, αυτή παίζει τον ρόλο του server. Ο πραγματικός χρόνος χρειάζεται μια διεύθυνση HTTPS που απαντάει σε λιγότερο από 700 ms. Το module που ανακοινώθηκε στο App Store Connect ρυθμίζεται χωρίς κώδικα.

