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