Skip to content

Releases: RevenueCat/react-native-purchases

7.26.1

11 Apr 07:44
Compare
Choose a tag to compare

Dependency Updates

7.26.0

05 Apr 14:41
Compare
Choose a tag to compare

New Features

  • Add TVOS support for Expo apps (#953) via Cesar de la Vega (@vegaro)

Dependency Updates

  • Bump fastlane from 2.219.0 to 2.220.0 (#964) via dependabot[bot] (@dependabot[bot])

7.25.0

01 Apr 14:02
Compare
Choose a tag to compare

New Features

  • Add font support to presentPaywall (#948) via Cesar de la Vega (@vegaro)

Dependency Updates

Other Changes

  • Remove usage of RCTEventEmitter in Android (#961) via Cesar de la Vega (@vegaro)
  • Fix pod install of sample when updating phc (#954) via Cesar de la Vega (@vegaro)

7.24.1

26 Mar 09:46
Compare
Choose a tag to compare

Bugfixes

  • Fix issue with iOS purchaseProduct arguments (#957) via Josh Holtz (@joshdholtz)

Other Changes

  • Remove flipper from tester (#950) via Cesar de la Vega (@vegaro)
  • Update Podfile.lock when upgrading phc (#946) via Cesar de la Vega (@vegaro)
  • Update changelog to include behavior change (#945) via Cesar de la Vega (@vegaro)
  • Fix generate_docs (#943) via Cesar de la Vega (@vegaro)
  • Add trigger_bump lane (#942) via Cesar de la Vega (@vegaro)

7.24.0

14 Mar 17:48
Compare
Choose a tag to compare

New Features

  • Add displayCloseButton option to PaywallView (#913) via Cesar de la Vega (@vegaro)
    • This changes the behavior of the PaywallView and FooterPaywallView in iOS, which were being dismissed automatically after a successful purchase. After this change, iOS matches existing Android's behavior, in which the onDismiss callback will get called whenever the paywall should be dismissed: after the user presses the close button, or after a successful purchase.

Dependency Updates

Other Changes

  • Make hotfixes not deploy with the latest tag nor update latest docs (#937) via Toni Rico (@tonidero)
  • Update RELEASING.md (#936) via Cesar de la Vega (@vegaro)
  • Add 6.7.2 to changelog (#935) via Cesar de la Vega (@vegaro)

6.7.2

08 Mar 14:04
Compare
Choose a tag to compare

Dependency Updates

7.23.0

07 Mar 05:06
Compare
Choose a tag to compare

Dependency Updates

Other Changes

  • Update react native version in purchase tester (#929) via Cesar de la Vega (@vegaro)
  • Increase react-native dev dependency version (#928) via Cesar de la Vega (@vegaro)
  • Upgrade jest to fix yargs-parser to fix vulnerabilities (#927) via Cesar de la Vega (@vegaro)

8.0.0-beta.1

28 Feb 10:36
Compare
Choose a tag to compare
8.0.0-beta.1 Pre-release
Pre-release

We have opened a channel in our Discord server for participants in the Beta to ask questions and give feedback: https://discord.gg/wXEfBGem5n.

iOS Updates

StoreKit 2

Version 8.0 of the RevenueCat SDK enables full StoreKit 2 flow on the SDK and the RevenueCat backend by default.

We have been testing StoreKit 2 support in parallel to StoreKit 1 in our backend for a while and we believe it is ready for widespread use.

Here's some of the benefits you get with StoreKit 2:

  • Better handling of a few specific edge cases which were unfixable with StoreKit 1:
  • No more "Missing receipt" errors in Sandbox that could result in failure restoring purchases or getting trial eligibility status "unknown".
  • No more "The purchased product was missing in the receipt" error that could cause an invalid receipt error when making a purchase.
  • Future proofing: StoreKit 1 APIs are being progressively deprecated by Apple, and new features are being added to StoreKit 2.
  • Faster processing time: More efficient and performant implementation of receipts validation. We have found that receipts validation can be ~200ms faster comparing to SK1 implementation for p95 of the requests.

In order to use StoreKit 2, you will need to configure your In-App Purchase Key in the RevenueCat dashboard.

The previously deprecated configuration option usesStoreKit2IfAvailable has been removed. Remove it from your configuration option to continue using StoreKit 2.

The SDK will automatically use StoreKit 1 where StoreKit 2 is not supported, in iOS 14 and earlier.

If for any reason you need to always use StoreKit 1, it is possible to switch back using the following configuration API:

Purchases.configure({
  apiKey: "key",
  storeKitVersion: Purchases.STOREKIT_VERSION.STOREKIT_1,
});

3rd Party Analytics SDKs

If you are using any 3rd party analytics SDKs to automatically track in-app purchases, you need to be aware most of them do not completely support logging purchases made with StoreKit 2. This is the case for some popular SDKs like Facebook, Mixpanel, OneSignal, Segment or Firebase. For these services, we recommend you use our data integrations.

If you're using the Firebase SDK, you'll need to follow these instructions to log purchases made with StoreKit 2.

Observer Mode

Version 8.0 of the SDK introduces support for observer mode when making purchases with StoreKit 2. You can enable it when configuring the SDK:

Purchases.configure({
  apiKey: "key",
  storeKitVersion: Purchases.STOREKIT_VERSION.STOREKIT_2,
  observerMode: true,
});

Additionally, because of the way in which StoreKit 2 operates, you must manually handle newly purchased transactions by calling Purchases.handleObserverModeTransaction(). Subscription updates will be automatically tracked.

# Your existing code to purchase a product with ID "product_id"
await purchaseProduct("product_id")

# Inform the SDK about the new purchase
await Purchases.handleObserverModeTransaction("product_id");

If you're using observer mode with StoreKit 1, you will need to explicitly configure the SDK to use StoreKit 1:

Purchases.configure({
  apiKey: "key",
  storeKitVersion: Purchases.STOREKIT_VERSION.STOREKIT_1,
  observerMode: true,
});

Original Application Version

If you're converting a paid app to in-app subscriptions, and want to provide existing customers with certain features, we recommend using the "original app version" field in customer info.

Because of a limitation of StoreKit 2, this field is not available if the customer is running on iOS 15. If this is a requirement for you, we recommend switching back to StoreKit 1.

Deployment Target

The minimum target for iOS has been raised to iOS 13.0.

Other Changes

  • Bump PHC to version 10.0.0-beta.1 via Mark Villacampa (@MarkVillacampa)
  • Add onRestoreStarted (#907) via Toni Rico (@tonidero)
  • Add onPurchaseStarted event (#911) via Cesar de la Vega (@vegaro)
  • [AUTOMATIC] Release/7.21.1 (#910)

Dependency Updates

Other Changes

  • Update cocoapods in Gemfile (#906) via Cesar de la Vega (@vegaro)

7.22.0

28 Feb 21:13
Compare
Choose a tag to compare

New Features

  • Add onRestoreStarted (#907) via Cesar de la Vega (@vegaro)
  • [EXTERNAL] Adding fontFamily from RN to CustomFontProvider in PaywallView (contributed by @Jjastiny) (#916) via Toni Rico (@tonidero)
  • Add onPurchaseStarted event (#911) via Cesar de la Vega (@vegaro)

Dependency Updates

Other Changes

  • Add some logs on sizing of the PaywallViewWrapper (#921) via Cesar de la Vega (@vegaro)
  • Fix iOS caches (#918) via Cesar de la Vega (@vegaro)
  • Add fontFamily usage to purchase tester (#917) via Toni Rico (@tonidero)

7.21.1

22 Feb 12:36
Compare
Choose a tag to compare

Dependency Updates

Other Changes

  • Update cocoapods in Gemfile (#906) via Cesar de la Vega (@vegaro)