Retention Messaging API Apple: mesej sebelum pembatalan
Oleh Mehdi Azizi
Diterbitkan pada , 10 min
Retention Messaging API Apple memaparkan mesej anda apabila pelanggan menekan Cancel Subscription. Format, syarat, akses dan cara menyediakannya.
Retention Messaging API ialah perkhidmatan Apple dari pelayan ke pelayan. Ia memaparkan mesej anda kepada pelanggan langganan sebaik sahaja dia menekan Cancel Subscription. Mesej itu muncul pada halaman pengesahan, sebelum pembatalan disahkan. Mesej itu boleh mengingatkan nilai langganan anda, menawarkan pelan lain atau tawaran promosi, tetapi butang untuk membatalkan sentiasa ada. API ini berstatus pratonton sejak Julai 2025, dengan akses atas permintaan, dan Apple telah mengumumkan versi yang lebih mudah dalam App Store Connect untuk musim luruh 2026.
Panduan ini menerangkan apa yang dipaparkan oleh API, sejak bila ia wujud, siapa yang boleh menggunakannya, syaratnya dan cara menyediakannya. Semuanya diambil daripada dokumentasi Apple dan sesi WWDC26 tentangnya, yang saya semak semula pada 3 November 2026.
Saya menjual langganan dalam aplikasi iOS saya: Solys, penyekat media sosial, TradaZen, simulator trading, Nolera, aplikasi cuba pakaian dengan AI, dan Vigie. Saya memohon akses API untuk keempat-empatnya pada 25 Oktober 2026, dan menyediakan mesej dalam semua bahasa mereka. Pada 28 Oktober, kelulusan Apple masih belum tiba: jadi panduan ini menerangkan peraturan dan persediaan saya, belum lagi keputusannya.
Apa yang dilakukan oleh Retention Messaging API
Menurut dokumentasi Apple, API ini membolehkan anda memilih mesej yang dipaparkan oleh sistem apabila pelanggan membuka halaman butiran langganan dan mungkin bersedia untuk membatalkannya. Anda menyediakan mesej terlebih dahulu, untuk setiap produk dan setiap bahasa.
Alirannya sentiasa sama:
- Pelanggan membuka langganannya, contohnya dalam Apple Account, Subscriptions, atau dari App Store.
- Dia menekan Cancel Subscription.
- Sistem memaparkan halaman pengesahan (Confirm Cancellation), bersama mesej anda.
- Dia boleh tetap membatalkan, mengekalkan langganannya, atau menerima apa yang ditawarkan oleh mesej anda.
Mesej ini kelihatan pada iOS 15.1 dan iPadOS 15.1 atau lebih baharu, pada visionOS 1 dan pada macOS 14 atau lebih baharu.
Sejak bila, dan untuk siapa
| Tarikh | Apa yang berubah, menurut Apple |
|---|---|
| 16 Jul 2025 | Versi 1.0: pratonton pertama API |
| 9 Dis 2025 | Ujian prestasi pelayan untuk masa nyata |
| 31 Mac 2026 | Senarai butir dalam mesej, tetapan alamat masa nyata melalui API |
| 27 Apr 2026 | Sokongan langganan bulanan dengan komitmen 12 bulan |
| Jun 2026 | WWDC26: pengumuman modul dalam App Store Connect |
Tarikh-tarikh ini diambil daripada log versi API, kecuali yang terakhir, yang diambil daripada sesi WWDC26. API ini masih pratonton: dokumentasi merujuk kepada borang permohonan akses, yang memerlukan anda log masuk ke akaun pembangun anda.
Di WWDC26, sesi Explore Retention Messaging in App Store Connect memperkenalkan modul yang boleh ditetapkan tanpa kod, dalam App Store Connect. Apple menyatakan ia "terbuka kepada semua". Versi masa nyata pula kekal atas permintaan. Halaman berita terkini App Store mengumumkan modul ini untuk "musim luruh ini". Pada 3 November 2026, bantuan App Store Connect masih belum mempunyai sebarang halaman tentangnya, dan modul itu tidak muncul dalam akaun saya pada 28 Oktober.
API ini untuk aplikasi yang menjual langganan auto-pembaharuan. Ia bukan hanya untuk penerbit besar: RevenueCat menyatakan dalam kajiannya terhadap 22 juta mesej bahawa aplikasi kecil juga boleh memohon akses.
4 jenis mesej
| Jenis | Apa yang dilihat pelanggan | Mesej lalai | Masa nyata |
|---|---|---|---|
| Teks | Tajuk, teks, sehingga lima butir senarai | Ya | Ya |
| Teks dengan imej | Sama seperti di atas, dengan imej | Ya | Ya |
| Tukar pelan | Teks dan langganan lain dalam kumpulan yang sama | Tidak | Ya |
| Tawaran promosi | Teks dan tawaran untuk meneruskan pada harga lebih rendah | Tidak | Ya |
Menurut halaman tentang penyediaan mesej, mesej lalai hanya boleh berupa teks, dengan atau tanpa imej. Dengan API, menawarkan tawaran atau pelan lain memerlukan respons masa nyata. Modul yang diumumkan dalam App Store Connect pula akan membolehkan mesej dengan tawaran, tanpa pelayan.
Tawaran promosi ialah tawaran yang anda cipta dalam App Store Connect. Menurut bantuan tentang tawaran promosi, ia menyasarkan pelanggan semasa dan bekas pelanggan. Dalam mesej pengekalan, pelayan anda yang menandatanganinya, menurut halaman tentang penyediaan mesej. Pertukaran pelan menawarkan langganan dalam kumpulan yang sama. Jika anda baru dengan tawaran ini, baca dahulu panduan saya tentang kod tawaran dan tawaran promosi.
Apa yang boleh anda paparkan: had yang tepat
| Elemen | Had Apple |
|---|---|
| Tajuk | Maksimum 66 aksara |
| Teks | Maksimum 144 aksara |
| Butir senarai | Maksimum 5 |
| Imej lebar penuh | PNG tanpa ketelusan, lebar 3,840 px, tinggi 160 hingga 2,160 |
| Imej butir senarai | 1,024 × 1,024 px |
| Imej setiap app | Maksimum 2,000 |
Panjang teks diambil daripada penerangan badan permintaan untuk menghantar mesej, dan format imej daripada halaman tentang menghantar imej. Apple juga meminta imej yang berfungsi dengan baik dalam mod terang dan mod gelap.
Setiap mesej dan setiap imej disemak oleh Apple. Statusnya bertukar daripada PENDING kepada APPROVED, dan sistem hanya memaparkan yang telah diluluskan. Dalam sandbox, kelulusan adalah automatik. Dokumentasi menetapkan peraturan kandungan yang jelas: jangan hantar apa-apa yang mengelirukan atau tidak tepat.
Syarat yang perlu dipenuhi
- Satu mesej lalai untuk setiap produk, dalam setiap bahasa. Tanpanya, tiada apa yang dipaparkan dalam bahasa itu. Ia juga sandaran jika pelayan anda tidak membalas.
- Mesej dan imej yang diluluskan sebelum apa-apa dilancarkan.
- Untuk masa nyata, pelayan yang pantas. Halaman tentang penyediaan alamat masa nyata memerlukan sijil SSL yang sah, TLS 1.2 dan respons dalam masa kurang daripada 700 ms dalam produksi. Melebihi itu, permintaan gagal dan mesej lalai dipaparkan.
- Ujian prestasi yang berjaya dalam sandbox, sebelum anda mendaftarkan alamat produksi anda.
- Pengesahan aplikasi. Setiap permintaan Apple mengandungi pengecam aplikasi,
appAppleId. Jika ia tidak sepadan dengan milik anda, Apple meminta anda tidak membalas.
Permintaan masa nyata memberi anda pengecam transaksi asal, produk dan bahasa peranti. Terpulang kepada anda untuk memilih mesej, mengikut peraturan anda.
Menyediakan Retention Messaging: tiga cara
| Cara | Untuk siapa | Apa yang diperlukan |
|---|---|---|
| Modul App Store Connect | Semua orang, setelah dilancarkan | Tiada kod; teks, imej atau tawaran |
| API, dengan pelayan anda | Mereka yang mempunyai back-end | Akses Apple, alamat HTTPS, ujian prestasi |
| API, melalui RevenueCat | Aplikasi yang sudah guna RevenueCat | Akses Apple, tetapan dalam papan pemuka |
Apabila beberapa tetapan wujud serentak, Apple menerangkan dalam sesi WWDC26 urutan yang diikuti: respons masa nyata dahulu. Jika tiada atau formatnya salah, tetapan App Store Connect. Jika itu tiada, mesej lalai yang dikonfigurasi melalui API.
Dengan pelayan anda sendiri
- Mohon akses melalui borang Apple.
- Hantar imej anda, kemudian mesej anda, dengan tajuk dan teks untuk setiap satu.
- Tunggu kelulusannya, kemudian daftarkan mesej lalai untuk setiap langganan dan setiap bahasa.
- Untuk masa nyata, cipta alamat
Get Retention Messagepada pelayan anda dan daftarkannya dalam sandbox. - Jalankan ujian prestasi, dalam sandbox, dengan transaksi ujian.
- Setelah ujian berjaya, daftarkan alamat produksi anda.
Dengan RevenueCat
Inilah cara yang saya pilih: tiada pelayan untuk ditulis, dan aplikasi saya sudah pun menggunakan RevenueCat, seperti yang saya terangkan dalam RevenueCat dan langganan dalam aplikasi iOS. Menurut dokumentasi RevenueCat:
- Dalam borang Apple, alamat yang perlu diberikan ialah alamat yang dipaparkan oleh RevenueCat dalam tetapan aplikasi App Store anda.
- Selepas kelulusan, buka Lifecycle, kemudian Retention, dan sambungkan alamat sandbox.
- Jalankan ujian prestasi dengan langganan sandbox atau TestFlight yang aktif. Ia boleh mengambil masa sehingga satu jam.
- Cipta mesej lalai dahulu, bahasa demi bahasa.
- Kemudian tambah mesej masa nyata, dengan peraturan. Salah satunya, "Is in free trial", menyasarkan orang yang sedang dalam percubaan percuma.
- Beralih ke produksi: tetapan sandbox tidak dibawa bersama, anda perlu mencipta semula mesej.
Menulis mesej yang mengekalkan pelanggan tanpa memerangkap
Teksnya tetap dan disemak oleh Apple sebelum dipaparkan. Jadi ia tidak boleh bercakap tentang orang yang membacanya, atau hari dia membacanya. Ini mesej lalai yang saya sediakan untuk TradaZen, dalam versi Bahasa Melayu:
Tajuk (59 aksara):
Anda mahu belajar trading, tetapi kini pergi tanpa latihan?
Teks (139 aksara):
Tanpa latihan, wang sebenar anda membayar setiap kesilapan. Di sini, ia tidak menelan sebarang kos. Siri, liga dan pelajaran anda terhenti.
Peraturan yang saya tetapkan untuk keempat-empat aplikasi saya:
- Tajuk mengingatkan orang itu kepada matlamatnya, dalam bentuk soalan. Ia tidak memalukannya.
- Teks menyatakan dengan tepat apa yang terhenti. Saya tulis bahawa akses "dikunci" apabila data kekal, bukan bahawa ia akan "dipadam".
- Tiada perkataan masa seperti "esok" atau "hari ini": teks yang sama dipaparkan pada bila-bila masa dalam tempoh itu.
- Tiada janji keuntungan, tiada desakan palsu. Tajuk pertama yang menjanjikan perubahan hidup melalui trading telah dibuang sebelum dihantar. Guideline 5.6 melarang sebarang amalan manipulatif, dan paywall TradaZen pernah ditolak atas sebab ini, seperti yang saya ceritakan dalam guideline 5.6 dan paywall.
- Setiap bahasa mempunyai teksnya sendiri, menggunakan perbendaharaan kata aplikasi yang diterjemah, dan dikira tepat sehingga setiap aksara.
Untuk TradaZen, saya juga merancang mesej masa nyata untuk orang yang sedang dalam percubaan langganan tahunan. Ia akan menawarkan pelan tahunan yang lebih murah dalam kumpulan yang sama, kerana angka saya menunjukkan orang ini menggunakan aplikasi sama banyak dengan mereka yang membayar: harganya yang mereka tolak. Tetapan ini menunggu kelulusan Apple.
Apa yang boleh dijangka
Jangan harapkan keajaiban. Apple memanggil kadar penyelamatan sebagai bahagian pelanggan yang mengekalkan langganan mereka setelah tiba di halaman pengesahan. Dalam sesi WWDC26, Apple menyatakan bahawa langganan yang menggunakan Retention Messaging meningkat secara purata 1.4 mata bagi kadar ini. Mesej dengan tawaran promosi mencatat peningkatan terbaik yang diperhatikan, 5.5 mata, dan keputusan berbeza antara pembangun. Kajian RevenueCat pula mendapati pelanggan hanya menerima kira-kira 1.1% tawaran promosi dan 0.6% pertukaran pelan.
Jadi mesej ini tidak menggantikan kerja di peringkat awal. Percubaan percuma yang dibatalkan dalam masa seminit ditentukan oleh paywall dan sesi pertama: punca dan penyelesaiannya ada dalam panduan saya tentang percubaan percuma yang dibatalkan, dan cara mencipta percubaan dalam tawaran pengenalan.
Sediakan langganan anda sebelum mesej
iOS & Android Kit bermula daripada kod permulaan aplikasi saya: onboarding, paywall dan langganan sudah dikodkan, dan laluan empat langkah membawa anda sehingga ke App Store, mengikut rentak anda. Keseluruhan rantaian, daripada produk dalam App Store Connect hingga paywall, diterangkan di halaman langganan dalam aplikasi iOS.
Jika anda sedang menyediakan pelancaran pertama anda, buat diagnostik percuma anda: ia memberitahu anda apa yang sebenarnya menghalang projek anda dan menghantar senarai semak anti-penolakan Apple saya.
Soalan lazim
Apakah Retention Messaging API Apple?
Ia ialah perkhidmatan dari pelayan ke pelayan yang memilih mesej yang dipaparkan kepada pelanggan apabila dia menekan Cancel Subscription. Mesej dipaparkan pada halaman pengesahan, sebelum pembatalan. Ia boleh mengingatkan nilai langganan, menawarkan pelan lain atau tawaran promosi.
Adakah Retention Messaging tersedia untuk semua pembangun?
API ini ialah pratonton, dengan akses atas permintaan kepada Apple. Di WWDC26, Apple mengumumkan modul dalam App Store Connect, terbuka kepada semua, yang dijadualkan untuk musim luruh 2026. Pada 3 November 2026, bantuan App Store Connect belum menerangkannya.
Pada versi iOS mana mesej dipaparkan?
Pada iOS 15.1 dan iPadOS 15.1 atau lebih baharu, pada visionOS 1 dan pada macOS 14 atau lebih baharu. Pada peranti yang lebih lama, pembatalan berlaku tanpa mesej.
Adakah mesej ini menghalang pelanggan daripada membatalkan?
Tidak. Halaman pengesahan tetap mempunyai butang untuk membatalkan. Pelanggan juga boleh mengekalkan langganannya, atau menerima tawaran atau pelan yang dicadangkan.
Bolehkah anda menawarkan diskaun semasa pembatalan?
Ya. Dengan API, ia ialah mesej tawaran promosi, dalam masa nyata sahaja: tawaran dicipta dalam App Store Connect dan ditandatangani oleh pelayan anda. Modul yang diumumkan dalam App Store Connect juga membolehkan mesej dengan tawaran. Pertukaran pelan pula menawarkan langganan lain dalam kumpulan yang sama.
Berapa aksara untuk mesej pengekalan?
Tajuk maksimum 66 aksara, teks 144. Anda boleh menambah sehingga lima butir senarai dan satu imej PNG tanpa ketelusan. Setiap bahasa memerlukan mesej lalainya sendiri.
Adakah pelayan diperlukan untuk menggunakan Retention Messaging?
Tiada alamat yang perlu dihoskan untuk mesej lalai: anda hanya perlu memanggil API untuk menghantar dan mendaftarkannya. Dengan RevenueCat, ia yang memainkan peranan pelayan. Masa nyata memerlukan alamat HTTPS yang membalas dalam masa kurang daripada 700 ms. Modul yang diumumkan dalam App Store Connect boleh ditetapkan tanpa kod.

