نقل البيانات من الإصدار 6 أو 7 إلى الإصدار 8 من Google Play Billing Library

يوضّح هذا المستند كيفية نقل البيانات من الإصدار 6 أو 7 من Google Play Billing Library إلى الإصدار 8، وكيفية دمج ميزات الاشتراك الاختيارية الجديدة.

للاطّلاع على قائمة كاملة بالتغييرات في الإصدار 8.0.0، يُرجى الرجوع إلى ملاحظات الإصدار.

نظرة عامة

يتضمّن الإصدار 8 من PBL تحسينات على واجهات برمجة التطبيقات الحالية، بالإضافة إلى إزالة واجهات برمجة التطبيقات التي تم إيقافها نهائيًا في السابق. يتضمّن هذا الإصدار من المكتبة أيضًا واجهات برمجة تطبيقات جديدة للمنتجات المدفوعة لمرة واحدة.

التوافق مع الأنظمة القديمة لترقية PBL

لنقل البيانات إلى الإصدار 8 من PBL، عليك تعديل بعض مراجع واجهة برمجة التطبيقات الحالية أو إزالتها من تطبيقك، كما هو موضّح في ملاحظات الإصدار وفي دليل نقل البيانات هذا لاحقًا.

الترقية من الإصدار 6 أو 7 إلى الإصدار 8 من Google Play Billing Library

للترقية من الإصدار 6 أو 7 من PBL إلى الإصدار 8، اتّبِع الخطوات التالية:

  1. يُرجى تحديث إصدار Play Billing Library الذي يعتمد عليه تطبيقك في ملف build.gradle.

    dependencies {
       def billingVersion = 8.0.0
       implementation "com.android.billingclient:billing:$billingVersion"
    }
    
  2. (ينطبق ذلك فقط على الترقية من الإصدار 6 إلى الإصدار 8 من PBL). التعامل مع التغييرات في واجهة برمجة التطبيقات المتعلقة بالاشتراك في تطبيقك

    يتضمّن الجدول التالي واجهات برمجة التطبيقات ذات الصلة بالاشتراكات والتي تمت إزالتها من الإصدار 8 من PBL وواجهة برمجة التطبيقات البديلة المقابلة التي يجب استخدامها في تطبيقك.

    إزالة واجهة برمجة التطبيقات التي تم إيقافها نهائيًا في الإصدار 8 من PBL واجهة برمجة تطبيقات بديلة للاستخدام
    setOldSkuPurchaseToken setOldPurchaseToken
    setReplaceProrationMode setSubscriptionReplacementMode
    setReplaceSkusProrationMode setSubscriptionReplacementMode
  3. عدِّل طريقة تنفيذ queryProductDetailsAsync.

    تم إجراء تغيير في توقيع طريقة ProductDetailsResponseListener.onProductDetailsResponse، ما يتطلّب إجراء تغييرات في تطبيقك لتنفيذ queryProductDetailsAsync. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة عرض المنتجات المتاحة للشراء.

  4. التعامل مع واجهات برمجة التطبيقات التي تمت إزالتها

    الترقية من

    لم يعُد الإصدار 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

  5. (إجراء يُنصح به) فعِّل إعادة الاتصال التلقائي بالخدمة.

    يمكن أن تحاول Play Billing Library إعادة إنشاء اتصال الخدمة تلقائيًا في حال إجراء طلب بيانات من واجهة برمجة التطبيقات أثناء انقطاع اتصال الخدمة. لمزيد من المعلومات، يُرجى الاطّلاع على تفعيل إعادة الاتصال التلقائي بالخدمة.

  6. تغييرات اختيارية