Retention Messaging API من Apple: رسالة قبل إلغاء الاشتراك
بقلم Mehdi Azizi
نُشر في ، 10 د
تعرض Retention Messaging API من Apple رسالتك عندما يلمس المشترك Cancel Subscription. تعرّف على الأنواع والشروط وطريقة الحصول على الوصول والإعداد.
Retention Messaging API خدمة من Apple تعمل من خادم إلى خادم، وتعرض رسالتك على المشترك في اللحظة التي يلمس فيها Cancel Subscription. تظهر الرسالة في صفحة تأكيد قبل أن يُعتمد الإلغاء. يمكن أن تذكّره بقيمة اشتراكك، أو تقترح عليه خطة أخرى أو عرضًا ترويجيًا، لكن زر الإلغاء يبقى موجودًا دائمًا. الـAPI في مرحلة معاينة منذ يوليو 2025، ويتطلب استخدامها طلب وصول، وقد أعلنت Apple عن نسخة أبسط داخل App Store Connect في خريف 2026.
يشرح هذا الدليل ما تعرضه الـAPI، ومتى ظهرت، ومن يستطيع استخدامها، وشروطها، وطريقة إعدادها. كل المعلومات مأخوذة من توثيق Apple ومن جلسة WWDC26 المخصصة لها، وقد راجعتها في 3 نوفمبر 2026.
أبيع اشتراكات في تطبيقاتي على iOS: Solys لحظر الشبكات الاجتماعية، وTradaZen لمحاكاة التداول، وNolera لتجربة الملابس بالذكاء الاصطناعي، و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 | اختبار أداء الخادم للوقت الفعلي |
| 31 مارس 2026 | نقاط داخل الرسائل، وضبط عنوان الوقت الفعلي عبر الـAPI |
| 27 أبريل 2026 | دعم الاشتراكات الشهرية بالتزام لمدة 12 شهرًا |
| يونيو 2026 | WWDC26: الإعلان عن وحدة داخل App Store Connect |
التواريخ مأخوذة من سجل إصدارات الـAPI، ما عدا الأخير المأخوذ من جلسة WWDC26. ما زالت الـAPI في مرحلة معاينة: يحيلك التوثيق إلى نموذج طلب الوصول، الذي يتطلب تسجيل الدخول إلى حساب المطوّر.
في WWDC26، قدّمت جلسة Explore Retention Messaging in App Store Connect وحدة تُضبط دون كتابة كود داخل App Store Connect. تصفها Apple بأنها «متاحة للجميع». أما نسخة الوقت الفعلي فتبقى بطلب. وتعلن صفحة مستجدات App Store عن الوحدة «هذا الخريف». حتى 3 نوفمبر 2026، لا تخصص مساعدة App Store Connect أي صفحة لها، ولم تكن الوحدة ظاهرة في حسابي في 28 أكتوبر.
تخص الـAPI التطبيقات التي تبيع اشتراكًا يتجدد تلقائيًا. وهي ليست حكرًا على الناشرين الكبار: تذكر RevenueCat في دراستها لـ22 مليون رسالة أن التطبيقات الصغيرة تستطيع أيضًا طلب الوصول.
الأنواع الأربعة للرسائل
| النوع | ما يراه المشترك | رسالة افتراضية | وقت فعلي |
|---|---|---|---|
| نص | عنوان ونص وحتى خمس نقاط | نعم | نعم |
| نص مع صورة | الشيء نفسه مع صورة | نعم | نعم |
| تغيير الخطة | نص واشتراك آخر من المجموعة نفسها | لا | نعم |
| عرض ترويجي | نص وعرض للاستمرار بسعر مخفّض | لا | نعم |
بحسب صفحة تحضير الرسائل، لا يمكن أن تكون الرسالة الافتراضية إلا نصًا، مع صورة أو بدونها. مع الـAPI، يتطلب اقتراح عرض أو خطة أخرى أن تردّ في الوقت الفعلي. أما الوحدة المعلنة في App Store Connect فستتيح رسالة مع عرض دون خادم.
العرض الترويجي هو الذي تنشئه في App Store Connect. بحسب مساعدة العروض الترويجية، يستهدف المشتركين الحاليين والسابقين. وفي رسالة الاحتفاظ، خادمك هو من يوقّعه، بحسب صفحة تحضير الرسائل. أما تغيير الخطة فيقترح اشتراكًا من المجموعة نفسها. إن كنت جديدًا على هذه العروض، فاقرأ أولًا دليلي عن أكواد العروض والعروض الترويجية.
ما يمكنك عرضه: الحدود الدقيقة
| العنصر | حدّ Apple |
|---|---|
| العنوان | 66 حرفًا كحد أقصى |
| النص | 144 حرفًا كحد أقصى |
| النقاط | 5 كحد أقصى |
| صورة بعرض كامل | PNG دون شفافية، بعرض 3840 px، وارتفاع من 160 إلى 2160 |
| صورة النقطة | 1024 × 1024 px |
| الصور لكل تطبيق | 2000 كحد أقصى |
الأطوال مأخوذة من وصف جسم طلب إرسال رسالة، والصيغ من صفحة إرسال صورة. وتطلب Apple أيضًا صورًا تعمل جيدًا في الوضع الفاتح والوضع الداكن معًا.
تراجع Apple كل رسالة وكل صورة. تنتقل حالتها من PENDING إلى APPROVED، ولا يعرض النظام إلا ما تمت الموافقة عليه. في الـsandbox تكون الموافقة تلقائية. ويضع التوثيق قاعدة واضحة للمحتوى: لا ترسل أي شيء مضلل أو غير دقيق.
الشروط المطلوبة
- رسالة افتراضية لكل منتج، بكل لغة. بدونها لا يظهر شيء بتلك اللغة. وهي أيضًا الحل الاحتياطي إن لم يردّ خادمك.
- رسائل وصور موافَق عليها قبل أي إطلاق.
- للوقت الفعلي، خادم سريع. تطلب صفحة إعداد عنوان الوقت الفعلي شهادة SSL صالحة، وTLS 1.2، وردًا في أقل من 700 ms في الإنتاج. بعد ذلك يفشل الطلب وتظهر الرسالة الافتراضية.
- اجتياز اختبار الأداء في الـsandbox، قبل تسجيل عنوان الإنتاج.
- التحقق من التطبيق. يحتوي كل طلب من Apple على معرّف التطبيق
appAppleId. إن لم يطابق معرّفك، تطلب Apple ألا تردّ.
يعطيك طلب الوقت الفعلي معرّف المعاملة الأصلية، والمنتج، ولغة الجهاز. والأمر لك في اختيار الرسالة وفق قواعدك.
إعداد Retention Messaging: ثلاث طرق
| الطريقة | لمن | ما المطلوب |
|---|---|---|
| وحدة App Store Connect | الجميع، بعد إطلاقها | لا كود؛ نص أو صورة أو عرض |
| الـAPI مع خادمك | من لديه back-end | وصول من Apple، عنوان HTTPS، اختبار أداء |
| الـAPI عبر RevenueCat | التطبيقات التي تستخدم RevenueCat | وصول من Apple، إعدادات في لوحة التحكم |
عندما تتعايش عدة إعدادات، تشرح Apple في جلسة WWDC26 الترتيب المتّبع: رد الوقت الفعلي أولًا. إن غاب أو كان بصيغة خاطئة، فإعداد App Store Connect. وإن لم يوجد، فالرسالة الافتراضية المضبوطة عبر الـAPI.
مع خادمك الخاص
- اطلب الوصول عبر نموذج Apple.
- أرسل صورك، ثم رسائلك، مع عنوان ونص لكل منها.
- انتظر الموافقة عليها، ثم عيّن رسالة افتراضية لكل اشتراك ولكل لغة.
- للوقت الفعلي، أنشئ العنوان
Get Retention Messageعلى خادمك وسجّله في الـsandbox. - شغّل اختبار الأداء في الـsandbox بمعاملة تجريبية.
- بعد نجاح الاختبار، سجّل عنوان الإنتاج.
مع RevenueCat
هذه هي الطريقة التي اخترتها: لا خادم أكتبه، وتطبيقاتي تمر أصلًا عبر RevenueCat، كما أشرح في RevenueCat والاشتراك داخل تطبيقات iOS. بحسب توثيق RevenueCat:
- في نموذج Apple، العنوان الذي تقدّمه هو الذي يعرضه RevenueCat في إعدادات تطبيقك على App Store.
- بعد الموافقة، افتح Lifecycle ثم Retention، واربط عنوان الـsandbox.
- شغّل اختبار الأداء باشتراك sandbox أو TestFlight نشط. قد يستغرق حتى ساعة.
- أنشئ أولًا رسالة افتراضية، لغة بلغة.
- أضف بعدها رسائل الوقت الفعلي مع قواعد. إحداها، «Is in free trial»، تستهدف من هم في فترة تجربة مجانية.
- انتقل إلى الإنتاج: إعدادات الـsandbox لا تُنقل، ويجب إعادة إنشاء الرسائل.
اكتب رسالة تحتفظ بالمشترك دون أن توقعه في فخ
النص ثابت وتراجعه Apple قبل عرضه. لذلك لا يمكنه أن يتحدث عن الشخص الذي يقرؤه، ولا عن اليوم الذي يقرؤه فيه. هذه هي الرسالة الافتراضية التي جهّزتها لـTradaZen بالفرنسية:
العنوان (57 حرفًا):
أردت أن تتعلم التداول، والآن تعود لتتداول بلا رؤية؟
النص (127 حرفًا):
بدون تدريب، أموالك الحقيقية تدفع ثمن كل خطأ. هنا لا تكلّفك الأخطاء شيئًا. سلسلتك ودوريّك ودروسك تتوقف.
القواعد التي وضعتها لتطبيقاتي الأربعة:
- العنوان يعيد الشخص إلى هدفه على شكل سؤال. ولا يُشعره بالخجل.
- النص يقول بدقة ما الذي سيتوقف. أكتب أن الوصول «يُقفل» عندما تبقى البيانات، ولا أكتب أبدًا أنها «ستُحذف».
- لا كلمات زمنية مثل «غدًا» أو «اليوم»: النص نفسه يظهر في أي لحظة من الفترة.
- لا وعود بالربح، ولا استعجال مصطنع. استبعدت قبل الإرسال عنوانًا أول كان يعد بتغيير الحياة بفضل التداول. الـguideline 5.6 تمنع أي ممارسة تلاعبية، وقد سبق أن رُفض paywall تطبيق TradaZen لهذا السبب، كما أروي في الـguideline 5.6 والـpaywall.
- لكل لغة نصها، بمفردات التطبيق المترجَم، ومحسوب حرفًا بحرف.
لـTradaZen أخطط أيضًا لرسالة وقت فعلي لمن هم في فترة تجربة على الاشتراك السنوي. ستقترح خطة سنوية أرخص من المجموعة نفسها، لأن أرقامي تُظهر أن هؤلاء يستخدمون التطبيق بقدر من يدفعون: السعر هو ما يرفضونه. هذا الإعداد ينتظر موافقة Apple.
ما الذي يمكن توقعه
لا تنتظر معجزة. تسمّي Apple «معدل الإنقاذ» نسبةَ المشتركين الذين يحتفظون باشتراكهم بعد وصولهم إلى صفحة التأكيد. في جلسة WWDC26، تعلن Apple أن الاشتراكات التي اعتمدت Retention Messaging تكسب في المتوسط 1.4 نقطة من هذا المعدل. وتحقق الرسائل التي تتضمن عرضًا ترويجيًا أفضل مكسب ملحوظ، 5.5 نقاط، وتختلف النتائج من مطوّر لآخر. ومن جهتها، تلاحظ دراسة RevenueCat أن المشتركين لا يقبلون إلا نحو 1.1% من العروض الترويجية و0.6% من تغييرات الخطة.
إذن لا تغني الرسالة عن العمل المسبق. التجربة المجانية التي تُلغى خلال دقيقة يُحسم أمرها في الـpaywall والجلسات الأولى: الأسباب والحلول في دليلي عن إلغاء التجربة المجانية، وإنشاء التجربة في العرض التمهيدي.
جهّز اشتراكك قبل الرسالة
ينطلق iOS & Android Kit من الكود الأساسي لتطبيقاتي: الـonboarding والـpaywall والاشتراكات مكتوبة مسبقًا، والمسار المكوّن من أربع مراحل يوصلك إلى App Store بالوتيرة التي تناسبك. السلسلة كاملة، من المنتجات في App Store Connect إلى الـpaywall، موصوفة في صفحة الاشتراك داخل تطبيقات iOS.
إن كنت تجهّز إطلاقك الأول، احصل على تشخيصك المجاني: يخبرك بما يعرقل مشروعك فعلًا، ويرسل لك قائمتي لتجنّب رفض Apple.
الأسئلة الشائعة
ما هي Retention Messaging API من Apple؟
خدمة تعمل من خادم إلى خادم، تختار الرسالة التي تُعرض على المشترك عندما يلمس Cancel Subscription. تظهر الرسالة في صفحة تأكيد قبل الإلغاء. يمكن أن تذكّر بقيمة الاشتراك، أو تقترح خطة أخرى أو عرضًا ترويجيًا.
هل Retention Messaging متاحة لكل المطورين؟
الـAPI في مرحلة معاينة، ويتطلب استخدامها طلب وصول من Apple. في WWDC26، أعلنت Apple عن وحدة في App Store Connect متاحة للجميع، مقررة لخريف 2026. وحتى 3 نوفمبر 2026، لا تصفها مساعدة App Store Connect بعد.
على أي إصدارات iOS تظهر الرسالة؟
على iOS 15.1 وiPadOS 15.1 أو أحدث، وعلى visionOS 1، وعلى macOS 14 أو أحدث. على جهاز أقدم، يتم الإلغاء دون رسالة.
هل تمنع الرسالة المشترك من الإلغاء؟
لا. تحتفظ صفحة التأكيد بزر للإلغاء. ويمكن للمشترك أيضًا أن يحتفظ باشتراكه، أو يقبل العرض أو الخطة المقترحة.
هل يمكن اقتراح خصم لحظة الإلغاء؟
نعم. مع الـAPI، تكون رسالة عرض ترويجي، في الوقت الفعلي فقط: يُنشأ العرض في App Store Connect ويوقّعه خادمك. وتتيح الوحدة المعلنة في App Store Connect أيضًا رسالة مع عرض. أما تغيير الخطة فيقترح اشتراكًا آخر من المجموعة نفسها.
كم عدد الأحرف المسموح به في رسالة الاحتفاظ؟
العنوان 66 حرفًا كحد أقصى، والنص 144. يمكنك إضافة حتى خمس نقاط وصورة PNG دون شفافية. وتحتاج كل لغة إلى رسالتها الافتراضية الخاصة.
هل تحتاج إلى خادم لاستخدام Retention Messaging؟
لا تحتاج إلى استضافة عنوان للرسائل الافتراضية: يكفي استدعاء الـAPI لإرسالها وتعيينها. مع RevenueCat، يؤدي RevenueCat دور الخادم. أما الوقت الفعلي فيتطلب عنوان HTTPS يردّ في أقل من 700 ms. والوحدة المعلنة في App Store Connect تُضبط دون كود.

