این سند نحوه مهاجرت از کتابخانه صورتحساب گوگل پلی ۵ یا ۶ به کتابخانه صورتحساب گوگل پلی ۷ و نحوه ادغام با قابلیتهای جدید اشتراک اختیاری را شرح میدهد.
برای مشاهده لیست کامل تغییرات نسخه ۷.۰.۰، به یادداشتهای انتشار مراجعه کنید.
نمای کلی
کتابخانه پرداخت گوگل پلی ۷، مدیریت پرداخت را برای ویژگیهای اشتراک موجود بهبود میبخشد. این پیشرفتهای اختیاری، پشتیبانی از پرداخت با طرحهای اقساطی و همچنین پشتیبانی از خریدهای در انتظار برای اشتراکهای پیشپرداخت را اضافه میکنند.
ارتقاء کتابخانه پرداخت Play سازگار با نسخههای قبلی
تمام APIهای جدید Google Play Billing Library 7 اختیاری هستند و توسعهدهندگان برای بهروزرسانی نیازی به اعمال هیچ تغییری در API ندارند.
برای مهاجرت، باید ارجاعات API را بهروزرسانی کنید و APIهای خاصی را از برنامه خود حذف کنید، همانطور که در یادداشتهای انتشار و بعداً در این راهنمای مهاجرت توضیح داده شده است.
ارتقا از PBL 5 به PBL 7
بخشهای زیر نحوه ارتقاء از PBL 5 به PBL 7 را شرح میدهند.
بهروزرسانی کتابخانه پرداخت گوگل پلی
نسخه وابستگی کتابخانه پرداخت Play را در فایل build.gradle برنامه خود بهروزرسانی کنید.
dependencies {
def billingVersion = 7.0.0
implementation "com.android.billingclient:billing:$billingVersion"
}
در مرحله بعد، منابع API خود را همانطور که در بخشهای بعدی توضیح داده شده است، بهروزرسانی کنید.
تغییر خریدهای اشتراک کاربر
کتابخانه پرداخت Play نسخه ۵ و قبل از آن ProrationMode برای اعمال تغییرات در خریدهای اشتراک کاربر، مانند ارتقاء یا تنزل رتبه، استفاده میکرد. این API حذف شده و با ReplacementMode جایگزین شده است.
مدیریت تغییرات قیمت اشتراک
API launchPriceConfirmationFlow که قبلاً منسوخ شده بود، حذف شده است. برای جایگزینها، به راهنمای تغییرات قیمت مراجعه کنید.
مدیریت تغییرات API مربوط به اشتراک
API های قبلاً منسوخ شده setOldSkuPurchaseToken ، setReplaceProrationMode و setReplaceSkusProrationMode حذف شده اند.
-
setOldSkuPurchaseTokenبهsetOldPurchaseTokenبهروزرسانی کنید. -
setReplaceProrationModeبهsetSubscriptionReplacementModeبهروزرسانی کنید. -
setReplaceSkusProrationModeبهsetSubscriptionReplacementModeبهروزرسانی کنید.
مدیریت خطاهای کتابخانهی پرداخت Play
کد جدید NETWORK_ERROR نشاندهندهی مشکلاتی در اتصال شبکه بین دستگاه کاربر و سیستم گوگل پلی است.
کدهای SERVICE_TIMEOUT و SERVICE_UNAVAILABLE نیز بهروزرسانی شدند.
برای اطلاعات بیشتر، به کدهای پاسخ Handle BillingResult مراجعه کنید.
رسیدگی به تراکنشهای در حال انتظار
کتابخانه پرداخت Play دیگر برای خریدهای در حال انتظار، شناسه سفارش ایجاد نمیکند. برای این خریدها، شناسه سفارش پس از انتقال خرید به حالت PURCHASED ) پر میشود. مطمئن شوید که ادغام شما فقط پس از تکمیل کامل تراکنش، شناسه سفارش را انتظار دارد. شما همچنان میتوانید از توکن خرید برای سوابق خود استفاده کنید.
برای اطلاعات بیشتر در مورد مدیریت خریدهای در انتظار، به راهنمای ادغام کتابخانه صورتحساب Play و راهنمای مدیریت چرخه عمر خرید مراجعه کنید.
APIهای صورتحساب جایگزین حذفشده را مدیریت کنید
BillingClient.Builder.enableAlternativeBilling ، AlternativeBillingListener و AlternativeChoiceDetails حذف شدند. توسعهدهندگان باید به جای آن BillingClient.Builder.enableUserChoiceBilling() به همراه UserChoiceBillingListener و UserChoiceDetails در تابع فراخوانی listener استفاده کنند.
این بهروزرسانی، تغییر نام APIهای منسوخشده بدون هیچ تغییر رفتاری است.
تغییرات اختیاری
PBL 7 شامل دو API اختیاری جدید است.
پشتیبانی از خریدهای در انتظار برای طرحهای پیشپرداخت
به راهنمای مدیریت اشتراکها و تراکنشهای در انتظار مراجعه کنید.
اشتراکهای اقساطی مجازی
به راهنمای ادغام اشتراکهای اقساطی مراجعه کنید.
ارتقا از PBL 6 به PBL 7
بخشهای زیر نحوه ارتقاء از PBL 6 به PBL 7 را شرح میدهند.
بهروزرسانی کتابخانه پرداخت گوگل پلی
نسخه وابستگی کتابخانه پرداخت Play را در فایل build.gradle برنامه خود بهروزرسانی کنید.
dependencies {
def billingVersion = 7.0.0
implementation "com.android.billingclient:billing:$billingVersion"
}
در مرحله بعد، منابع API خود را همانطور که در بخشهای بعدی توضیح داده شده است، بهروزرسانی کنید.
مدیریت تغییرات API مربوط به اشتراک
API های قبلاً منسوخ شده setOldSkuPurchaseToken ، setReplaceProrationMode و setReplaceSkusProrationMode حذف شده اند.
-
setOldSkuPurchaseTokenبهsetOldPurchaseTokenبهروزرسانی کنید. -
setReplaceProrationModeبهsetSubscriptionReplacementModeبهروزرسانی کنید. -
setReplaceSkusProrationModeبهsetSubscriptionReplacementModeبهروزرسانی کنید.
APIهای صورتحساب جایگزین حذفشده را مدیریت کنید
BillingClient.Builder.enableAlternativeBilling ، AlternativeBillingListener و AlternativeChoiceDetails حذف شدند. توسعهدهندگان باید به جای آن BillingClient.Builder.enableUserChoiceBilling() به همراه UserChoiceBillingListener و UserChoiceDetails در تابع فراخوانی listener استفاده کنند.
تغییرات اختیاری
PBL 7 شامل دو API اختیاری جدید است.
پشتیبانی از خریدهای در انتظار برای طرحهای پیشپرداخت
به راهنمای مدیریت اشتراکها و تراکنشهای در انتظار مراجعه کنید.
اشتراکهای اقساطی مجازی
برای اطلاعات بیشتر در مورد نحوه ادغام این تغییرات در برنامه خود، به راهنمای ادغام اشتراکهای اقساطی مراجعه کنید.