المشتريات داخل التطبيق والاشتراكات باستخدام RevenueCat

اشتراكات وباقات أرصدة وجدران دفع على App Store وGoogle Play: بنينا إيرادات Rigel وLydiaVault على RevenueCat.

نضيف إلى تطبيق الجوال الخاص بك الاشتراكات والمشتريات داخل التطبيق وجدار الدفع باستخدام RevenueCat. يعمل هذا في Rigel وLydiaVault على المتجرين.

آخر تحديث:

ما بنيناه بهذه التقنية

جميعها منشورة؛ صفحات المتاجر والتفاصيل في صفحة المنتجات.

Rigel

تطبيق فيديو بالذكاء الاصطناعي

اشتراكات وباقات أرصدة؛ جدار الدفع عبر RevenueCat Paywalls، وتصل أحداث الشراء والتجديد إلى الخادم عبر webhook فتحدّث الأرصدة.

اعرض المنتج

LydiaVault

مدرب ميزانية بالذكاء الاصطناعي

اشتراك مميز؛ يُفتح جدار الدفع عبر مواضع منفصلة بحسب اللحظة، مثل ربط حساب بنكي أو استخدام محادثة الذكاء الاصطناعي أو إنشاء هدف ادخار.

اعرض المنتج

ماذا يقدّم RevenueCat للمشتريات داخل التطبيق

إذا كنت تبيع شيئاً رقمياً في تطبيق جوال (ميزة مميزة، اشتراك، أرصدة) فعليك تلقي الدفع عبر أنظمة الفوترة الخاصة بـ App Store وGoogle Play. ويختلف المتجران في واجهاتهما البرمجية والتحقق من الإيصالات وحالات الاشتراك. RevenueCat طبقة فوق الاثنين: يتحقق من الشراء، ويحفظ في مكان واحد ما يحق لكل مستخدم (entitlement)، ويبلّغ خادمك بأحداث مثل التجديد والإلغاء والاسترداد.

حيث يناسب RevenueCat

  • تبيع منتجاً رقمياً مثل اشتراك أو أرصدة داخل التطبيق
  • تريد أن يحصل المستخدم نفسه على الحقوق نفسها في iOS وAndroid
  • تريد تغيير تصميم جدار الدفع وعروضه دون نشر إصدار جديد
  • تريد متابعة التجديدات والإلغاءات والإيرادات على خادمك أيضاً

حيث لا تحتاج إلى RevenueCat

  • يبيع التطبيق منتجات مادية أو خدمة تُقدَّم خارج التطبيق: فوترة المتجر ليست إلزامية، ويمكن استخدام مؤسسة دفع مثل iyzico
  • لا يوجد محتوى مدفوع في التطبيق، أو تأتي الإيرادات من الإعلانات فقط
  • تبيع منتجاً واحداً بسيطاً على منصة واحدة وتكفيك أدوات المتجر نفسه

كيف بنيناه في Rigel وLydiaVault

يختلف نموذج الإيرادات في التطبيقين، لذا يستخدمان RevenueCat بشكل مختلف. في Rigel يتطلب إنشاء الفيديو أرصدة؛ تُباع الاشتراكات وباقات الأرصدة لمرة واحدة جنباً إلى جنب، ويحفظ الخادم رصيد الأرصدة. أما LydiaVault ففيه حق مميز واحد، ويقرأ التطبيق مباشرة من RevenueCat ما إذا كان المستخدم يملكه.

RigelLydiaVault
ما يُباعاشتراكات وباقات أرصدةاشتراك مميز
جدار الدفعRevenueCat Paywalls؛ إعدادات زر الإغلاق من Firebase Remote ConfigRevenueCat Paywalls؛ يرتبط الوصول بحق مميز واحد
ربط الحسابتُربط المشتريات بحساب المستخدم عند تسجيل الدخوليتغير مستخدم RevenueCat عند تسجيل الدخول والخروج
جهة الخادمتحدّث webhooks من RevenueCat الأرصدة وحالة الاشتراكتُقرأ الحالة المميزة من RevenueCat داخل التطبيق

جدار الدفع المناسب في اللحظة المناسبة

