تتبع اشتراكات App Store
نظرة عامة على التكامل
Anchor link toإشعارات خادم App Store هي خدمة من خادم إلى خادم من Apple ترسل رسالة في الوقت الفعلي إلى الواجهة الخلفية الخاصة بك كلما تغيرت حالة الاشتراك.
من خلال ربط إشعارات خادم App Store بـ Pushwoosh، يمكنك التفاعل مع دورة حياة الاشتراك بأكملها، بما في ذلك عمليات الشراء والتجديد والإلغاء ومشاكل الفوترة وانتهاء الصلاحية واسترداد الأموال — دون بناء البنية التحتية الخلفية الخاصة بك. كلما تغيرت حالة الاشتراك في حساب App Store الخاص بالمستخدم، تقوم Apple بإشعار Pushwoosh، ويقوم Pushwoosh بإطلاق حدث PW_Subscription* المطابق في ملف تعريف المستخدم.
نوع التكامل
Anchor link toالمصدر: يتم إرسال إشعارات خادم App Store من Apple إلى Pushwoosh.
الأحداث المتعقبة
Anchor link toيقوم Pushwoosh بربط كل إشعار مدعوم من App Store بمجموعة أحداث موحدة PW_Subscription*، حتى تتمكن من إطلاق الحملات في أي مرحلة من مراحل دورة حياة الاشتراك.
| الحدث | يتم إطلاقه عندما |
|---|---|
PW_SubscriptionStart | يشتري المستخدم الاشتراك لأول مرة. |
PW_SubscriptionRenew | يتم تجديد الاشتراك تلقائيًا لفترة فوترة جديدة. |
PW_SubscriptionCancel | يقوم المستخدم بإيقاف التجديد التلقائي. يظل الاشتراك نشطًا حتى انتهاء صلاحيته. |
PW_SubscriptionResume | يقوم المستخدم بإعادة تمكين التجديد التلقائي، أو يعيد الاشتراك قبل انتهاء صلاحية الاشتراك. |
PW_SubscriptionBillingIssue | تفشل دفعة التجديد ويدخل الاشتراك في فترة إعادة محاولة الفوترة من Apple. |
PW_SubscriptionRecovered | يتم إتمام عملية تجديد فاشلة سابقًا ويصبح الاشتراك نشطًا مرة أخرى. |
PW_SubscriptionExpired | انتهت صلاحية الاشتراك بالكامل ولم يعد نشطًا. |
PW_SubscriptionRefund | تقوم Apple برد مبلغ الشراء أو إلغاء الوصول. |
يحمل كل حدث نفس السمات:
- productID: معرف منتج App Store للاشتراك.
- expiresAt: وقت انتهاء الفترة المدفوعة الحالية، كطابع زمني Unix بالثواني. يتم تضمينه عندما توفره Apple.
كيفية ربط الأحداث بإشعارات خادم App Store
بالنسبة للمطورين الذين يتحققون من التكامل، يتوافق كل حدث Pushwoosh مع قيم notificationType (و subtype) هذه من App Store:
| حدث Pushwoosh | notificationType / subtype |
|---|---|
PW_SubscriptionStart | SUBSCRIBED / INITIAL_BUY |
PW_SubscriptionRenew | DID_RENEW |
PW_SubscriptionCancel | DID_CHANGE_RENEWAL_STATUS / AUTO_RENEW_DISABLED |
PW_SubscriptionResume | DID_CHANGE_RENEWAL_STATUS / AUTO_RENEW_ENABLED, SUBSCRIBED / RESUBSCRIBE |
PW_SubscriptionBillingIssue | DID_FAIL_TO_RENEW |
PW_SubscriptionRecovered | DID_RENEW / BILLING_RECOVERY |
PW_SubscriptionExpired | EXPIRED |
PW_SubscriptionRefund | REFUND, REVOKE |
يتم الإقرار بأنواع الإشعارات الأخرى، مثل زيادات الأسعار وتغييرات الخطط والطلبات المعلقة وطلبات الاستهلاك، ولكنها لا تنشر حدثًا.
كيف يعمل
Anchor link to- تتغير حالة الاشتراك في حساب App Store الخاص بالمستخدم (شراء، تجديد، إلغاء، وما إلى ذلك).
- ترسل Apple إشعار خادم App Store (V2) إلى URL الإشعار الخاص بك في Pushwoosh.
- يقوم Pushwoosh بفك تشفير الحمولة الموقعة وقراءة
appAccountTokenمن المعاملة. - يبحث Pushwoosh عن الجهاز الذي يتطابق HWID الخاص به مع هذا الرمز، ويجد المستخدم المرتبط به، وينشر حدث
PW_Subscription*المطابق لهذا المستخدم.
حالات الاستخدام
Anchor link toاستعادة المشتركين المتسربين: لا يؤدي تعطيل التجديد التلقائي إلى إنهاء الوصول على الفور. يظل الاشتراك نشطًا حتى انتهاء الفترة المدفوعة، وهذه هي فرصتك لاستعادة المستخدم. عند حدوث PW_SubscriptionCancel، أطلق Customer Journey مع إشعار دفع للاحتفاظ بالعميل، أو بريد إلكتروني حول الميزات التي سيفقدونها، أو رسالة داخل التطبيق مع خصم على التجديد قبل انتهاء الوصول.
إعداد المشتركين الجدد: أطلق سلسلة ترحيب عند حدوث PW_SubscriptionStart لمساعدة المستخدمين على الحصول على قيمة من خطتهم مبكرًا وتمهيد الطريق للتجديد.
إنقاذ المدفوعات الفاشلة: عندما يتم إطلاق PW_SubscriptionBillingIssue، فهذا يعني أن دفعة التجديد لم تتم وأن الاشتراك في نافذة إعادة المحاولة من Apple. اطلب من المستخدم تحديث طريقة الدفع الخاصة به قبل أن يفقد الوصول، وتابع مع PW_SubscriptionRecovered للتأكيد بمجرد حل المشكلة.
إعادة إشراك المستخدمين الذين انتهت صلاحية اشتراكهم: ابدأ حملة إعادة تنشيط عند حدوث PW_SubscriptionExpired مع عرض للعملاء العائدين للمشتركين الذين تسربوا بالكامل.
إعداد التكامل
Anchor link toتعيين appAccountToken إلى HWID الخاص بالجهاز في Pushwoosh
Anchor link toيحدد Pushwoosh المستخدم الصحيح من HWID الخاص بالجهاز، لذلك يجب على تطبيقك إرفاق HWID الخاص بالجهاز في Pushwoosh كـ appAccountToken عند شراء الاشتراك من خلال StoreKit.
بشكل افتراضي، يستخدم Pushwoosh iOS SDK identifierForVendor (IDFV) الخاص بالجهاز كـ HWID. IDFV هو بالفعل UUID، وهو التنسيق الذي تطلبه Apple بالضبط لـ appAccountToken. يقوم Pushwoosh بعد ذلك بحل المستخدم المرتبط حاليًا بهذا الجهاز تلقائيًا، لذلك يعمل هذا سواء قمت بتعيين User IDs الخاصة بك باستخدام setUserId أم لا.
// Attach the device's Pushwoosh HWID (the default IDFV) as the appAccountTokenvar options: Set<Product.PurchaseOption> = []if let hwid = UIDevice.current.identifierForVendor { options.insert(.appAccountToken(hwid))}
let result = try await product.purchase(options: options)// applicationUsername must be a UUID string to populate appAccountTokenlet payment = SKMutablePayment(product: product)payment.applicationUsername = UIDevice.current.identifierForVendor?.uuidStringSKPaymentQueue.default().add(payment)العثور على رمز تطبيق Pushwoosh الخاص بك
Anchor link toافتح تطبيقك في لوحة تحكم Pushwoosh. يتم عرض رمز التطبيق الخاص بك (تنسيق XXXXX-XXXXX) أسفل اسم المشروع في الشريط الجانبي.
ستحتاج إلى رمز التطبيق لبناء URL الإشعار.
إضافة URL الإشعار في App Store Connect
Anchor link to- في App Store Connect، انتقل إلى Apps → تطبيقك → App Information (تحت General)، ومرر لأسفل إلى App Store Server Notifications.
- حدد إشعارات Version 2.
- قم بتعيين كل من Production Server URL و Sandbox Server URL إلى:
https://appstore-notifications.pushwoosh.com/appstore/YOUR_APPLICATION_CODE/- استبدل
YOUR_APPLICATION_CODEبرمز التطبيق من الخطوة السابقة. احتفظ بالشرطة المائلة في النهاية.
تأكيد الأحداث في Pushwoosh
Anchor link toيسجل Pushwoosh كل حدث PW_Subscription* في مشروعك في المرة الأولى التي يحدث فيها، مع سمات productID و expiresAt. بعد اختبار في بيئة الاختبار (sandbox)، افتح Audience → Events للتحقق من ظهور الأحداث. تكون بعد ذلك جاهزة للتقسيم والإحصاءات و Customer Journeys.
بناء حملتك
Anchor link toأنشئ Customer Journey مع دخول قائم على المشغل على أي حدث PW_Subscription*، على سبيل المثال PW_SubscriptionCancel للاستعادة أو PW_SubscriptionStart للإعداد، وأضف الرسائل التي تريد إرسالها.
الاختبار
Anchor link toيمكن إطلاق إشعارات خادم App Store في بيئة Sandbox من Apple. للتحقق من التكامل:
- قم بإجراء عملية شراء اشتراك في بيئة الاختبار مع تعيين
appAccountTokenكما هو موضح أعلاه. هذا يطلقPW_SubscriptionStart. - قم بتعطيل التجديد التلقائي من شاشة إدارة الاشتراكات في الجهاز. هذا يطلق
PW_SubscriptionCancel. - في لوحة تحكم Pushwoosh، افتح ملف تعريف المستخدم وانتقل إلى سجل الأحداث.
- تأكد من ظهور الأحداث في غضون لحظات قليلة.