يوضّح هذا المستند كيفية نقل البيانات من الإصدار 6 أو 7 من Google Play Billing Library (PBL) إلى الإصدار 8، وكيفية الدمج مع إمكانات الاشتراك الاختيارية الجديدة.
للاطّلاع على القائمة الكاملة بالتغييرات في الإصدار 8.0.0، يُرجى الرجوع إلى ملاحظات الإصدار.
مهارات Android
عرض على GitHubترقية Play Billing Library
android skills add --skill play-billing-library-version-upgradeHelp me upgrade my Play Billing Library implementation.نظرة عامة
يتضمّن الإصدار 8 من PBL تحسينات على واجهات برمجة التطبيقات الحالية، بالإضافة إلى إزالة واجهات برمجة التطبيقات التي تم إيقافها نهائيًا سابقًا. يتضمّن هذا الإصدار من المكتبة أيضًا واجهات برمجة تطبيقات جديدة للمنتجات التي يتم شراؤها لمرة واحدة.
التوافق مع الإصدارات القديمة عند ترقية 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 من "برنامج Play للحماية" وواجهة برمجة التطبيقات البديلة المقابلة التي يجب استخدامها في تطبيقك.
إزالة واجهة برمجة التطبيقات التي تم إيقافها نهائيًا سابقًا في الإصدار 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 من PBL، وواجهات برمجة التطبيقات البديلة التي يجب استخدامها في تطبيقك.
إزالة واجهة برمجة التطبيقات التي تم إيقافها نهائيًا سابقًا في الإصدار 8 من "مكتبة Play Billing" واجهة برمجة التطبيقات البديلة التي يجب استخدامها واجهات برمجة التطبيقات queryPurchaseHistoryAsync الاطّلاع على سجلّ شراء طلبات البحث querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (واجهة برمجة التطبيقات بدون مَعلمات) enablePendingPurchases(PendingPurchaseParams params)
يُرجى العِلم أنّ الدالة المتوقّفة نهائيًا enablePendingPurchases() تتطابق وظيفيًا معenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync (يُفضّل) تفعيل ميزة إعادة الاتصال التلقائي بالخدمة
يمكن أن تحاول مكتبة Play Billing Library إعادة إنشاء اتصال الخدمة تلقائيًا إذا تم إجراء طلب بيانات من واجهة برمجة التطبيقات أثناء انقطاع الاتصال بالخدمة. لمزيد من المعلومات، يُرجى الاطّلاع على تفعيل إعادة الاتصال التلقائي بالخدمة.
التغييرات الاختيارية
إتاحة عمليات الشراء المعلقة للخطط المدفوعة مسبقًا. لمزيد من المعلومات، اطّلِع على مقالة التعامل مع الاشتراكات والمعاملات المعلقة.
الاشتراكات في خطط الأقساط الافتراضية لمزيد من المعلومات، يُرجى الاطّلاع على مقالة دمج الاشتراكات بالتقسيط.