Skip to content

Upgrade Xamarin.Android.Google.BillingClient to 8.3.0.2#680

Draft
jamesmontemagno with Copilot wants to merge 1 commit into
masterfrom
copilot/upgrade-xamarin-android-billingclient
Draft

Upgrade Xamarin.Android.Google.BillingClient to 8.3.0.2#680
jamesmontemagno with Copilot wants to merge 1 commit into
masterfrom
copilot/upgrade-xamarin-android-billingclient

Conversation

Copilot AI commented May 3, 2026

Copy link
Copy Markdown

Upgrades the Google Play Billing Library binding from 8.1.0 to 8.3.0.2 and applies all breaking-change mitigations required by the PBL 8.1–8.3 release notes.

Dependency changes

  • Xamarin.Android.Google.BillingClient: 8.1.08.3.0.2
  • Xamarin.AndroidX.Lifecycle.LiveData.Core: 2.9.32.10.0.2 (transitive conflict introduced by BillingClient 8.3.0.2)

API migration — subscription replacement mode (PBL 8.1)

SubscriptionUpdateParams.SetSubscriptionReplacementMode() is deprecated in PBL 8.1. Replacement mode now belongs on ProductDetailsParams via SubscriptionProductReplacementParams:

// Before (deprecated)
var updateParams = BillingFlowParams.SubscriptionUpdateParams.NewBuilder()
    .SetOldPurchaseToken(token)
    .SetSubscriptionReplacementMode((int)prorationMode)
    .Build();

// After
var replacementParams = SubscriptionProductReplacementParams.NewBuilder()
    .SetReplacementMode((int)prorationMode)
    .Build();

var prodDetailsParams = BillingFlowParams.ProductDetailsParams.NewBuilder()
    .SetProductDetails(skuDetails)
    .SetOfferToken(offerToken)
    .SetSubscriptionProductReplacementParams(replacementParams)
    .Build();

var updateParams = BillingFlowParams.SubscriptionUpdateParams.NewBuilder()
    .SetOldPurchaseToken(token)
    .Build(); // no replacement mode here anymore

Other required changes (PBL 8.1)

  • Android minSdkVersion: 2123 (SupportedOSPlatformVersion in .csproj)
  • New enum value: SubscriptionProrationMode.KeepExisting = 6 — keeps the original payment schedule when replacing a subscription

… API changes

Agent-Logs-Url: https://github.com/jamesmontemagno/InAppBillingPlugin/sessions/6e1fb475-64ed-4615-b13e-38f437d39cb0

Co-authored-by: jamesmontemagno <1676321+jamesmontemagno@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants