5.4.0

Dependency Updates

5.3.0

Dependency Updates

Other Changes

5.2.4

Bugfixes

Other Changes

5.2.3

Bugfixes

Dependency Updates

5.2.2

Dependency Updates

5.2.1

Dependency Updates

5.2.0

Dependency Updates

5.1.0

Dependency Updates

Other Changes

5.0.0

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

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:

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

Models

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

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
    },
    "isPrepaid": false,
    "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.

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

New Features

5.0.0-beta.6

Breaking Changes

New Features

5.0.0-beta.5

Breaking Changes

Other Changes

5.0.0-beta.4

Bugfixes

5.0.0-beta.3

Breaking Changes

New Features

5.0.0-beta.2

Breaking Changes

Bug Fixes

5.0.0-beta.1

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

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:

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

Models

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

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.18.0

Dependency Updates

Other Changes

4.17.0

New Features

Dependency Updates

Other Changes

4.16.0

Dependency Updates

4.15.0

Dependency Updates

4.14.3

Dependency Updates

Other Changes

4.14.2

Dependency Updates

Other Changes

4.14.1

Dependency Updates

4.14.0

Dependency Updates

4.13.5

Bugfixes

Other Changes

4.13.4

Dependency Updates

4.13.3

Bugfixes

4.13.2

Dependency Updates

4.13.1

Dependency Updates

4.13.0

New Features

Dependency Updates

4.12.1

Dependency Updates

Other Changes

4.12.0

New Features

4.11.0

New Features

Dependency Updates

Other Changes

4.10.0

New Features

4.9.0

Dependency Updates

Other Changes

4.8.0

New Features

Other Changes

4.7.0

New Features

Other Changes

4.6.0

Other Changes

4.5.4

Other Changes

4.5.3

Other Changes

4.5.2

Other Changes

4.5.1

Other Changes

4.5.0

Other Changes

4.4.4

Other Changes

4.4.3

Other Changes

4.4.2

Other Changes

4.4.1

Other Changes

4.4.0

Other Changes

4.3.6

Other Changes

4.3.5

Other Changes

4.3.4

Other Changes

4.3.3

Bugfixes

4.3.2

Other Changes

4.3.1

Other Changes

4.3.0

Other Changes

4.2.2

Bugfixes

Other Changes

4.2.1

Bugfixes

Other Changes

4.2.0

New Features

4.1.5

Other Changes

4.1.4

API Changes

Other Changes

4.1.3

Other Changes

4.1.2

Other Changes

4.1.1

4.1.0

4.0.2

4.0.1

4.0.0

3.3.0

3.2.4

3.2.3

3.2.2

3.2.1

3.2.0

3.1.0

3.0.0

2.0.1

2.0.0

Breaking changes

Other

1.11.2

1.11.1

1.11.0

Add ownershipType to EntitlementInfo - #101

1.10.1

1.10.0

1.9.3

1.9.2

1.9.1

1.9.0

1.8.2

1.8.1

1.8.0

Identity V3

New methods
Deprecations

Dependency updates

Bug Fixes

1.7.1

1.7.0

1.6.3

1.6.2

1.6.1

1.6.0

1.5.1

1.5.0

1.4.5

1.4.4

1.4.3

1.4.2

1.4.1

1.4.0

1.3.1

1.3.0

1.2.0

1.1.2

1.1.1

1.1.0

1.0.14

1.0.13

1.0.12

1.0.11

1.0.10

1.0.9

1.0.8

1.0.7

1.0.6

1.0.5