# Retention Messaging API: meldingen før oppsigelsen

> Apples Retention Messaging API viser meldingen din når en abonnent trykker Cancel Subscription. Her er formater, krav, tilgang og oppsett.

Opprinnelig side: [Retention Messaging API: meldingen før oppsigelsen](https://devoria.fr/no/blog/retention-messaging-api-apple-oppsigelse)
Forfatter: [Mehdi Azizi](https://devoria.fr/no/mehdi-azizi)
Publisert: 2026-11-04
Innhold sist revidert: 2026-11-04


Retention Messaging API er en tjeneste fra Apple, server til server, som viser meldingen din til en abonnent i det øyeblikket hen trykker Cancel Subscription. Meldingen dukker opp på en bekreftelsesside før oppsigelsen er fullført. **Den kan minne om verdien av abonnementet ditt, foreslå et annet abonnement eller et kampanjetilbud, men knappen for å si opp er alltid der.** API-et har vært i forhåndsversjon siden juli 2025, og du må søke om tilgang. Apple har varslet en enklere versjon i App Store Connect høsten 2026.

Denne guiden forklarer hva API-et viser, hvor lenge det har eksistert, hvem som kan bruke det, hvilke krav som gjelder og hvordan du setter det opp. Alt kommer fra Apples dokumentasjon og WWDC26-sesjonen om temaet, gjennomgått 3. november 2026.

Jeg selger abonnementer i iOS-appene mine: Solys, en blokkering av sosiale medier, TradaZen, en tradingsimulator, Nolera, en app for å prøve antrekk med KI, og Vigie. Jeg søkte om tilgang til API-et for alle fire 25. oktober 2026, og laget meldingene på alle språkene deres. Per 28. oktober hadde Apple ennå ikke godkjent søknaden. Denne guiden beskriver altså reglene og forberedelsene mine, ikke resultater ennå.

## Hva Retention Messaging API gjør

Ifølge [Apples dokumentasjon](https://developer.apple.com/documentation/retentionmessaging) lar API-et deg velge meldingen systemet viser når en kunde åpner detaljsiden for et abonnement og kanskje er i ferd med å si opp. Du lager meldingene på forhånd, for hvert produkt og hvert språk.

Flyten er alltid den samme:

1. Abonnenten åpner abonnementet sitt, for eksempel under Apple Account, Subscriptions, eller fra App Store.
2. Hen trykker Cancel Subscription.
3. Systemet viser en bekreftelsesside (Confirm Cancellation) med meldingen din.
4. Hen kan si opp likevel, beholde abonnementet eller takke ja til det meldingen tilbyr.

Meldingen vises på iOS 15.1 og iPadOS 15.1 eller nyere, på visionOS 1 og på macOS 14 eller nyere.

## Siden når, og for hvem

| Dato          | Hva som endres, ifølge Apple                                 |
| ------------- | ------------------------------------------------------------ |
| 16. juli 2025 | Versjon 1.0: første forhåndsversjon av API-et                |
| 9. des. 2025  | Ytelsestest av serveren for sanntid                          |
| 31. mars 2026 | Punkter i meldingene, sanntidsadressen kan settes via API-et |
| 27. apr. 2026 | Støtte for månedsabonnementer med 12 måneders binding        |
| Juni 2026     | WWDC26: en modul i App Store Connect blir annonsert          |

Datoene kommer fra [API-ets endringslogg](https://developer.apple.com/documentation/retentionmessaging/retention-messaging-changelog), bortsett fra den siste, som er hentet fra WWDC26-sesjonen. API-et er fortsatt en forhåndsversjon: dokumentasjonen viser til et [skjema for å søke om tilgang](https://developer.apple.com/contact/request/retention-messaging-api/), som krever at du logger inn på utviklerkontoen din.

På WWDC26 presenterer sesjonen [Explore Retention Messaging in App Store Connect](https://developer.apple.com/videos/play/wwdc2026/309/) en modul i App Store Connect som du stiller inn uten kode. Apple sier den er «åpen for alle». Sanntidsversjonen krever fortsatt søknad. [Siden med nyheter for App Store](https://developer.apple.com/app-store/whats-new/) varsler modulen til «i høst». **Per 3. november 2026 har App Store Connect-hjelpen ennå ingen side om den, og modulen dukket ikke opp i kontoen min 28. oktober.**

API-et gjelder apper som selger et abonnement med automatisk fornyelse. Det er ikke forbeholdt store utgivere: RevenueCat skriver i sin [studie av 22 millioner meldinger](https://www.revenuecat.com/blog/growth/apple-retention-messaging-benchmarks) at små apper også kan søke om tilgang.

## De 4 meldingstypene

| Type                | Hva abonnenten ser                                     | Standardmelding | Sanntid |
| ------------------- | ------------------------------------------------------ | --------------- | ------- |
| Tekst               | En tittel, en tekst, opptil fem punkter                | Ja              | Ja      |
| Tekst med bilde     | Det samme, med et bilde                                | Ja              | Ja      |
| Bytte av abonnement | En tekst og et annet abonnement i samme gruppe         | Nei             | Ja      |
| Kampanjetilbud      | En tekst og et tilbud om å fortsette til redusert pris | Nei             | Ja      |

Ifølge siden om [hvordan du lager meldingene](https://developer.apple.com/documentation/retentionmessaging/setting-up-retention-messages) kan en standardmelding bare være tekst, med eller uten bilde. **Med API-et må du svare i sanntid for å tilby et tilbud eller et annet abonnement.** Modulen som er varslet i App Store Connect, vil derimot tilby en melding med tilbud uten server.

Kampanjetilbudet er det du lager i App Store Connect. Ifølge [hjelpesiden om kampanjetilbud](https://developer.apple.com/help/app-store-connect/manage-subscriptions/set-up-promotional-offers-for-auto-renewable-subscriptions) retter det seg mot nåværende og tidligere abonnenter. I en oppbevaringsmelding er det serveren din som signerer det, ifølge siden om å lage meldingene. Bytte av abonnement foreslår et abonnement i samme gruppe. Hvis du er ny med slike tilbud, les først guiden min om [tilbudskoder og kampanjetilbud](https://devoria.fr/no/blog/offer-codes-app-store-connect-rabattkode).

## Hva du kan vise: de nøyaktige grensene

| Element             | Apples grense                                                  |
| ------------------- | -------------------------------------------------------------- |
| Tittel              | Maks 66 tegn                                                   |
| Tekst               | Maks 144 tegn                                                  |
| Punkter             | Maks 5                                                         |
| Bilde i full bredde | PNG uten gjennomsiktighet, 3840 px bredt, 160 til 2160 px høyt |
| Punktbilde          | 1024 × 1024 px                                                 |
| Bilder per app      | Maks 2000                                                      |

Lengdene kommer fra beskrivelsen av [forespørselskroppen for å sende en melding](https://developer.apple.com/documentation/retentionmessaging/uploadmessagerequestbody), og formatene fra siden om [opplasting av bilde](https://developer.apple.com/documentation/retentionmessaging/upload-image). Apple krever også bilder som fungerer like godt i lys som i mørk modus.

Hver melding og hvert bilde blir gjennomgått av Apple. Statusen går fra `PENDING` til `APPROVED`, og systemet viser bare det som er godkjent. I sandkassen skjer godkjenningen automatisk. Dokumentasjonen har en klar innholdsregel: ikke send noe villedende eller uriktig.

## Kravene du må oppfylle

- **En standardmelding for hvert produkt, på hvert språk.** Uten den vises ingenting på det språket. Den er også reservehjulet hvis serveren din ikke svarer.
- **Godkjente meldinger og bilder** før noe går live.
- **For sanntid, en rask server.** Siden om [oppsett av sanntidsadressen](https://developer.apple.com/documentation/retentionmessaging/setting-up-retention-messaging-endpoint) krever et gyldig SSL-sertifikat, TLS 1.2 og svar på under 700 ms i produksjon. Tar det lenger tid, feiler forespørselen og standardmeldingen vises.
- **En bestått ytelsestest i sandkassen** før du registrerer produksjonsadressen din.
- **En kontroll av appen.** Hver forespørsel fra Apple inneholder appens ID, `appAppleId`. Hvis den ikke stemmer med din, ber Apple deg om ikke å svare.

Sanntidsforespørselen gir deg ID-en til den opprinnelige transaksjonen, produktet og enhetens språk. Det er opp til deg å velge meldingen, etter dine egne regler.

## Sette opp Retention Messaging: tre veier

| Vei                       | For hvem                             | Hva som trengs                                |
| ------------------------- | ------------------------------------ | --------------------------------------------- |
| Modul i App Store Connect | Alle, når den er lansert             | Ingen kode; tekst, bilde eller tilbud         |
| API, med egen server      | De som har en backend                | Tilgang fra Apple, HTTPS-adresse, ytelsestest |
| API, via RevenueCat       | Apper som allerede bruker RevenueCat | Tilgang fra Apple, innstillinger i dashbordet |

Når flere innstillinger finnes samtidig, forklarer Apple i WWDC26-sesjonen rekkefølgen: sanntidssvaret først. Mangler det eller er feilformatert, gjelder innstillingen i App Store Connect. Finnes ikke den, brukes standardmeldingen satt opp via API-et.

### Med din egen server

1. Søk om tilgang med Apples skjema.
2. Last opp bildene dine, deretter meldingene, med en tittel og en tekst til hver.
3. Vent på godkjenning, og registrer så en standardmelding for hvert abonnement og hvert språk.
4. For sanntid: lag adressen `Get Retention Message` på serveren din og registrer den i sandkassen.
5. Kjør [ytelsestesten](https://developer.apple.com/documentation/retentionmessaging/initiate-performance-test) i sandkassen med en testtransaksjon.
6. Når testen er bestått, registrerer du produksjonsadressen.

### Med RevenueCat

Det er denne veien jeg valgte: ingen server å skrive, og appene mine går allerede via RevenueCat, som jeg forklarer i [RevenueCat og in-app-abonnement på iOS](https://devoria.fr/no/blog/revenuecat-abonnement-ios-app). Ifølge [RevenueCats dokumentasjon](https://www.revenuecat.com/docs/platform-resources/apple-platform-resources/apple-retention-messaging-api):

1. I Apples skjema oppgir du adressen RevenueCat viser i innstillingene for App Store-appen din.
2. Etter godkjenningen åpner du Lifecycle, så Retention, og kobler til sandkasseadressen.
3. Kjør ytelsestesten med et aktivt sandkasse- eller TestFlight-abonnement. Den kan ta opptil en time.
4. Lag først en standardmelding, språk for språk.
5. Legg så til sanntidsmeldinger med regler. En av dem, «Is in free trial», retter seg mot dem som er i gratis prøveperiode.
6. Gå over til produksjon: innstillingene fra sandkassen blir ikke overført, så du må lage meldingene på nytt.

## Skriv en melding som beholder uten å lure

Teksten er fast og gjennomgås av Apple før den vises. Den kan derfor ikke handle om personen som leser den, eller om dagen hen leser den. Her er standardmeldingen jeg har laget for TradaZen, opprinnelig på fransk, her på norsk:

```text
Tittel (52 tegn):
Ville du lære å trade, og nå går du videre i blinde?

Tekst (124 tegn):
Uten trening betaler de ekte pengene dine for hver feil. Her koster de ingenting. Serien, ligaen og leksjonene dine stopper.
```

Reglene jeg har satt for de fire appene mine:

- **Tittelen minner personen om målet sitt**, i form av et spørsmål. Den skal ikke skamme hen ut.
- **Teksten sier nøyaktig hva som stopper.** Jeg skriver at tilgangen «låses» når dataene blir liggende, aldri at de blir «slettet».
- **Ingen tidsord** som «i morgen» eller «i dag»: den samme teksten vises når som helst i perioden.
- **Ingen løfter om gevinst**, ingen falsk hast. En første tittel som lovet et nytt liv takket være trading, ble forkastet før innsending. [Guideline 5.6](https://developer.apple.com/app-store/review/guidelines/#5.6) forbyr all manipulerende praksis, og TradaZen-paywallen har allerede blitt avvist av den grunn, som jeg forteller om i [guideline 5.6 og paywallen](https://devoria.fr/no/blog/guideline-5-6-paywall-app-avvist).
- **Hvert språk har sin egen tekst**, med ordforrådet fra den oversatte appen, og telt helt ned på tegnet.

For TradaZen planlegger jeg også en sanntidsmelding til dem som er i prøveperiode på årsabonnementet. Den vil foreslå et billigere årsabonnement i samme gruppe, fordi tallene mine viser at disse bruker appen like mye som de som betaler: det er prisen de sier nei til. Denne innstillingen venter på godkjenning fra Apple.

## Hva du kan forvente

Ikke regn med et mirakel. Apple kaller andelen abonnenter som beholder abonnementet etter å ha kommet til bekreftelsessiden, for redningsrate (save rate). I WWDC26-sesjonen sier Apple at abonnementer som har tatt i bruk Retention Messaging, i snitt øker denne raten med 1,4 prosentpoeng. Meldinger med kampanjetilbud gir den beste observerte økningen, 5,5 poeng, og resultatene varierer fra utvikler til utvikler. RevenueCats studie viser på sin side at abonnenter bare godtar rundt 1,1 % av kampanjetilbudene og 0,6 % av abonnementsbyttene.

Meldingen erstatter altså ikke jobben som gjøres tidligere. En gratis prøveperiode som sies opp etter ett minutt, avgjøres av paywallen og de første øktene: årsakene og grepene finner du i guiden min om [avbrutt gratis prøveperiode](https://devoria.fr/no/blog/provperiode-avsluttet-med-en-gang-arsaker-tiltak), og hvordan du lager prøveperioden i [introduksjonstilbudet](https://devoria.fr/no/blog/introductory-offer-ios-gratis-proveperiode).

## Gjør abonnementet ditt klart før meldingen

[iOS & Android Kit](https://devoria.fr/no/kits/ios) bygger på startkoden til appene mine: onboarding, paywall og abonnementer er allerede kodet, og løpet i fire steg tar deg helt til App Store, i ditt eget tempo. Hele kjeden, fra produktene i App Store Connect til paywallen, er beskrevet på siden om [in-app-abonnement på iOS](https://devoria.fr/no/expertise/abonnement-i-app-ios).

Hvis du forbereder din første lansering, [ta den gratis diagnosen](https://devoria.fr/no/diagnostic): den forteller deg hva som egentlig stopper prosjektet ditt, og sender deg sjekklisten min mot avvisninger fra Apple.

## Ofte stilte spørsmål

### Hva er Apples Retention Messaging API?

Det er en tjeneste fra server til server som velger meldingen en abonnent ser når hen trykker Cancel Subscription. Meldingen vises på en bekreftelsesside før oppsigelsen. Den kan minne om verdien av abonnementet, foreslå et annet abonnement eller et kampanjetilbud.

### Er Retention Messaging tilgjengelig for alle utviklere?

API-et er en forhåndsversjon, og du må søke Apple om tilgang. På WWDC26 annonserte Apple en modul i App Store Connect, åpen for alle, planlagt til høsten 2026. Per 3. november 2026 beskriver App Store Connect-hjelpen den ennå ikke.

### Hvilke iOS-versjoner viser meldingen?

iOS 15.1 og iPadOS 15.1 eller nyere, visionOS 1 og macOS 14 eller nyere. På en eldre enhet skjer oppsigelsen uten melding.

### Hindrer meldingen abonnenten i å si opp?

Nei. Bekreftelsessiden har alltid en knapp for å si opp. Abonnenten kan også beholde abonnementet, eller takke ja til tilbudet eller abonnementet som foreslås.

### Kan man tilby rabatt i det øyeblikket noen sier opp?

Ja. Med API-et er det en melding med kampanjetilbud, kun i sanntid: tilbudet lages i App Store Connect og signeres av serveren din. Modulen som er varslet i App Store Connect, gir også mulighet for en melding med tilbud. Bytte av abonnement foreslår derimot et annet abonnement i samme gruppe.

### Hvor mange tegn kan en oppbevaringsmelding ha?

Tittelen kan ha maks 66 tegn, teksten 144. Du kan legge til opptil fem punkter og et PNG-bilde uten gjennomsiktighet. Hvert språk trenger sin egen standardmelding.

### Trenger man en server for å bruke Retention Messaging?

Du trenger ingen adresse å hoste for standardmeldingene: det holder å kalle API-et for å laste dem opp og registrere dem. Med RevenueCat er det RevenueCat som fungerer som server. Sanntid krever en HTTPS-adresse som svarer på under 700 ms. Modulen som er varslet i App Store Connect, stilles inn uten kode.


## Prosjektet ditt

[iOS & Android Kit](https://devoria.fr/no/kits/ios): Lag din iPhone- og Android-app med Claude Code: startkoden fra appene mine, veien helt til butikkene og alle kitene. 999 kr.

[Diagnose: dette står mellom deg og iPhone-appen din](https://devoria.fr/no/diagnostic): 7 spørsmål, 60 sekunder: du får vite hva som egentlig hindrer deg i å publisere iPhone-appen din, veien din i 4 steg og kitet som passer deg.
