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