Skip to content

Releases: RevenueCat/purchases-hybrid-common

4.14.3

19 Apr 23:16
Compare
Choose a tag to compare

Dependency Updates

  • [AUTOMATIC] iOS 4.17.10 => 4.17.11 (#394) via RevenueCat Git Bot (@RCGitBot)
  • Bump cocoapods from 1.12.0 to 1.12.1 (#393) via dependabot[bot] (@dependabot[bot])
  • Bump fastlane from 2.212.1 to 2.212.2 (#391) via dependabot[bot] (@dependabot[bot])
  • [AUTOMATIC] iOS 4.17.9 => 4.17.10 (#389) via RevenueCat Git Bot (@RCGitBot)

Other Changes

  • Bump fastlane-plugin-revenuecat_internal from 9255366 to 8482a43 (#375) via dependabot[bot] (@dependabot[bot])

5.0.0-beta.6

14 Apr 13:16
Compare
Choose a tag to compare
5.0.0-beta.6 Pre-release
Pre-release

Breaking Changes

  • Reverted breaking change for productType on StoreProduct mapper (#386) via Josh Holtz (@joshdholtz)

New Features

  • Add productCategory support in getProductInfo() and purchaseProduct() (#387) via Josh Holtz (@joshdholtz)

5.0.0-beta.5

12 Apr 20:04
Compare
Choose a tag to compare
5.0.0-beta.5 Pre-release
Pre-release

Breaking Changes

  • iOS rename productCategory to product type and productType to productSubtype (#377) via Josh Holtz (@joshdholtz)
  • Android rename productCategory to productType and productType to productSubtype (#376) via Josh Holtz (@joshdholtz)

Other Changes

  • Use new mapped product type values for purchaseProduct() and getProductInfo() (#384) via Josh Holtz (@joshdholtz)

4.14.2

12 Apr 16:02
Compare
Choose a tag to compare

Dependency Updates

  • [AUTOMATIC] iOS 4.17.8 => 4.17.9 (#379) via RevenueCat Git Bot (@RCGitBot)
  • Bump activesupport from 7.0.4.2 to 7.0.4.3 (#360) via dependabot[bot] (@dependabot[bot])

Other Changes

  • CommonFunctionality.beginRefundRequest: available on Catalyst (#374) via NachoSoto (@NachoSoto)

5.0.0-beta.4

06 Apr 14:07
Compare
Choose a tag to compare
5.0.0-beta.4 Pre-release
Pre-release

Bugfixes

  • Add platform check,OfferPaymentMode, and presentedOfferingIdentifier (#371) via Josh Holtz (@joshdholtz)

5.0.0-beta.3

04 Apr 13:31
Compare
Choose a tag to compare
5.0.0-beta.3 Pre-release
Pre-release

Breaking Changes

  • [BC5] Use Int for Google proration mode to make mapping logic to GoogleProrationMode reusable (#368) via Josh Holtz (@joshdholtz)

New Features

  • [BC5] Add iso8601 to Period for subscription option pricing phases (#369) via Josh Holtz (@joshdholtz)

5.0.0-beta.2

03 Apr 17:12
Compare
Choose a tag to compare
5.0.0-beta.2 Pre-release
Pre-release

Breaking Changes

  • [BC5] Rename Period fields to unit and value (#365) via Josh Holtz (@joshdholtz)

Bug Fixes

  • [BC5] Fix purchaseProduct to work with productIdentifiers with base plans (#366) via Josh Holtz (@joshdholtz)

5.0.0-beta.1

31 Mar 18:54
Compare
Choose a tag to compare
5.0.0-beta.1 Pre-release
Pre-release

The first beta of RevenueCat Purchases Hybrid Common 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 Hybrid Common 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)
Subscription Option

Below is an example of what a subscription option:

{
    "id": "basePlan",
    "storeProductId": "subId:basePlanId",
    "productId": "subId",
    "pricingPhases": [
        {
            "price": 0,
            "priceString": "FREE",
            "period": "P1M",
            "cycles": 1
        },
        {
            "price": 4.99,
            "priceString": "$4.99",
            "period": "P1M",
            "cycles": 0
        }
    ],
    "tags": ["free-offers"],
    "isBasePlan": false,
    "billingPeriod": {
        "periodUnit": "MONTH",
        "periodNumberOfUnits": 0
    },
    "fullPricePhase": {
        "price": 4.99,
        "priceString": "$4.99",
        "period": "P1M",
        "cycles": 0
    },
    "freePhase" {
        "price": 0,
        "priceString": "FREE",
        "period": "P1M",
        "cycles": 1
    },
    "introPhase": null
}

Observer Mode

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

4.14.1

20 Mar 15:27
Compare
Choose a tag to compare

Dependency Updates

  • [AUTOMATIC] iOS 4.17.7 => 4.17.8 (#361) via RevenueCat Git Bot (@RCGitBot)

4.14.0

13 Mar 22:14
Compare
Choose a tag to compare

Dependency Updates

  • [AUTOMATIC] Android 5.8.0 => 5.8.2 (#353) via RevenueCat Git Bot (@RCGitBot)
  • [AUTOMATIC] Android 5.7.1 => 5.8.0 (#351) via RevenueCat Git Bot (@RCGitBot)
  • Bump cocoapods from 1.11.3 to 1.12.0 (#344) via dependabot[bot] (@dependabot[bot])