SuperAPI AI 工具集

pbl-v7-to-v9-migration

通用与其它

查看项目

更新于 10-16 07:58

技能介绍

用途:指导把 Android 应用从 Play Billing Library 7.x 分两阶段迁移到 9.x。官方没有 v7 直连 v9 的路径,绝大部分破坏性改动属于 v8.0.0,v9 仅需抬升 target SDK 并做三处小调整。PBL 7 于 2026 年 8 月 31 日起不再接受新应用和更新提交,需留出监控余量。\n\n主要能力:阶段 A(v7 到 v8)处理机械式重命名,包括 querySkuDetailsAsync 改为 queryProductDetailsAsync、SkuDetails 改为 ProductDetails、BillingClient.SkuType 改为 ProductType、queryPurchaseHistoryAsync 改为 queryPurchasesAsync、enablePendingPurchases() 改为带 PendingPurchasesParams 的版本、替代结算相关命名改为用户选择结算(UserChoiceBillingListener/UserChoiceDetails)、ProrationMode 改为 ReplacementMode 并按常量映射(如 IMMEDIATE_WITH_TIME_PRORATION 到 WITH_TIME_PRORATION)等。阶段 B(v8 到 v9)改动很小:依赖升级到 9.0.0、androidx.core 需 1.9+、compileSdk/targetSdk 升到 35、被屏蔽商店返回 BILLING_UNAVAILABLE、DeveloperProvidedBillingDetails.getLinkUri() 变为可空。\n\n使用方式:先定位 build.gradle(.kts) 或 libs.versions.toml 中的 com.android.billingclient:billing 依赖并确认版本,再按重命名表检索全部调用点,检查 minSdk(迁到 23)、compileSdk、targetSdk 与 androidx.core 版本。执行时分两阶段且不要交错:先完成阶段 A 得到干净编译(./gradlew clean assembleDebug),再进入阶段 B。依赖示例:implementation("com.android.billingclient:billing-ktx:8.1.0"),阶段 B 升级为 9.0.0。\n\n适用场景:需要把仍在使用 PBL 7.x(或 5.x/6.x 但针对 v7 API 编译)的应用升级到 9.x 的 Android 开发项目,尤其涉及订阅升降级、替代结算、待处理购买等逻辑。\n\n限制:资料未提供具体定价、授权方式或支持平台范围;迁移需在真机与 License 测试账号上验证生命周期、自动重连与 v9 特有行为,并且在至少一个完整计费周期内通过内部测试轨道监控崩溃与计费成功率后再发布生产。