يوضِّح هذا المستند كيفية نقل البيانات من Google Play Billing Library (PBL) 6 أو 7 إلى PBL 8 وكيفية الدمج مع إمكانات الاشتراكات الاختيارية الجديدة.
للاطّلاع على القائمة الكاملة بالتغييرات في الإصدار 8.0.0، يُرجى الرجوع إلى ملاحظات الإصدار.
نظرة عامة
يتضمّن PBL 8 تحسينات على واجهات برمجة التطبيقات الحالية وإزالة لواجهات برمجة التطبيقات التي تم إيقافها سابقًا. يتضمّن هذا الإصدار من المكتبة أيضًا واجهات برمجة تطبيقات جديدة للمنتجات التي يتم تحصيل سعرها مرة واحدة.
التوافق مع الأنظمة القديمة لترقية PBL
لنقل البيانات إلى PBL 8، عليك تعديل بعض مراجع واجهات برمجة التطبيقات الحالية أو إزالتها من تطبيقك، كما هو موضّح في ملاحظات الإصدار وفي وقت لاحق من دليل نقل البيانات هذا.
الترقية من PBL 6 أو 7 إلى PBL 8
للترقية من PBL 6 أو 7 إلى PBL 8، اتّبِع الخطوات التالية:
عدِّل إصدار تبعية Play Billing Library في ملف
build.gradleالخاص بتطبيقك.dependencies { def billingVersion = 8.0.0 implementation "com.android.billingclient:billing:$billingVersion" }(لا ينطبق ذلك إلا على الترقية من PBL 6 إلى PBL 8). تعامَل مع التغييرات في واجهات برمجة التطبيقات المتعلقة بالاشتراكات في تطبيقك.
يعرض الجدول التالي واجهات برمجة التطبيقات المتعلقة بالاشتراكات التي تمت إزالتها في PBL 8 وواجهة برمجة التطبيقات البديلة المقابلة التي يجب استخدامها في تطبيقك.
واجهة برمجة التطبيقات التي تم إيقافها سابقًا والتي تمت إزالتها في PBL 8 واجهة برمجة التطبيقات البديلة التي يجب استخدامها setOldSkuPurchaseToken setOldPurchaseToken setReplaceProrationMode setSubscriptionReplacementMode setReplaceSkusProrationMode setSubscriptionReplacementMode عدِّل طريقة تنفيذ طريقة
queryProductDetailsAsync.طرأ تغيير على توقيع طريقة
ProductDetailsResponseListener.onProductDetailsResponse، ما يتطلّب إجراء تغييرات في تطبيقك لتنفيذqueryProductDetailsAsync. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة عرض المنتجات المتاحة للشراء.تعامَل مع واجهات برمجة التطبيقات التي تمت إزالتها.
الترقية من
لم يعُد PBL 8 يتيح استخدام واجهات برمجة التطبيقات المُدرَجة في الجدول التالي. إذا كان التنفيذ يستخدم أيًا من واجهات برمجة التطبيقات التي تمت إزالتها، يُرجى الرجوع إلى الجدول للاطّلاع على واجهات برمجة التطبيقات البديلة المقابلة.
واجهة برمجة التطبيقات التي تم إيقافها سابقًا والتي تمت إزالتها في PBL 8 واجهة برمجة التطبيقات البديلة التي يجب استخدامها واجهات برمجة التطبيقات queryPurchaseHistoryAsync الاطّلاع على مقالة طلب سجلّ الشراء querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (واجهة برمجة تطبيقات بدون مَعلمات) enablePendingPurchases(PendingPurchaseParams params)
ملاحظة: واجهة برمجة التطبيقات enablePendingPurchases() التي تم إيقافها نهائيًا تعادل وظيفيًاenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling AlternativeBillingListener UserChoiceBillingListener AlternativeChoiceDetails UserChoiceDetails الترقية من
يعرض الجدول التالي واجهات برمجة التطبيقات التي تمت إزالتها في PBL 8 وواجهات برمجة التطبيقات البديلة المقابلة التي يجب استخدامها في تطبيقك.
واجهة برمجة التطبيقات التي تم إيقافها سابقًا والتي تمت إزالتها في PBL 8 واجهة برمجة التطبيقات البديلة التي يجب استخدامها واجهات برمجة التطبيقات queryPurchaseHistoryAsync الاطّلاع على مقالة طلب سجلّ الشراء querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (واجهة برمجة تطبيقات بدون مَعلمات) enablePendingPurchases(PendingPurchaseParams params)
ملاحظة: واجهة برمجة التطبيقات enablePendingPurchases() التي تم إيقافها نهائيًا تعادل وظيفيًاenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync (يُنصح به) فعِّل خيار إعادة الاتصال التلقائي بالخدمة.
يمكن أن تحاول Play Billing Library إعادة إنشاء اتصال الخدمة تلقائيًا إذا تم إجراء طلب بيانات من واجهة برمجة التطبيقات أثناء انقطاع اتصال الخدمة. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة تفعيل خيار إعادة الاتصال التلقائي بالخدمة.
التغييرات الاختيارية:
يمكنك إتاحة عمليات الشراء المعلقة للخطط المدفوعة مسبقًا. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة التعامل مع الاشتراكات والمعاملات المعلقة.
الاشتراكات ذات الأقساط الافتراضية لمزيد من المعلومات، يُرجى الاطّلاع على مقالة دمج الاشتراكات ذات الأقساط.