عند بيع منتجات رقمية من خلال تطبيقك، يجب مراعاة تجربة المستخدم بأكملها. يتيح لك الدمج داخل التطبيق بدء عمليات الشراء وإدارة تجربة المستخدم، ولكن من الضروري إبقاء الخلفية محدّثة بشأن الأذونات التي يشتريها المستخدمون. وهذا مهم لتتبُّع عمليات الشراء وإدارة الجوانب الأخرى من تجربة المستخدم، مثل الأذونات من عدّة منصات.
لمراقبة أحداث دورة حياة عمليات الشراء والاستجابة بسرعة للتغييرات في أذونات المستخدمين، عليك إنشاء نظام لإدارة حالة عمليات الشراء في الخلفية لكل من الاشتراكات وعمليات الشراء لمرة واحدة. يضمن هذا النظام معالجة عمليات الشراء بسرعة وأمان بغض النظر عن حالة الجهاز، ويحافظ على أذونات المستخدمين المتسقة على جميع المنصات، ويتيح إمكانية الرجوع إلى سجلّ عمليات الشراء وبيانات الأذونات في الخلفية.
يوفّر Google Play إشعارات في الوقت الفعلي خاصة بالمطوّرين (RTDN) لمراقبة أحداث دورة حياة عمليات الشراء، ويمكن استخدام واجهات برمجة التطبيقات الخاصة بـ الاشتراكات وعمليات الشراء داخل التطبيق في Play Developer لاتّخاذ الإجراءات اللازمة استنادًا إلى هذه الأحداث. باستخدام هذه الأدوات وإنشاء نظام قوي لإدارة مراحل نشاط عمليات الشراء، يمكنك تقديم تجربة سلسة للمستخدمين وإدارة عمليات الشراء والأذونات بكفاءة.
إنشاء برنامج لإدارة الإشعارات في الوقت الفعلي الخاصة بالمطوّرين
يمكن أن تخضع عمليات الشراء التي تتم من خلال نظام الفوترة في Google Play لعدة تغييرات في إذن الاستخدام خلال مراحل نشاطها. يمكن أن تؤدي إجراءات مختلفة إلى حدوث هذه التغييرات، بما في ذلك ما يلي:
- الإجراءات التي يبدأها المستخدمون في تطبيقك
- الإجراءات التي يبدأها المستخدمون من خلال تطبيق "متجر Play"
- الإجراءات التي يتمّ اتّخاذها مباشرةً من أنظمة الخلفية
- الإجراءات التي تبدأها من خلال Google Play Console
مثلاً:
- إلغاء المستخدم اشتراكًا من خلال مركز الاشتراكات في "متجر Play"
- مطوِّر يؤجّل فوترة الاشتراك باستخدام واجهة برمجة التطبيقات الخاصة بالمطوّرين على Google Play
- أن يردّ المطوّر الأموال المدفوعة ويلغي إذن الوصول إلى عملية شراء من خلال Google Play Console
من الضروري أن يكون الخلفية على دراية بالحالات المختلفة التي يمكن أن تمر بها عملية الشراء، وأن تتخذ جميع الإجراءات اللازمة لتعديل إذن الاستخدام وفقًا لذلك في الوقت المناسب.
على الرغم من إمكانية استخدام Google Play Developer API للتحقّق من حالة عملية شراء يدويًا، فإنّ الاعتماد على عمليات التحقّق الدورية هو طريقة غير فعّالة لتتبُّع التغييرات، كما أنّها عرضة للأخطاء والتأخير. يمكن أن تساعدك الإشعارات في الوقت الفعلي بشأن حالة الاشتراك في الاستجابة للتغييرات على الفور بدون الحاجة إلى إنشاء منطق تتبُّع دورة الحياة لعمليات الشراء على Google Play.
يناقش هذا القسم كيفية إنشاء برنامج عميل لإشعارات RTDN. الإشعارات في الوقت الفعلي الخاصة بالمطوّرين هي ميزة تم إنشاؤها باستخدام Google Cloud Pub/Sub، وهي ترسل إلى الخلفية إشعارًا فوريًا عند تغيُّر حالة أهلية المستخدم. يتألف نظام Pub/Sub من ناشر يرسل الإشعارات وعميل يشترك في هذه الإشعارات. من خلال تنفيذ الإشعارات في الوقت الفعلي الخاصة بالمطوّرين، يمكنك تتبُّع جميع التغييرات التي تطرأ على حالة إذن الوصول الممنوح للمستخدم في الوقت الفعلي والردّ عليها على الفور.
ناشر بيانات الوقت الفعلي
يعمل الخلفية في Google Play كناشر لإشعارات RTDN. لإعداد RTDN لتطبيقك، اتّبِع التعليمات الواردة في دليل الإعداد. تسمح هذه الخطوات لنظام الفوترة في Google Play بأن يعمل كناشر لإشعارات الدفع في الوقت الفعلي لتطبيقك. لإكمال عملية الإعداد هذه، عليك التعرّف على Google Cloud Platform Console لإعداد إعدادات Pub/Sub الأساسية.
مشترك في RTDN
بعد إعداد الناشر، عليك تجهيز الخلفية لاستخدام إشعارات RTDN. لإجراء ذلك، عليك إنشاء عميل لتلقّي رسائل Google Cloud Pub/Sub. تتألف الوظيفة الأساسية لبرنامج RTDN من تلقّي مثيلات PubSubMessage، إما من خلال طلبات HTTPS في نقطة نهاية مسجّلة أو باستخدام مكتبات برنامج Cloud Pub/Sub. راجِع مستندات Pub/Sub للتعرّف على كيفية استخدام استراتيجية الدفع أو السحب، أو مستندات إعداد RTDN للحصول على إرشادات حول اختيار الاستراتيجية الأنسب لاحتياجاتك.
بالنسبة إلى كل رسالة تتلقّاها، يجب أن ينفّذ الخلفية ما يلي:
- فكّ حزمة الحقل
dataبترميز base-64، والذي يحتوي على عنصر RTDN. - تحقَّق من تفرد الحقل
messageIdوتأكَّد من عدم معالجة الإشعارات المكرّرة. يمنع ذلك المعالجة المكرّرة ويضمن عدم استنفاد حصة واجهة برمجة التطبيقات. - تفعيل أي عمليات مطلوبة في الخلفية ذات صلة بتغيير الأهلية الذي تم إرسال إشعار به من خلال حدث RTDN
التعامل مع حالات الشراء الانتقالية
تختلف دورات حياة عمليات الشراء لمرة واحدة وعمليات شراء الاشتراكات استنادًا إلى الحالات والأحداث المختلفة التي يمكن أن تؤثر فيها. بفضل ميزة "الاستجابة في الوقت الفعلي"، لن تحتاج إلى إنشاء منطق لتأكيد عمليات نقل الحالة. كل ما عليك فعله هو تحديد الإجراء الذي سيتم تنفيذه عندما يتلقّى الخلفية كل نوع من أنواع الإشعارات.
اطّلِع على الأدلة التالية لمعرفة المزيد حول هذه السيناريوهات: