Retention Messaging API: viesti ennen tilauksen perumista
Kirjoittaja: Mehdi Azizi
Julkaistu , 10 min
Applen Retention Messaging API näyttää viestisi, kun tilaaja napauttaa Cancel Subscription. Viestityypit, ehdot, käyttöoikeus ja käyttöönotto.
Retention Messaging API on Applen palvelinten välinen palvelu, joka näyttää viestisi tilaajalle sillä hetkellä, kun hän napauttaa Cancel Subscription. Viesti näkyy vahvistussivulla ennen kuin peruminen vahvistetaan. Viesti voi muistuttaa tilauksesi arvosta tai tarjota toista tilausvaihtoehtoa tai kampanjatarjousta, mutta perumispainike pysyy aina näkyvissä. API on ollut esiversiona heinäkuusta 2025 lähtien, ja käyttöoikeutta pitää hakea. Apple on ilmoittanut yksinkertaisemmasta versiosta App Store Connectiin syksyllä 2026.
Tässä oppaassa käyn läpi, mitä API näyttää, milloin se tuli, kuka sitä voi käyttää, mitkä sen ehdot ovat ja miten se otetaan käyttöön. Kaikki tieto on Applen dokumentaatiosta ja API:lle omistetusta WWDC26-sessiosta, jotka luin uudelleen 3. marraskuuta 2026.
Myyn tilauksia iOS-sovelluksissani: Solys on somen estäjä, TradaZen kaupankäyntisimulaattori, Nolera tekoälyllä toimiva vaatteiden sovitussovellus, ja lisäksi on Vigie. Hain API:n käyttöoikeutta kaikille neljälle 25. lokakuuta 2026 ja valmistelin niiden viestit kaikilla niiden kielillä. Applen hyväksyntää ei ollut vielä tullut 28. lokakuuta, joten tämä opas kuvaa säännöt ja omat valmisteluni, ei vielä tuloksia.
Mitä Retention Messaging API tekee
Applen dokumentaation mukaan API:n avulla valitset viestin, jonka järjestelmä näyttää, kun asiakas avaa tilauksen tietosivun ja on ehkä perumassa. Valmistelet viestit etukäteen jokaiselle tuotteelle ja kielelle.
Kulku on aina sama:
- Tilaaja avaa tilauksensa esimerkiksi kohdasta Apple Account, Subscriptions tai App Storesta.
- Hän napauttaa Cancel Subscription.
- Järjestelmä näyttää vahvistussivun (Confirm Cancellation), jolla on viestisi.
- Hän voi perua silti, pitää tilauksensa tai hyväksyä sen, mitä viestisi tarjoaa.
Viesti näkyy iOS 15.1:ssä ja iPadOS 15.1:ssä tai uudemmissa, visionOS 1:ssä sekä macOS 14:ssä tai uudemmissa.
Milloin ja kenelle
| Päivämäärä | Mikä muuttuu Applen mukaan |
|---|---|
| 16.7.2025 | Versio 1.0: API:n ensimmäinen esiversio |
| 9.12.2025 | Palvelimen suorituskykytesti reaaliaikaista käyttöä varten |
| 31.3.2026 | Luettelomerkit viesteissä, reaaliaikaisen osoitteen asetus API:lla |
| 27.4.2026 | Tuki kuukausitilauksille, joissa on 12 kuukauden sitoutuminen |
| Kesäkuu 2026 | WWDC26: ilmoitus App Store Connectin moduulista |
Päivämäärät ovat API:n versiohistoriasta, paitsi viimeinen, joka on WWDC26-sessiosta. API on edelleen esiversio: dokumentaatio ohjaa käyttöoikeuden hakulomakkeeseen, joka vaatii kirjautumisen kehittäjätilillesi.
WWDC26:ssa sessio Explore Retention Messaging in App Store Connect esittelee App Store Connectiin moduulin, jota säädetään ilman koodia. Applen mukaan se on "avoin kaikille". Reaaliaikainen versio vaatii yhä haun. App Storen uutuussivu lupaa moduulin "tänä syksynä". 3. marraskuuta 2026 App Store Connectin ohjeissa ei ollut sille vielä yhtään sivua, eikä moduulia näkynyt tililläni 28. lokakuuta.
API koskee sovelluksia, jotka myyvät automaattisesti uusiutuvaa tilausta. Se ei ole vain isoille julkaisijoille: RevenueCat toteaa 22 miljoonan viestin tutkimuksessaan, että myös pienet sovellukset voivat hakea käyttöoikeutta.
Neljä viestityyppiä
| Tyyppi | Mitä tilaaja näkee | Oletusviesti | Reaaliaikainen |
|---|---|---|---|
| Teksti | Otsikko, teksti, enintään viisi luettelomerkkiä | Kyllä | Kyllä |
| Teksti ja kuva | Sama, kuvan kanssa | Kyllä | Kyllä |
| Tilausvaihtoehdon vaihto | Teksti ja toinen saman ryhmän tilaus | Ei | Kyllä |
| Kampanjatarjous | Teksti ja tarjous jatkaa alennettuun hintaan | Ei | Kyllä |
Viestien valmistelua käsittelevän sivun mukaan oletusviesti voi olla vain teksti, kuvalla tai ilman. API:lla tarjouksen tai toisen tilausvaihtoehdon tarjoaminen vaatii reaaliaikaista vastausta. App Store Connectiin luvattu moduuli taas tarjoaa tarjouksellisen viestin ilman palvelinta.
Kampanjatarjous on se, jonka luot App Store Connectissa. Kampanjatarjousten ohjeen mukaan se on suunnattu nykyisille ja entisille tilaajille. Pitoviestissä palvelimesi allekirjoittaa sen, kertoo viestien valmistelusivu. Tilausvaihtoehdon vaihto tarjoaa tilausta samasta ryhmästä. Jos nämä tarjoukset ovat sinulle uusia, lue ensin oppaani tarjouskoodeista ja kampanjatarjouksista.
Mitä voit näyttää: tarkat rajat
| Osa | Applen raja |
|---|---|
| Otsikko | enintään 66 merkkiä |
| Teksti | enintään 144 merkkiä |
| Luettelomerkit | enintään 5 |
| Täysleveä kuva | PNG ilman läpinäkyvyyttä, 3 840 px leveä, 160-2 160 px korkea |
| Luettelomerkin kuva | 1 024 × 1 024 px |
| Kuvia per sovellus | enintään 2 000 |
Pituudet ovat viestin lähetyspyynnön rungon kuvauksesta ja formaatit kuvan lähettämistä käsittelevältä sivulta. Apple vaatii myös, että kuvat toimivat yhtä hyvin vaaleassa kuin tummassa tilassa.
Apple tarkistaa jokaisen viestin ja kuvan. Niiden tila muuttuu PENDING-tilasta APPROVED-tilaan, ja järjestelmä näyttää vain hyväksytyn sisällön. Sandboxissa hyväksyntä on automaattinen. Dokumentaatiossa on selvä sisältösääntö: älä lähetä mitään harhaanjohtavaa tai virheellistä.
Täytettävät ehdot
- Oletusviesti jokaiselle tuotteelle jokaisella kielellä. Ilman sitä kyseisellä kielellä ei näy mitään. Se on myös varasuunnitelma, jos palvelimesi ei vastaa.
- Hyväksytyt viestit ja kuvat ennen käyttöönottoa.
- Reaaliaikaiseen käyttöön nopea palvelin. Reaaliaikaisen osoitteen käyttöönottoa käsittelevä sivu vaatii voimassa olevan SSL-varmenteen, TLS 1.2:n ja tuotannossa alle 700 ms:n vasteajan. Jos raja ylittyy, pyyntö epäonnistuu ja oletusviesti näytetään.
- Hyväksytty suorituskykytesti sandboxissa ennen kuin ilmoitat tuotanto-osoitteesi.
- Sovelluksen tarkistus. Jokainen Applen pyyntö sisältää sovelluksen tunnisteen
appAppleId. Jos se ei vastaa omaasi, Apple pyytää jättämään vastaamatta.
Reaaliaikainen pyyntö antaa alkuperäisen transaktion tunnisteen, tuotteen ja laitteen kielen. Viestin valitset sinä omien sääntöjesi mukaan.
Retention Messagingin käyttöönotto: kolme tapaa
| Tapa | Kenelle | Mitä tarvitaan |
|---|---|---|
| App Store Connectin moduuli | Kaikille, kun se julkaistaan | Ei koodia; teksti, kuva tai tarjous |
| API omalla palvelimella | Niille, joilla on backend | Applen käyttöoikeus, HTTPS-osoite, suorituskykytesti |
| API RevenueCatin kautta | Sovelluksille, jotka jo käyttävät RevenueCatia | Applen käyttöoikeus, asetukset hallintapaneelissa |
Kun asetuksia on useita, Apple kertoo WWDC26-sessiossa järjestyksen: ensin reaaliaikainen vastaus. Jos se puuttuu tai on virheellinen, App Store Connectin asetus. Jos sitä ei ole, API:lla määritetty oletusviesti.
Omalla palvelimella
- Hae käyttöoikeutta Applen lomakkeella.
- Lähetä kuvasi ja sitten viestisi, jokaiselle otsikko ja teksti.
- Odota hyväksyntää ja määritä sitten oletusviesti jokaiselle tilaukselle ja kielelle.
- Reaaliaikaista käyttöä varten luo palvelimellesi
Get Retention Message-osoite ja ilmoita se sandboxissa. - Käynnistä suorituskykytesti sandboxissa testitransaktiolla.
- Kun testi on mennyt läpi, ilmoita tuotanto-osoitteesi.
RevenueCatilla
Tämän tavan valitsin: palvelinta ei tarvitse kirjoittaa, ja sovellukseni käyttävät jo RevenueCatia, kuten kerron artikkelissa RevenueCat ja iOS:n sovelluksen sisäinen tilaus. RevenueCatin dokumentaation mukaan:
- Applen lomakkeeseen annetaan osoite, jonka RevenueCat näyttää App Store -sovelluksesi asetuksissa.
- Hyväksynnän jälkeen avaa Lifecycle ja sitten Retention ja kytke sandbox-osoite.
- Käynnistä suorituskykytesti aktiivisella sandbox- tai TestFlight-tilauksella. Se voi kestää jopa tunnin.
- Luo ensin oletusviesti, kieli kerrallaan.
- Lisää sitten reaaliaikaisia viestejä sääntöjen kanssa. Yksi niistä, "Is in free trial", kohdistuu ilmaisella kokeilujaksolla oleviin.
- Siirry tuotantoon: sandboxin asetuksia ei siirretä, vaan viestit pitää luoda uudelleen.
Viesti, joka pitää tilaajan ansoittamatta
Teksti on kiinteä, ja Apple tarkistaa sen ennen näyttämistä. Se ei siis voi puhua lukijastaan eikä päivästä, jona hän sen lukee. Tässä TradaZenille valmistelemani oletusviesti (alkuperäinen on ranskaksi, tässä suomennettuna):
Otsikko (49 merkkiä):
Halusit oppia treidaamaan, ja lähdet nyt sokkona?
Teksti (130 merkkiä):
Ilman harjoittelua oikea rahasi maksaa jokaisen virheen. Täällä ne eivät maksa mitään. Putkesi, liigasi ja oppituntisi pysähtyvät.
Säännöt, jotka asetin neljälle sovellukselleni:
- Otsikko palauttaa ihmisen hänen tavoitteeseensa kysymyksen muodossa. Se ei häpäise häntä.
- Teksti kertoo tarkalleen, mikä loppuu. Kirjoitan, että pääsy "lukittuu", kun tiedot säilyvät, en koskaan, että ne "poistetaan".
- Ei aikasanoja kuten "huomenna" tai "tänään": sama teksti näkyy mihin aikaan tahansa jakson aikana.
- Ei lupauksia tuotoista eikä keinotekoista kiirettä. Ensimmäinen otsikko, joka lupasi elämän muuttuvan treidauksen ansiosta, karsittiin ennen lähettämistä. Guideline 5.6 kieltää kaiken manipuloivan toiminnan, ja TradaZenin paywall on jo hylätty juuri tästä syystä, kuten kerron artikkelissa guideline 5.6 ja paywall.
- Jokaisella kielellä on oma tekstinsä käännetyn sovelluksen sanastolla, ja merkit lasketaan tarkasti.
TradaZenille suunnittelen myös reaaliaikaisen viestin niille, jotka kokeilevat vuositilausta. Se tarjoaa halvemman vuosivaihtoehdon samasta ryhmästä, koska lukuni näyttävät, että nämä ihmiset käyttävät sovellusta yhtä paljon kuin maksavat käyttäjät: he torjuvat hinnan. Tämä asetus odottaa Applen hyväksyntää.
Mitä siltä voi odottaa
Älä odota ihmettä. Apple kutsuu pelastusasteeksi (save rate) sitä osuutta tilaajista, jotka pitävät tilauksensa päästyään vahvistussivulle. WWDC26-sessiossa Apple kertoo, että Retention Messagingin käyttöön ottaneet tilaukset nostavat tätä astetta keskimäärin 1,4 prosenttiyksikköä. Kampanjatarjouksen sisältävät viestit tuottavat suurimman havaitun nousun, 5,5 prosenttiyksikköä, ja tulokset vaihtelevat kehittäjästä toiseen. RevenueCatin tutkimuksen mukaan taas tilaajat hyväksyvät vain noin 1,1 % kampanjatarjouksista ja 0,6 % tilausvaihtoehdon vaihdoista.
Viesti ei siis korvaa aiempaa työtä. Ilmainen kokeilu, joka perutaan heti ensimmäisellä minuutilla, ratkeaa paywallissa ja ensimmäisillä käyttökerroilla: syyt ja keinot ovat oppaassani perutusta ilmaisesta kokeilusta, ja kokeilun luominen esittelytarjouksessa.
Valmistele tilauksesi ennen viestiä
iOS & Android Kit pohjautuu sovellusteni lähtökoodiin: onboarding, paywall ja tilaukset on jo koodattu, ja neljän vaiheen polku vie sinut App Storeen omaan tahtiisi. Koko ketju App Store Connectin tuotteista paywalliin on kuvattu sivulla iOS:n sovelluksen sisäinen tilaus.
Jos valmistelet ensimmäistä julkaisuasi, tee ilmainen diagnoosi: se kertoo, mikä projektiasi oikeasti jarruttaa, ja lähettää sinulle tarkistuslistani Applen hylkäysten välttämiseen.
Usein kysytyt kysymykset
Mikä on Applen Retention Messaging API?
Se on palvelinten välinen palvelu, joka valitsee tilaajalle näytettävän viestin, kun hän napauttaa Cancel Subscription. Viesti näkyy vahvistussivulla ennen perumista. Se voi muistuttaa tilauksen arvosta tai tarjota toista tilausvaihtoehtoa tai kampanjatarjousta.
Onko Retention Messaging kaikkien kehittäjien käytettävissä?
API on esiversio, ja käyttöoikeutta haetaan Applelta. WWDC26:ssa Apple ilmoitti App Store Connectiin kaikille avoimesta moduulista, jonka on määrä tulla syksyllä 2026. 3. marraskuuta 2026 App Store Connectin ohjeet eivät vielä kuvaa sitä.
Millä iOS-versioilla viesti näkyy?
iOS 15.1:ssä ja iPadOS 15.1:ssä tai uudemmissa, visionOS 1:ssä sekä macOS 14:ssä tai uudemmissa. Vanhemmalla laitteella peruminen tapahtuu ilman viestiä.
Estääkö viesti tilaajaa perumasta?
Ei. Vahvistussivulla on aina perumispainike. Tilaaja voi myös pitää tilauksensa tai hyväksyä tarjotun tarjouksen tai tilausvaihtoehdon.
Voiko perumisen hetkellä tarjota alennusta?
Kyllä. API:lla se on kampanjatarjousviesti, ja vain reaaliaikaisena: tarjous luodaan App Store Connectissa ja palvelimesi allekirjoittaa sen. Myös App Store Connectiin luvattu moduuli mahdollistaa tarjouksellisen viestin. Tilausvaihtoehdon vaihto puolestaan tarjoaa toista tilausta samasta ryhmästä.
Montako merkkiä pitoviestissä saa olla?
Otsikossa enintään 66 merkkiä, tekstissä 144. Voit lisätä enintään viisi luettelomerkkiä ja PNG-kuvan ilman läpinäkyvyyttä. Jokainen kieli tarvitsee oman oletusviestinsä.
Tarvitaanko Retention Messagingiin palvelin?
Oletusviestejä varten ei tarvitse ylläpitää omaa osoitetta: riittää, että kutsut API:a lähettääksesi ja määrittääksesi ne. RevenueCatia käyttäessä se toimii palvelimena. Reaaliaikainen käyttö vaatii HTTPS-osoitteen, joka vastaa alle 700 ms:ssa. App Store Connectiin luvattu moduuli säädetään ilman koodia.

