كيفية إضافة دعم لفترة السماح (فترة سماح الفوترة) في تطبيق iOS؟

صورة


في سبتمبر ، أضافت Apple دعمًا لفترات السماح (أو فترات السماح) للاشتراكات المتجددة. يسمح للمستخدمين الذين اشتركوا بالاحتفاظ بالوصول إلى خدمة مدفوعة ، حتى لو لم يكن من الممكن تجديدها في الوقت المحدد بسبب مشاكل في الدفع. سيتم استئناف الاشتراك عندما يقوم المستخدم بتحديث طريقة الدفع.


تعتمد مدة فترة السماح على مدة الاشتراك. للاشتراك الأسبوعي ، هو 6 أيام ، لجميع الآخرين - 16 يومًا.


يمكنك تنشيط Grace في App Store Connect حيث يتم تكوين عمليات الشراء داخل التطبيق. ولكن يجب أيضًا دعم فترة السماح في التطبيق نفسه.


كيف أعرف ما إذا كان المستخدم في فترة سماح؟


سيتطلب ذلك التحقق من صحة متجر التطبيقات من أجل استلام بيانات JSON. بالطبع ، من الأفضل استخدام الخادم الخاص بك للتحقق من صحة الشيكات من أجل تجنب هجمات رجل في الوسط ، كما توصي Apple.


عمليات التحقق من صحة متجر التطبيقات يتحقق أننا خصصنا مقالة منفصلة .

في حالة حدوث مشكلة في الدفع عند تشغيل فترة السماح ، سيظهر حقل جديد في pending_renewal_info JSON: grace_period_expires_date . يتم الحصول على هذا التاريخ عن طريق إضافة 6 أو 16 يومًا إلى تاريخ انتهاء الصلاحية لآخر معاملة.


إذا كان التاريخ الحالي بين تاريخ انتهاء الصلاحية لآخر معاملة وتاريخ انتهاء صلاحية فترة السماح ، فسيكون المستخدم في فترة السماح. يجب أن يكون expiration_intent أيضًا 2 .


إذا قام المستخدم بتحديث بيانات الدفع ، فستظهر معاملة جديدة في صفيف grace_period_expires_date حقل pending_renewal_info من pending_renewal_info .


وإذا لم يقم المستخدم بحل المشكلة ، فيجب اعتبار الاشتراك بعد انتهاء الصلاحية منتهية الصلاحية ويجب عليك منع المستخدم من الوصول إلى الميزات المميزة.


الفرق بين فترة السماح و is_in_billing_retry_period


بالإضافة إلى حقل فترة السماح ، بقي pending_renewal_info في pending_renewal_info . إذا كانت القيمة 1 ، فسيكون لدى المستخدم مشكلة في الدفع ، وهو ليس في فترة السماح. تميز أنك هنا تقرر ما إذا كنت ستقدم وظيفة مدفوعة أم لا. اتضح أنه حتى هذا الوقت ، اختار كل مطور نفسه ما يجب القيام به.


مع تشغيل فترة السماح ، تلزم شركة Apple جميع المطورين بمنح أفضلية.


أخبر المستخدم عن مشاكل الدفع في التطبيق


في كلتا الحالتين ، نوصيك بإخطار المستخدم بالمشكلات مباشرةً في التطبيق ونقدم له تحديث معلومات الدفع.


يمكنك عرض لافتة أو ملء الشاشة للمستخدم مع طلب تحديث معلومات الدفع وزر الانتقال:


 // example of navigating user to account billing func handleOpenBilling(){ let urlString = "https://apps.apple.com/account/billing" if let url = URL(string: urlString), UIApplication.shared.canOpenURL(url){ UIApplication.shared.open(url) } 

قام Apphud بهذا بالفعل من أجلك.


إذا كانت هناك مشكلة في الدفع ، فسيتلقى المستخدم إشعارًا بالدفع يطلب منه تحديث معلومات الدفع الخاصة به. وإذا تم تعطيل الإشعارات ، فستظهر الشاشة في المرة التالية التي يتم فيها تشغيل التطبيق.


صورة
شاشة تحديث الفواتير


كما يأخذ Apphud في الحسبان فترة السماح ويعيد حالة الاشتراك نشطة. إذا لم يكن لديك الوقت الكافي لتطبيق هذه الميزة بنفسك ، فجرّب خدمتنا هنا .


الحفاظ على المستخدمين أهمية من أي وقت مضى


أصبح تقليل عدد إلغاء الاشتراك والاحتفاظ بالمستخدمين أكثر أهمية من أي وقت مضى. مع إصدار iOS 13 ، قامت Apple بتبسيط آلية إلغاء الاشتراك: يتم عرض عرض إلغاء الاشتراك عند إلغاء تثبيت التطبيق ، وأصبحت شاشة الإعدادات أكثر قابلية للوصول:


صورة
إعدادات الاشتراك في نظام iOS 13


هذا يعني أن التحويل إلى اشتراكات مدفوعة سوف ينخفض ​​، لأن المستخدمين أقل احتمالًا أن ينسوا إلغاء اشتراكهم. وسوف تبحث بالتأكيد عن حل لزيادة الأرباح من المستخدمين الحاليين.


قواعد Apphud


تسمى آليات حل مشكلات الدفع باسم "القاعدة" . درسنا واحد فقط من القواعد. لدينا قواعد أخرى ستساعدك على زيادة الأرباح والاحتفاظ بالمستخدمين. اقرأ المزيد في مدونتنا .

Source: https://habr.com/ru/post/ar472452/


All Articles