3.3 KiB
3.3 KiB
Play Billing Library: Smart Version-Specific Checklist
Use this checklist to verify that every technical requirement between your [Current Version] and [Target Version] has been met.
PBL v1.x through v3.x
- [ ] [v1.0] Builder Pattern : Verify
BillingClient.newBuilder(context)is used. - [ ] [v2.0] Mandatory Acknowledgment : Verify
acknowledgePurchase()orconsumeAsync()is called within 3 days. - [ ] [v2.0] Response Types : Logic must handle
BillingResultobjects instead of raw integers. - [ ] [v3.0] Legacy Removal : Verify
ChildDirectedandUnderAgeOfConsentparameters are deleted.
PBL v4.x Series
- [ ] Async Purchasing : Confirm
queryPurchases()is replaced withqueryPurchasesAsync(). - [ ] Multi-SKU Accessors : Replace
getSku()withgetSkus()(returns a list) inPurchaseobjects. - [ ] Subscription Refactor : Verify
setSubscriptionUpdateParams()is used for change logic.
PBL v5.x Series
- [ ] Data Model Swap : Replace all instances of
SkuDetailswithProductDetails. - [ ] Personalized Pricing : Implement
setIsOfferPersonalized()for EU price disclosures.
PBL v6.x Series
- [ ] Replacement Mode : Replace
ProrationModewith theReplacementModeenum. - [ ] User Choice Billing : Replace
AlternativeBillingListenerwithUserChoiceBillingListener.
PBL v7.x Series
- [ ] SDK Compliance :
compileSdkis set to 34 or higher. - [ ] Pending Purchases : Replace parameterless
enablePendingPurchases()withenablePendingPurchases(PendingPurchaseParams). - [ ] API Cleanup : Replace
setOldSkuPurchaseToken()withsetOldPurchaseToken().
PBL v8.x Series
- [ ] SDK Compliance :
compileSdkis set to 34 or higher. - [ ] Terminology Shift: Rename "in-app items" to "one-time products" in UI/strings.
- [ ] Signature Enforcement :
onProductDetailsResponsesignature MUST be(BillingResult, QueryProductDetailsResult). - [ ] SUBS Offer Token : For
SUBStype,ProductDetailsParamsMUST include anofferToken. - [ ] Auto-Reconnection : Verify
enableAutoServiceReconnection()is used in the builder. - [ ] Min SDK Increase : Verify
minSdkVersionis at least 23.
PBL v9.x Series
- [ ] SDK Compliance :
compileSdkis set to 35 or higher. - [ ] API Removals : Ensure all usages of
SkuDetails,SkuDetailsParams, andSkuDetailsResponseListenerare removed and replaced with theirProductDetailsequivalents. - [ ] Blocked Store Error Handling : If targeting restricted device modes (e.g., kids modes), ensure
androidx.coreis at v1.9+ and update error logic to catchBILLING_UNAVAILABLEinstead ofERROR. - [ ] External Payment Program Null-Safety : If using developer-provided billing, update
DeveloperProvidedBillingDetails.getLinkUri()logic to explicitly check for bothnulland empty string ("") values before parsing.
Future Versions (PBL 10.0.0+)
- [ ] Dynamic Checklist Generation : For any version >=10.0.0, you MUST synthesize a new checklist for each new version header found in the Release Notes.
- [ ] Identify Version Delta : Review "Breaking Changes" and "Removed APIs" for the new version and create a list of terms to
grep.