Purchases Flutter Versions Save

Flutter plugin for in-app purchases and subscriptions. Supports iOS, macOS and Android.

5.1.0

10 months ago

Dependency Updates

Other Changes

  • [EXTERNAL] v5-MIGRATION.md: replace defaultOffer w/ defaultOption (#728) (#729) via Toni Rico (@tonidero)
  • Fix purchase tester reconfiguring the SDK (#722) via Toni Rico (@tonidero)

5.0.0

11 months ago

RevenueCat Purchases Flutter v5 is here!! 😻

This latest release updates the Android SDK dependency from v5 to v6 to use BillingClient 5. This version of BillingClient brings an entire new subscription model which has resulted in large changes across the entire SDK.

Migration Guides

  • See Android Native - 5.x to 6.x Migration for a more thorough explanation of the new Google subscription model announced with BillingClient 5 and how to take advantage of it in V6. This guide includes tips on product setup with the new model.

New SubscriptionOption concept

Purchasing

In v4, a Google Play Android Package or StoreProduct represented a single purchaseable entity, and free trials or intro offers would automatically be applied to the purchase if the user was eligible.

Now, in Flutter v5, an Google Play Android Package or StoreProduct represents a duration of a subscription and contains all the ways to purchase that duration -- any offers and its base plan. Each of these purchase options are SubscriptionOptions. When passing a Package to purchasePackage() or StoreProduct to purchaseStoreProduct(), the SDK will use the following logic to choose which SubscriptionOption to purchase:

  • Filters out offers with "rc-ignore-offer" tag
  • Uses SubscriptionOption with the longest free trial or cheapest first phase
    • Only offers the user is eligible will be applied
  • Falls back to base plan

For more control, purchase subscription options with the new purchaseSubscriptionOption() method.

Models

StoreProduct now has a few new properties use for Google Play Android:

  • defaultOption
    • A subscription option that will automatically be applie when purchasing a Package or StoreProduct
  • subscriptionOptions
    • A list of subscription options (could be null)

Observer Mode

Observer mode is still supported in v5. Other than updating the SDK version, there are no changes required.

Offline Entitlements

✨ With this new feature, even if our main and backup servers are down, the SDK can continue to process purchases. This is enabled transparently to the user, and when the servers come back online, the SDK automatically syncs the information so it can be visible in the dashboard.

Offering Metadata

✨ Metadata allows attaching arbitrary information as key/value pairs to your Offering to control how to display your products inside your app. The metadata you configure in an Offering is available from the RevenueCat SDK. For example, you could use it to remotely configure strings on your paywall, or even URLs of images shown on the paywall.

See the metadata documentation for more info!

5.0.0-rc.1

11 months ago

The first release candidate of RevenueCat Purchases Flutter v5 is here!! 😻

This latest release updates the Android SDK dependency from v5 to v6 to use BillingClient 5. This version of BillingClient brings an entire new subscription model which has resulted in large changes across the entire SDK.

Migration Guides

  • See Android Native - 5.x to 6.x Migration for a more thorough explanation of the new Google subscription model announced with BillingClient 5 and how to take advantage of it in V6. This guide includes tips on product setup with the new model.

New SubscriptionOption concept

Purchasing

In v4, a Google Play Android Package or StoreProduct represented a single purchaseable entity, and free trials or intro offers would automatically be applied to the purchase if the user was eligible.

Now, in Flutter v5, an Google Play Android Package or StoreProduct represents a duration of a subscription and contains all the ways to purchase that duration -- any offers and its base plan. Each of these purchase options are SubscriptionOptions. When passing a Package to purchasePackage() or StoreProduct to purchaseStoreProduct(), the SDK will use the following logic to choose which SubscriptionOption to purchase:

  • Filters out offers with "rc-ignore-offer" tag
  • Uses SubscriptionOption with the longest free trial or cheapest first phase
    • Only offers the user is eligible will be applied
  • Falls back to base plan

For more control, purchase subscription options with the new purchaseSubscriptionOption() method.

Models

StoreProduct now has a few new properties use for Google Play Android:

  • defaultOption
    • A subscription option that will automatically be applie when purchasing a Package or StoreProduct
  • subscriptionOptions
    • A list of subscription options (could be null)

Observer Mode

Observer mode is still supported in v5. Other than updating the SDK version, there are no changes required.

New Features

  • Adding metadata to offering (#716) via Josh Holtz (@joshdholtz)
  • Add missing proration modes + fix analyzer issues (#708) via Mark Villacampa (@MarkVillacampa)

4.13.0

11 months ago

Bugfixes

  • Fix deprecation warning (#694) via Andy Boedo (@aboedo)

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.18.0 (#709) via RevenueCat Git Bot (@RCGitBot)
  • Increases upper limit and removes minimum flutter version (#702) via Cesar de la Vega (@vegaro)
  • Bump fastlane from 2.212.2 to 2.213.0 (#696) via dependabot[bot] (@dependabot[bot])

Other Changes

  • Fix analyzer issues (#706) via Mark Villacampa (@MarkVillacampa)
  • Fix integration tests (#703) via Mark Villacampa (@MarkVillacampa)
  • Support Gradle 8+ (#698) via Cesar de la Vega (@vegaro)
  • Fix issues when running Flutter 3.10.2 (#699) via Cesar de la Vega (@vegaro)

4.12.0

1 year ago

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.15.0 (#680) via RevenueCat Git Bot (@RCGitBot)
  • Bump cocoapods from 1.12.0 to 1.12.1 (#672) via dependabot[bot] (@dependabot[bot])
  • Bump danger from 9.2.0 to 9.3.0 (#678) via dependabot[bot] (@dependabot[bot])

4.11.3

1 year ago

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.3 (#674) via RevenueCat Git Bot (@RCGitBot)
  • Bump fastlane from 2.212.1 to 2.212.2 (#670) via dependabot[bot] (@dependabot[bot])
  • Bump activesupport from 7.0.4.2 to 7.0.4.3 (#644) via dependabot[bot] (@dependabot[bot])

Other Changes

  • Update fastlane-plugin-revenuecat version (#669) via Cesar de la Vega (@vegaro)

5.0.0-beta.2

1 year ago

Breaking Changes

  • Update to PurchasesHyridCommon 5.0.0-beta.6 (#666) via Josh Holtz (@joshdholtz)
    • Renamed ProductType back to ProductCategory
    • Period now has PeriodUnit instead of Unit
    • purchaseProduct() is still deprecated but reverted back to same signature as 4.x.x

Other Changes

  • Fix docs for purchaseSubscriptionOption (#660) via Josh Holtz (@joshdholtz)
  • Update CircleCI Xcode version to 14.3.0 and update iOS runtime to 16.4 (#658) via Mark Villacampa (@MarkVillacampa)

4.11.2

1 year ago

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.2 (#661) via RevenueCat Git Bot (@RCGitBot)

5.0.0-beta.1

1 year ago

The first beta of RevenueCat Purchases Flutter v5 is here!! 😻

This latest release updates the Android SDK dependency from v5 to v6 to use BillingClient 5. This version of BillingClient brings an entire new subscription model which has resulted in large changes across the entire SDK.

Migration Guides

  • See Android Native - 5.x to 6.x Migration for a more thorough explanation of the new Google subscription model announced with BillingClient 5 and how to take advantage of it in V6. This guide includes tips on product setup with the new model.

New SubscriptionOption concept

Purchasing

In v4, a Google Play Android Package or StoreProduct represented a single purchaseable entity, and free trials or intro offers would automatically be applied to the purchase if the user was eligible.

Now, in Flutter v5, an Google Play Android Package or StoreProduct represents a duration of a subscription and contains all the ways to purchase that duration -- any offers and its base plan. Each of these purchase options are SubscriptionOptions. When passing a Package to purchasePackage() or StoreProduct to purchaseStoreProduct(), the SDK will use the following logic to choose which SubscriptionOption to purchase:

  • Filters out offers with "rc-ignore-offer" tag
  • Uses SubscriptionOption with the longest free trial or cheapest first phase
    • Only offers the user is eligible will be applied
  • Falls back to base plan

For more control, purchase subscription options with the new purchaseSubscriptionOption() method.

Models

StoreProduct now has a few new properties use for Google Play Android:

  • defaultOption
    • A subscription option that will automatically be applie when purchasing a Package or StoreProduct
  • subscriptionOptions
    • A list of subscription options (could be null)

Observer Mode

Observer mode is still supported in v5. Other than updating the SDK version, there are no changes required.

5.0.0-alpha.1

1 year ago

The first alpha of RevenueCat Purchases Flutter v5 is here!! 😻

This latest release updates the Android SDK dependency from v5 to v6 to use BillingClient 5. This version of BillingClient brings an entire new subscription model which has resulted in large changes across the entire SDK.

Migration Guides

  • See Android Native - 5.x to 6.x Migration for a more thorough explanation of the new Google subscription model announced with BillingClient 5 and how to take advantage of it in V6. This guide includes tips on product setup with the new model.

New SubscriptionOption concept

Purchasing

In v4, a Google Play Android Package or StoreProduct represented a single purchaseable entity, and free trials or intro offers would automatically be applied to the purchase if the user was eligible.

Now, in Flutter v5, an Google Play Android Package or StoreProduct represents a duration of a subscription and contains all the ways to purchase that duration -- any offers and its base plan. Each of these purchase options are SubscriptionOptions. When passing a Package to purchasePackage() or StoreProduct to purchaseStoreProduct(), the SDK will use the following logic to choose which SubscriptionOption to purchase:

  • Filters out offers with "rc-ignore-offer" tag
  • Uses SubscriptionOption with the longest free trial or cheapest first phase
    • Only offers the user is eligible will be applied
  • Falls back to base plan

For more control, purchase subscription options with the new purchaseSubscriptionOption() method.

Models

StoreProduct now has a few new properties use for Google Play Android:

  • defaultOption
    • A subscription option that will automatically be applie when purchasing a Package or StoreProduct
  • subscriptionOptions
    • A list of subscription options (could be null)

Observer Mode

Observer mode is still supported in v5. Other than updating the SDK version, there are no changes required.