Retention Messaging API: správa pred zrušením predplatného
Autor: Mehdi Azizi
Zverejnené , 10 min
Retention Messaging API od Apple zobrazí tvoju správu, keď predplatiteľ ťukne na Cancel Subscription. Formáty, podmienky, prístup a nastavenie.
Retention Messaging API je služba od Apple typu server-server, ktorá zobrazí tvoju správu predplatiteľovi vo chvíli, keď ťukne na Cancel Subscription. Správa sa objaví na potvrdzovacej stránke ešte predtým, než sa zrušenie potvrdí. Môže pripomenúť hodnotu tvojho predplatného, ponúknuť iný plán alebo promo ponuku, no tlačidlo na zrušenie tam zostáva vždy. API je v predbežnej verzii od júla 2025, prístup sa dá získať na žiadosť a Apple ohlásil jednoduchšiu verziu v App Store Connect na jeseň 2026.
Tento návod vysvetľuje, čo API zobrazuje, odkedy existuje, kto ho môže používať, aké má podmienky a ako ho nastaviť. Všetko pochádza z dokumentácie Apple a zo session WWDC26, ktorá sa mu venuje. Prečítal som ich znova 3. novembra 2026.
V mojich iOS appkách predávam predplatné: Solys, blokátor sociálnych sietí, TradaZen, simulátor tradingu, Nolera, appka na skúšanie oblečenia cez AI, a Vigie. O prístup k API som pre všetky štyri požiadal 25. októbra 2026 a pripravil som ich správy vo všetkých ich jazykoch. K 28. októbru súhlas od Apple ešte neprišiel: tento návod teda popisuje pravidlá a moju prípravu, zatiaľ nie výsledky.
Čo robí Retention Messaging API
Podľa dokumentácie Apple ti API umožňuje vybrať správu, ktorú systém zobrazí, keď si zákazník otvorí detail predplatného a možno sa ho chystá zrušiť. Správy si pripravíš vopred, pre každý produkt a každý jazyk.
Postup je vždy rovnaký:
- Predplatiteľ si otvorí predplatné, napríklad v Apple Account, Subscriptions, alebo z App Store.
- Ťukne na Cancel Subscription.
- Systém zobrazí potvrdzovaciu stránku (Confirm Cancellation) s tvojou správou.
- Môže predplatné aj tak zrušiť, ponechať si ho, alebo prijať to, čo tvoja správa ponúka.
Správa sa zobrazuje na iOS 15.1 a iPadOS 15.1 alebo novšom, na visionOS 1 a na macOS 14 alebo novšom.
Odkedy a pre koho
| Dátum | Čo sa mení podľa Apple |
|---|---|
| 16. 7. 2025 | Verzia 1.0: prvá predbežná verzia API |
| 9. 12. 2025 | Výkonnostný test servera pre real-time |
| 31. 3. 2026 | Odrážky v správach, nastavenie real-time adresy cez API |
| 27. 4. 2026 | Podpora mesačných predplatných s 12-mesačným záväzkom |
| Jún 2026 | WWDC26: ohlásenie modulu v App Store Connect |
Dátumy pochádzajú zo záznamu zmien API, okrem posledného, ktorý je zo session WWDC26. API je stále predbežná verzia: dokumentácia odkazuje na formulár žiadosti o prístup, ktorý vyžaduje prihlásenie do tvojho vývojárskeho účtu.
Na WWDC26 session Explore Retention Messaging in App Store Connect predstavuje modul nastaviteľný bez kódu, priamo v App Store Connect. Apple hovorí, že bude „otvorený pre všetkých“. Real-time verzia však zostáva na žiadosť. Stránka noviniek App Store ohlasuje modul na „túto jeseň“. K 3. novembru 2026 mu pomocník App Store Connect ešte nevenuje žiadnu stránku a v mojom účte sa modul 28. októbra neobjavil.
API sa týka appiek, ktoré predávajú automaticky obnovované predplatné. Nie je to len pre veľkých vydavateľov: RevenueCat vo svojej štúdii 22 miliónov správ uvádza, že o prístup môžu požiadať aj malé appky.
4 typy správ
| Typ | Čo vidí predplatiteľ | Predvolená správa | Real-time |
|---|---|---|---|
| Text | Nadpis, text, až päť odrážok | Áno | Áno |
| Text s obrázkom | To isté, s obrázkom | Áno | Áno |
| Zmena plánu | Text a iné predplatné z tej istej skupiny | Nie | Áno |
| Promo ponuka | Text a ponuka na pokračovanie za zníženú cenu | Nie | Áno |
Podľa stránky o príprave správ môže byť predvolená správa len text, s obrázkom alebo bez neho. S API si ponuka alebo iný plán vyžadujú odpoveď v reálnom čase. Ohlásený modul v App Store Connect bude naopak ponúkať správu s ponukou aj bez servera.
Promo ponuka je tá, ktorú si vytvoríš v App Store Connect. Podľa pomocníka k promo ponukám cieli na súčasných aj bývalých predplatiteľov. V retenčnej správe ju podpisuje tvoj server, podľa stránky o príprave správ. Zmena plánu ponúka predplatné z tej istej skupiny. Ak s týmito ponukami začínaš, prečítaj si najprv môj návod o promo kódoch a promo ponukách.
Čo môžeš zobraziť: presné limity
| Prvok | Limit od Apple |
|---|---|
| Nadpis | najviac 66 znakov |
| Text | najviac 144 znakov |
| Odrážky | najviac 5 |
| Obrázok na celú šírku | PNG bez priehľadnosti, šírka 3 840 px, výška 160 až 2 160 |
| Obrázok odrážky | 1 024 × 1 024 px |
| Obrázky na appku | najviac 2 000 |
Dĺžky pochádzajú z popisu tela požiadavky na odoslanie správy, formáty zo stránky o odoslaní obrázka. Apple navyše chce obrázky, ktoré fungujú rovnako dobre vo svetlom aj tmavom režime.
Každú správu a každý obrázok kontroluje Apple. Ich stav sa mení z PENDING na APPROVED a systém zobrazuje len to, čo je schválené. V sandboxe je schválenie automatické. Dokumentácia stanovuje jasné pravidlo pre obsah: neposielať nič zavádzajúce ani nepresné.
Podmienky, ktoré musíš splniť
- Predvolená správa pre každý produkt v každom jazyku. Bez nej sa v danom jazyku nezobrazí nič. Je to aj záloha, keď tvoj server neodpovie.
- Schválené správy a obrázky pred akýmkoľvek spustením.
- Pre real-time rýchly server. Stránka o nastavení real-time adresy vyžaduje platný SSL certifikát, TLS 1.2 a odpoveď do 700 ms v produkcii. Ak to trvá dlhšie, požiadavka zlyhá a zobrazí sa predvolená správa.
- Úspešný výkonnostný test v sandboxe, skôr než zaregistruješ produkčnú adresu.
- Overenie appky. Každá požiadavka od Apple obsahuje identifikátor appky,
appAppleId. Ak nesedí s tvojím, Apple žiada neodpovedať.
Real-time požiadavka ti dá identifikátor pôvodnej transakcie, produkt a jazyk zariadenia. Správu vyberáš ty, podľa vlastných pravidiel.
Nastavenie Retention Messaging: tri cesty
| Cesta | Pre koho | Čo treba |
|---|---|---|
| Modul App Store Connect | Pre všetkých, keď vyjde | Žiadny kód; text, obrázok alebo ponuka |
| API s vlastným serverom | Pre tých, čo majú back-end | Prístup od Apple, HTTPS adresa, výkonnostný test |
| API cez RevenueCat | Pre appky, ktoré už majú RevenueCat | Prístup od Apple, nastavenia v dashboarde |
Keď existuje viac nastavení naraz, Apple v session WWDC26 vysvetľuje poradie: najprv real-time odpoveď. Ak chýba alebo je chybná, nastavenie z App Store Connect. Ak neexistuje, predvolená správa nastavená cez API.
S vlastným serverom
- Požiadaj o prístup cez formulár Apple.
- Pošli svoje obrázky, potom správy, každú s nadpisom a textom.
- Počkaj na schválenie, potom nastav predvolenú správu pre každé predplatné a každý jazyk.
- Pre real-time vytvor na svojom serveri adresu
Get Retention Messagea zaregistruj ju v sandboxe. - Spusti výkonnostný test v sandboxe s testovacou transakciou.
- Keď test prejde, zaregistruj produkčnú adresu.
S RevenueCat
Túto cestu som si vybral ja: žiadny server na písanie a moje appky už bežia cez RevenueCat, ako vysvetľujem v článku RevenueCat a in-app predplatné na iOS. Podľa dokumentácie RevenueCat:
- Do formulára Apple zadaj adresu, ktorú RevenueCat zobrazuje v nastaveniach tvojej App Store appky.
- Po schválení otvor Lifecycle, potom Retention, a pripoj sandbox adresu.
- Spusti výkonnostný test s aktívnym sandbox alebo TestFlight predplatným. Môže trvať až hodinu.
- Najprv vytvor predvolenú správu, jazyk po jazyku.
- Potom pridaj real-time správy s pravidlami. Jedno z nich, „Is in free trial“, cieli na ľudí v bezplatnej skúšobnej verzii.
- Prejdi do produkcie: nastavenia zo sandboxu sa neprenesú, správy treba vytvoriť znova.
Ako napísať správu, ktorá udrží, ale nepodvádza
Text je pevný a Apple ho pred zobrazením kontroluje. Nemôže teda hovoriť o človeku, ktorý ho číta, ani o dni, keď ho číta. Tu je predvolená správa, ktorú som pripravil pre TradaZen (tu v slovenskej verzii):
Nadpis (57 znakov):
Chcel si sa naučiť obchodovať, a teraz odchádzaš naslepo?
Text (114 znakov):
Bez tréningu platia každú chybu tvoje skutočné peniaze. Tu ťa nestoja nič. Tvoja séria, liga a lekcie sa zastavia.
Pravidlá, ktoré som si stanovil pre všetky štyri appky:
- Nadpis vracia človeka k jeho cieľu, formou otázky. Nezahanbuje ho.
- Text presne hovorí, čo sa zastaví. Píšem, že prístup sa „uzamkne“, keď dáta zostávajú, nikdy, že budú „vymazané“.
- Žiadne časové slová ako „zajtra“ či „dnes“: ten istý text sa zobrazuje kedykoľvek počas obdobia.
- Žiadny sľub zisku, žiadna falošná naliehavosť. Prvý nadpis, ktorý sľuboval zmenu života vďaka tradingu, som vyradil ešte pred odoslaním. Guideline 5.6 zakazuje akékoľvek manipulatívne praktiky a paywall TradaZen už bol z tohto dôvodu zamietnutý, ako píšem v článku guideline 5.6 a paywall.
- Každý jazyk má vlastný text, so slovníkom preloženej appky, a spočítaný na znak presne.
Pre TradaZen chystám aj real-time správu pre ľudí na skúšobnej verzii ročného predplatného. Ponúkne lacnejší ročný plán z tej istej skupiny, pretože moje čísla ukazujú, že títo ľudia používajú appku rovnako ako tí, čo platia: odmietajú cenu. Toto nastavenie čaká na súhlas od Apple.
Čo od toho čakať
Nečakaj zázrak. Apple nazýva mierou záchrany (save rate) podiel predplatiteľov, ktorí si predplatné ponechajú, keď sa dostanú na potvrdzovaciu stránku. V session WWDC26 Apple uvádza, že predplatné, ktoré nasadili Retention Messaging, získavajú v priemere 1,4 bodu tejto miery. Správy s promo ponukou majú najlepší pozorovaný nárast, 5,5 bodu, a výsledky sa líšia od vývojára k vývojárovi. Štúdia RevenueCat zas uvádza, že predplatitelia prijmú len asi 1,1 % promo ponúk a 0,6 % zmien plánu.
Správa teda nenahrádza prácu, ktorá jej predchádza. Bezplatná skúšobná verzia zrušená do minúty sa rozhoduje na paywalle a v prvých sessions: príčiny a páky nájdeš v mojom návode o zrušenej bezplatnej skúšobnej verzii a vytvorenie skúšobnej verzie v článku o úvodnej ponuke.
Priprav si predplatné ešte pred správou
iOS & Android Kit vychádza zo štartovacieho kódu mojich appiek: onboarding, paywall a predplatné sú už naprogramované a štvorkrokový postup ťa dovedie až do App Store, tvojím tempom. Celý reťazec, od produktov v App Store Connect po paywall, je popísaný na stránke in-app predplatné na iOS.
Ak chystáš svoje prvé vydanie, sprav si bezplatnú diagnostiku: povie ti, čo tvoj projekt naozaj brzdí, a pošle ti môj checklist proti zamietnutiu od Apple.
Často kladené otázky
Čo je Retention Messaging API od Apple?
Je to služba typu server-server, ktorá vyberá správu zobrazenú predplatiteľovi, keď ťukne na Cancel Subscription. Správa sa zobrazí na potvrdzovacej stránke pred zrušením. Môže pripomenúť hodnotu predplatného, ponúknuť iný plán alebo promo ponuku.
Je Retention Messaging dostupné pre všetkých vývojárov?
API je predbežná verzia, prístup sa získava na žiadosť u Apple. Na WWDC26 Apple ohlásil modul v App Store Connect, otvorený pre všetkých, plánovaný na jeseň 2026. K 3. novembru 2026 ho pomocník App Store Connect ešte nepopisuje.
Na ktorých verziách iOS sa správa zobrazuje?
Na iOS 15.1 a iPadOS 15.1 alebo novšom, na visionOS 1 a na macOS 14 alebo novšom. Na staršom zariadení prebehne zrušenie bez správy.
Bráni správa predplatiteľovi zrušiť predplatné?
Nie. Potvrdzovacia stránka si zachováva tlačidlo na zrušenie. Predplatiteľ si môže predplatné aj ponechať, alebo prijať ponúknutú ponuku či plán.
Dá sa pri zrušení ponúknuť zľava?
Áno. S API je to správa s promo ponukou, len v reálnom čase: ponuka sa vytvára v App Store Connect a podpisuje ju tvoj server. Ohlásený modul v App Store Connect umožní tiež správu s ponukou. Zmena plánu zas ponúka iné predplatné z tej istej skupiny.
Koľko znakov môže mať retenčná správa?
Nadpis má najviac 66 znakov, text 144. Môžeš pridať až päť odrážok a PNG obrázok bez priehľadnosti. Každý jazyk potrebuje vlastnú predvolenú správu.
Potrebujem na Retention Messaging server?
Pre predvolené správy nemusíš hostovať žiadnu adresu: stačí zavolať API, aby si ich poslal a nastavil. S RevenueCat robí server on. Real-time vyžaduje HTTPS adresu, ktorá odpovie do 700 ms. Ohlásený modul v App Store Connect sa nastavuje bez kódu.

