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

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

نظرة عامة

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

التوافق مع الإصدارات السابقة لترقية ميزة "الإعلانات الصورية"

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

الترقية من الإصدار PBL 6 أو 7 إلى الإصدار PBL 8

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

  1. عدِّل إصدار مكتبة الفوترة في Google Play في ملف build.gradle الخاص بتطبيقك.

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

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

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

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

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

    الترقية من

    لم تعُد واجهة برمجة التطبيقات 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

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

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

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