این سند نحوه انتقال از کتابخانه صورت‌حساب Google Play (PBL) 6 یا 7 به PBL 8 و نحوه ادغام با قابلیت‌های اشتراک اختیاری جدید را شرح می‌دهد.

برای لیست کامل تغییرات در نسخه 8.0.0، به یادداشت های انتشار مراجعه کنید.

نمای کلی

PBL 8 شامل بهبودهایی در APIهای موجود همراه با حذف APIهای منسوخ شده قبلی است. این نسخه از کتابخانه همچنین شامل APIهای جدید برای محصولات یکبار مصرف است.

سازگاری با عقب برای ارتقاء PBL

برای انتقال به PBL 8، باید برخی از مراجع API موجود خود را از برنامه خود به‌روزرسانی یا حذف کنید، همانطور که در یادداشت‌های انتشار و بعداً در این راهنمای مهاجرت توضیح داده شده است.

از PBL 6 یا 7 به PBL 8 ارتقا دهید

برای ارتقاء از PBL 6 یا 7 به PBL 8، مراحل زیر را انجام دهید:

  1. نسخه وابستگی کتابخانه صورت‌حساب Play را در فایل build.gradle برنامه خود به‌روزرسانی کنید.

    dependencies {
      def billingVersion = 8.0.0
      implementation "com.android.billingclient:billing:$billingVersion"
    }
    
  2. (فقط برای ارتقا از PBL 6 به PBL 8 قابل استفاده است). تغییرات API مربوط به اشتراک را در برنامه خود مدیریت کنید.

    جدول زیر API های مربوط به اشتراک را که در PBL 8 حذف شده اند و API جایگزین مربوطه که باید در برنامه خود استفاده کنید فهرست می کند.

    API منسوخ شده قبلی در PBL 8 حذف شد API جایگزین برای استفاده
    setOldSkuPurchaseToken setOldPurchaseToken
    setReplaceProrationMode setSubscriptionReplacementMode
    setReplaceSkusProrationMode setSubscriptionReplacementMode
  3. اجرای روش queryProductDetailsAsync به روز کنید.

    تغییری در امضای روش ProductDetailsResponseListener.onProductDetailsResponse وجود دارد که به تغییراتی در برنامه شما برای اجرای queryProductDetailsAsync نیاز دارد. برای اطلاعات بیشتر، به نمایش محصولات موجود برای خرید مراجعه کنید.

  4. API های حذف شده را مدیریت کنید.

    ارتقاء از

    PBL 8 دیگر از API های فهرست شده در جدول زیر پشتیبانی نمی کند. اگر پیاده سازی شما از هر یک از این API های حذف شده استفاده می کند، به جدول مربوط به API های جایگزین مربوطه آنها مراجعه کنید.

    API منسوخ شده قبلی در PBL 8 حذف شد API جایگزین برای استفاده
    queryPurchaseHistoryAsync API تاریخچه خرید پرس و جو را ببینید
    querySkuDetailsAsync queryProductDetailsAsync
    enablePendingPurchases() (API بدون پارامتر) enablePendingPurchases (PendingPurchaseParams params)
    توجه داشته باشید که ()enablePendingPurchases منسوخ شده از نظر عملکردی معادل enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()) .
    queryPurchasesAsync(String skuType، PurchasesResponseListener شنونده) queryPurchasesAsync
    BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling
    AlternativeBillingListener UserChoiceBillingListener
    AlternativeChoiceDetails UserChoiceDetails

    ارتقاء از

    جدول زیر API هایی را که در PBL 8 حذف شده اند و API های جایگزین مربوطه را که باید در برنامه خود استفاده کنید فهرست می کند.

    API منسوخ شده قبلی در PBL 8 حذف شد API جایگزین برای استفاده
    queryPurchaseHistoryAsync API تاریخچه خرید پرس و جو را ببینید
    querySkuDetailsAsync queryProductDetailsAsync
    enablePendingPurchases() (API بدون پارامتر) enablePendingPurchases (PendingPurchaseParams params)
    توجه داشته باشید که ()enablePendingPurchases منسوخ شده از نظر عملکردی معادل enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()) .
    queryPurchasesAsync(String skuType، PurchasesResponseListener شنونده) queryPurchasesAsync

  5. (توصیه می شود) اتصال مجدد سرویس خودکار را فعال کنید.

    کتابخانه صورت‌حساب Play می‌تواند تلاش کند به‌طور خودکار اتصال سرویس را مجدداً برقرار کند، اگر در حین قطع شدن سرویس، تماس API برقرار شود. برای اطلاعات بیشتر، به فعال کردن اتصال مجدد سرویس خودکار مراجعه کنید.

  6. تغییرات اختیاری