از نسخه 6 یا 7 به کتابخانه صورتحساب Google Play 8 مهاجرت کنید

این سند نحوه مهاجرت از کتابخانه صورتحساب گوگل پلی (PBL) نسخه ۶ یا ۷ به PBL نسخه ۸ و نحوه ادغام با قابلیت‌های جدید اشتراک اختیاری را شرح می‌دهد.

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

نمای کلی

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
    حالت جایگزینی تنظیم‌شده setSubscriptionReplacementMode
    setReplaceSkusProrationMode setSubscriptionReplacementMode
  3. پیاده‌سازی متد queryProductDetailsAsync را به‌روزرسانی کنید.

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

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

    ارتقا از

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

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

    ارتقا از

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

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

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

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

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