في التطبيقين نستخدم مواضع (placements) بدلاً من جدار دفع واحد: يُطلب من RevenueCat عرض مختلف بحسب ما يفعله المستخدم في تلك اللحظة. في LydiaVault ربط حساب بنكي، واستخدام محادثة الذكاء الاصطناعي، وإنشاء هدف ادخار، والتسجيل، كلها مواضع منفصلة؛ وفي Rigel المستخدم الذي لا يكفيه رصيده، وإضافة الأرصدة، وشاشة الملف الشخصي، مواضع منفصلة. يُغيَّر العرض الظاهر في كل موضع من لوحة RevenueCat، وإذا لم يُحدَّد عرض لموضع ما يعود التطبيق إلى العرض الافتراضي.

  • استعادة المشتريات: حين يغيّر المستخدم هاتفه أو يعيد تثبيت التطبيق يستطيع استعادة اشتراكه. وتتوقع Apple وجود هذا الخيار في التطبيق.
  • التمييز بين التراجع والخطأ: حين يغلق المستخدم شاشة الدفع بنفسه لا تظهر رسالة خطأ؛ أما حالات مثل عدم السماح بالشراء على الجهاز أو مشكلة في المتجر فلها رسالة خاصة.
  • تأخر webhook: في Rigel تُضاف الأرصدة من الحدث الذي يرسله RevenueCat إلى الخادم. وبعد الشراء يستعلم التطبيق من الخادم على فترات حتى يظهر الرصيد الجديد هناك.
  • الأحداث المكررة والمتأخرة: يسجّل خادم Rigel كل حدث بمفتاح فريد؛ فإذا وصل الحدث نفسه مرتين لا يُعالج، ويُتجاهل أي حدث أقدم من آخر حالة للاشتراك.
  • سجل الإيرادات: يُحسب صافي الإيراد من السعر والضريبة وعمولة المتجر الواردة في الحدث، ويُسجَّل أيضاً العرض الذي جاء منه الشراء.

ما نستخدمه بجانب RevenueCat

react-native-purchases

حزمة RevenueCat لـ React Native: لجلب العروض والشراء والاستعادة وقراءة حقوق المستخدم.

RevenueCat Paywalls

جدار الدفع الذي يأتي مع react-native-purchases-ui، ويُحرَّر تصميمه ونصوصه من لوحة RevenueCat.

Firebase Remote Config

في Rigel تتغير إعدادات مثل ظهور زر إغلاق جدار الدفع وتأخيره وحجمه دون إصدار جديد.

AWS Lambda

في Rigel، دوال الخادم التي تستقبل webhooks من RevenueCat وتحدّث الأرصدة وحالة الاشتراك.

تكاملات القياس

في LydiaVault تُمرَّر معرّفات Firebase وFacebook إلى RevenueCat، فتُربط المشتريات بالمستخدم الصحيح في أدوات التحليلات والإعلانات.

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

  1. 01

    مكالمة تعريفية مجانية

    30 دقيقة

    نتحدث عمّا ستبيعه (اشتراك، أرصدة، فتح ميزة لمرة واحدة)، وأي الميزات ستكون مدفوعة، وحالة حساباتك في المتاجر.

  2. 02

    نطاق مكتوب وعرض سعر

    نكتب المنتجات والحقوق واللحظات التي يُفتح فيها جدار الدفع والأحداث التي سيستجيب لها الخادم.

  3. 03

    إصدارات أسبوعية

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

  4. 04

    الاختبار ومراجعة المتجر

    يختبر مهندس ضمان جودة أول مسارات الشراء والاستعادة والإلغاء قبل الإطلاق. وتُفحص المنتجات داخل التطبيق بشكل منفصل في مراجعة المتجر، وقد مررنا بذلك في Rigel وLydiaVault.

  5. 05

    الثلاثون يوماً بعد الإطلاق

    30 يوماً

    نصلح مجاناً الأخطاء التي تظهر في هذه الفترة، وبعدها يمكنك المتابعة بصيانة شهرية.

المدد ونطاقات الميزانية منشورة في صفحتي تطوير تطبيقات الجوال والأسعار. تُقتطع عمولة المتجر من كل عملية بيع، ويفوتر RevenueCat رسومه بشكل منفصل، وكلاهما خارج رسوم التطوير.

أسئلة شائعة عن المشتريات داخل التطبيق وRevenueCat

ألا يمكنني استخدام صفحة الدفع الخاصة بي داخل التطبيق؟

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

ماذا لو اشترى المستخدم على iOS ثم سجّل الدخول على Android؟

إذا كان الشراء مربوطاً بحساب المستخدم تظهر الحقوق نفسها على المنصة الأخرى؛ ولهذا نعرّف RevenueCat بالمستخدم المسجّل في Rigel وLydiaVault. ودون حساب لا يمكن هذا الربط، لذلك نخطط لتسجيل الدخول منذ البداية في التطبيقات التي فيها محتوى مدفوع.

هل RevenueCat مدفوع؟

مجاني حتى إيراد شهري معيّن، ثم يتقاضى رسوماً مرتبطة بالإيرادات. الشروط الحالية في صفحة الأسعار لدى RevenueCat، ونقدّر التكلفة معاً في مرحلة الاستكشاف.

هل يمكنني تغيير جدار الدفع لاحقاً؟

نعم. إذا بُني باستخدام RevenueCat Paywalls فإن التصميم والنصوص والعروض تتغير من لوحة RevenueCat دون إصدار جديد للتطبيق. أما إضافة لحظة جديدة يُفتح فيها جدار الدفع (موضع جديد) فتتطلب تعديلاً صغيراً في التطبيق.

خدمات ذات صلة

تطوير تطبيقات الجوالتطوير MVPتصميم المنتجات وUI/UX
تواصل معنا

لنتحدث عن نموذج الإيرادات في تطبيقك

في مكالمة تعريفية مجانية مدتها 30 دقيقة نحدد معاً ما ستبيعه، وأين يُفتح جدار الدفع، وكيف ستُتابَع الاشتراكات.