این سند نحوه مهاجرت از کتابخانه صورتحساب گوگل پلی (PBL) نسخه ۶ یا ۷ به PBL نسخه ۸ و نحوه ادغام با قابلیتهای جدید اشتراک اختیاری را شرح میدهد.
برای مشاهده لیست کامل تغییرات نسخه ۸.۰.۰، به یادداشتهای انتشار مراجعه کنید.
نمای کلی
PBL 8 شامل بهبودهایی در APIهای موجود به همراه حذف APIهای منسوخشدهی قبلی است. این نسخه از کتابخانه همچنین شامل APIهای جدید برای محصولات یکبار مصرف است.
سازگاری با نسخههای قبلی برای ارتقاء PBL
برای مهاجرت به PBL 8، باید برخی از ارجاعات API موجود خود را از برنامه خود بهروزرسانی یا حذف کنید، همانطور که در یادداشتهای انتشار و بعداً در این راهنمای مهاجرت توضیح داده شده است.
ارتقا از PBL 6 یا 7 به PBL 8
برای ارتقا از PBL 6 یا 7 به PBL 8، مراحل زیر را انجام دهید:
نسخه وابستگی کتابخانه پرداخت Play را در فایل
build.gradleبرنامه خود بهروزرسانی کنید.dependencies { def billingVersion = 8.0.0 implementation "com.android.billingclient:billing:$billingVersion" }(فقط برای ارتقا از PBL 6 به PBL 8 قابل اجرا است). تغییرات API مربوط به اشتراک را در برنامه خود مدیریت کنید.
جدول زیر APIهای مربوط به اشتراک که در PBL 8 حذف شدهاند و API جایگزین مربوطه که باید در برنامه خود استفاده کنید را فهرست میکند.
API منسوخشده قبلی در PBL 8 حذف شد API جایگزین برای استفاده setOldSkuPurchaseToken setOldPurchaseToken حالت جایگزینی تنظیمشده setSubscriptionReplacementMode setReplaceSkusProrationMode setSubscriptionReplacementMode پیادهسازی متد
queryProductDetailsAsyncرا بهروزرسانی کنید.تغییری در امضای متد
ProductDetailsResponseListener.onProductDetailsResponseایجاد شده است که مستلزم تغییراتی در برنامه شما برای پیادهسازیqueryProductDetailsAsyncاست. برای اطلاعات بیشتر، به بخش «نمایش محصولات موجود برای خرید» مراجعه کنید.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 (توصیه میشود) اتصال مجدد خودکار سرویس را فعال کنید.
اگر در حین قطع سرویس، فراخوانی API انجام شود، کتابخانه پرداخت Play میتواند به طور خودکار اتصال سرویس را دوباره برقرار کند. برای اطلاعات بیشتر، به فعال کردن اتصال مجدد خودکار سرویس مراجعه کنید.
تغییرات اختیاری.
پشتیبانی از خریدهای در انتظار برای طرحهای پیشپرداخت. برای اطلاعات بیشتر، به «مدیریت اشتراکها» و «تراکنشهای در انتظار» مراجعه کنید.
اشتراکهای قسطی مجازی. برای اطلاعات بیشتر، به بخش «یکپارچهسازی اشتراکهای قسطی» مراجعه کنید.