- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.9.0 (#1128) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.8.0 (#1125) via RevenueCat Git Bot (@RCGitBot)
- Bump rexml from 3.3.6 to 3.3.9 in /examples/purchaseTesterTypescript (#1115) via dependabot[bot] (@dependabot[bot])
- Bump cocoapods from 1.15.2 to 1.16.1 (#1119) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.7.0 (#1118) via RevenueCat Git Bot (@RCGitBot)
- Bump danger from 9.5.0 to 9.5.1 (#1112) via dependabot[bot] (@dependabot[bot])
- Bump fastlane from 2.224.0 to 2.225.0 (#1111) via dependabot[bot] (@dependabot[bot])
- Fix paywall footer dismissal crash (#1120) via Toni Rico (@tonidero)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.5.1 (#1107) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.5.0 (#1104) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.223.1 to 2.224.0 (#1103) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.4.0 (#1097) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.222.0 to 2.223.1 (#1096) via dependabot[bot] (@dependabot[bot])
- Update fastlane plugin (#1099) via Toni Rico (@tonidero)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.3.0 (#1094) via RevenueCat Git Bot (@RCGitBot)
- Bump serve-static from 1.15.0 to 1.16.2 (#1090) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.2.1 (#1089) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane-plugin-revenuecat_internal from 5140dbc to 55a0455 (#1091) via Cesar de la Vega (@vegaro)
- Update allowSharingAppStoreAccount deprecation message (#1086) via Will Taylor (@fire-at-will)
- Update fastlane-plugin-revenuecat_internal (#1084) via Cesar de la Vega (@vegaro)
- Adds pricePerPeriod functions to PurchasesStoreProduct (#1045) via JayShortway (@JayShortway)
- Bump micromatch from 4.0.7 to 4.0.8 (#1079) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.2.0 (#1081) via RevenueCat Git Bot (@RCGitBot)
- Bump rexml from 3.3.3 to 3.3.6 in /examples/MagicWeather (#1078) via dependabot[bot] (@dependabot[bot])
- Bump rexml from 3.3.3 to 3.3.6 in /examples/purchaseTesterTypescript (#1076) via dependabot[bot] (@dependabot[bot])
- Bump rexml from 3.3.3 to 3.3.6 (#1077) via dependabot[bot] (@dependabot[bot])
- Refine StoreKitVersion logging in configure function (#1068) via Will Taylor (@fire-at-will)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.1.0 (#1074) via RevenueCat Git Bot (@RCGitBot)
- Bump rexml from 3.2.8 to 3.3.3 in /examples/MagicWeather (#1072) via dependabot[bot] (@dependabot[bot])
- Bump rexml from 3.2.8 to 3.3.3 in /examples/purchaseTesterTypescript (#1066) via dependabot[bot] (@dependabot[bot])
- Bump rexml from 3.2.9 to 3.3.3 (#1065) via dependabot[bot] (@dependabot[bot])
- Typo fix in v8-MIGRATION.md (#1071) via Will Taylor (@fire-at-will)
- Updates purchases-hybrid-common to 13.0.1 (#1063) via Mark Villacampa (@MarkVillacampa)
- Bump danger from 9.4.3 to 9.5.0 (#1058) via dependabot[bot] (@dependabot[bot])
- Bump fast-xml-parser from 4.4.0 to 4.4.1 (#1051) via dependabot[bot] (@dependabot[bot])
Welcome to version 8.0 of the React Native RevenueCat SDK! A full migration guide can be found here.
- v8.0 Release (#1050) via Will Taylor (@fire-at-will)
- Bump fastlane from 2.221.1 to 2.222.0 (#1046) via dependabot[bot] (@dependabot[bot])
- Fix ws affected by a DoS (#1043) via Cesar de la Vega (@vegaro)
- docs: Update installation instructions for Expo (#1041) via Aman Mittal (@amandeepmittal)
- [EXTERNAL] Make the setProxyURL a promise to wait for the native code to set the proxy URL (#1033) contributed by @dangilbert (#1035) via Toni Rico (@tonidero)
- Setting
proxyURL
should not require configure (#1032) via Cesar de la Vega (@vegaro)
- Add support for
DEFERRED
upgrades and updates purchases-hybrid-common to 11.1.1 (#1029) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 11.0.0 (#1026) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.221.0 to 2.221.1 (#1023) via dependabot[bot] (@dependabot[bot])
- Bump ws from 6.2.2 to 6.2.3 (#1021) via dependabot[bot] (@dependabot[bot])
- Bump fastlane from 2.220.0 to 2.221.0 (#1020) via dependabot[bot] (@dependabot[bot])
- get_phc_version now also checks PHC UI versions (#1019) via JayShortway (@JayShortway)
- Bump braces from 3.0.2 to 3.0.3 (#1015) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.9.0 (#1014) via RevenueCat Git Bot (@RCGitBot)
- [EXTERNAL] Refactor magicweather package item via #1001 @onamfc (#1016) via Toni Rico (@tonidero)
- Bump rexml from 3.2.6 to 3.2.8 in /examples/purchaseTesterTypescript (#1010) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.8.0 (#1012) via RevenueCat Git Bot (@RCGitBot)
- Fix
purchaseDiscountedPackage
(#1007) via Cesar de la Vega (@vegaro)
- Bump rexml from 3.2.6 to 3.2.8 (#1004) via dependabot[bot] (@dependabot[bot])
- Bump rexml from 3.2.5 to 3.2.8 in /examples/MagicWeather (#1003) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.6.2 (#996) via RevenueCat Git Bot (@RCGitBot)
- Update fastlane plugin (#995) via Toni Rico (@tonidero)
- BillingClient has been updated to version 6.2.1
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.6.1 (#992) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.6.0 (#990) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.5.1 (#988) via RevenueCat Git Bot (@RCGitBot)
This release fixes support of react-native-purchases-ui for React Native 0.74 with any architecture.
- Fix Footer Paywall in new arch (#980) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.5.0 (#977) via RevenueCat Git Bot (@RCGitBot)
- Update to latest fastlane plugin version (#975) via Toni Rico (@tonidero)
- Update to latest fastlane-plugin-revenuecat_internal (#985) via Cesar de la Vega (@vegaro)
- Update to use M1 CircleCI machines (#983) via Cesar de la Vega (@vegaro)
- Only update docs index on latest stable releases (#972) via Toni Rico (@tonidero)
- Use ReactContext instead of ThemedReactContext in PaywallFooterViewManager (#971) via Cesar de la Vega (@vegaro)
- Bump tar from 6.2.0 to 6.2.1 (#968) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.4.1 (#970) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.4.0 (#967) via RevenueCat Git Bot (@RCGitBot)
- Add TVOS support for Expo apps (#953) via Cesar de la Vega (@vegaro)
- Bump fastlane from 2.219.0 to 2.220.0 (#964) via dependabot[bot] (@dependabot[bot])
- Add font support to presentPaywall (#948) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.3.2 (#962) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.3.1 (#960) via RevenueCat Git Bot (@RCGitBot)
- 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)
- Fix issue with iOS purchaseProduct arguments (#957) via Josh Holtz (@joshdholtz)
- 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)
- Add
displayCloseButton
option toPaywallView
(#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.
- 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
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.2.0 (#940) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.1.0 (#938) via RevenueCat Git Bot (@RCGitBot)
- 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)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.9.0 (#930) via RevenueCat Git Bot (@RCGitBot)
- 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)
- 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)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.8.0 (#915) via RevenueCat Git Bot (@RCGitBot)
- 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)
- Bump ip from 1.1.8 to 1.1.9 (#909) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.7.2 (#908) via RevenueCat Git Bot (@RCGitBot)
- Update cocoapods in Gemfile (#906) via Cesar de la Vega (@vegaro)
- Add listener functions to views (#887) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.7.1 (#903) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.7.0 (#901) via RevenueCat Git Bot (@RCGitBot)
- Bump cocoapods from 1.15.1 to 1.15.2 (#900) via dependabot[bot] (@dependabot[bot])
- Update CHANGELOG to include 6.7.1 release notes (#899) via Toni Rico (@tonidero)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.6.0 (#897) via RevenueCat Git Bot (@RCGitBot)
- Bump cocoapods from 1.15.0 to 1.15.1 (#895) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.5.0 (#893) via RevenueCat Git Bot (@RCGitBot)
- Upgrade purchase tester dependencies to upgrade JSON5 (#889) via Toni Rico (@tonidero)
- Bump danger from 9.4.2 to 9.4.3 (#890) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.4.0 (#888) via RevenueCat Git Bot (@RCGitBot)
- Add
offering
option to paywall views (#850) via Cesar de la Vega (@vegaro)
- Add xcodeproj to react-native-purchases-ui (#875) via Cesar de la Vega (@vegaro)
- Throw error if null module (#883) via Cesar de la Vega (@vegaro)
- Remove 'new NativeEventEmitter() was called with a non-null argument' (#882) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.3.0 (#885) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.2.1 (#880) via RevenueCat Git Bot (@RCGitBot)
- Bump cocoapods from 1.14.3 to 1.15.0 (#879) via dependabot[bot] (@dependabot[bot])
purchasePackage
: addStoreTransaction
inMakePurchaseResult
(#872) via NachoSoto (@NachoSoto)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.2.0 (#873) via RevenueCat Git Bot (@RCGitBot)
- Update react native devDependency versions (#874) via Cesar de la Vega (@vegaro)
- Fix for footer in lansdcape mode in iOS (#867) via Cesar de la Vega (@vegaro)
- Add Offering option to paywall functions (#855) via Cesar de la Vega (@vegaro)
Paywalls
: separatePurchasesHybridCommonUI
(#858) via NachoSoto (@NachoSoto)
PaywallViewManager
: added controller to UIVC hierarchy (#860) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.12.0 (#862) via RevenueCat Git Bot (@RCGitBot)
- Fix
update-hybrid-common-versions
(#865) via NachoSoto (@NachoSoto) RNPaywalls.podspec
: removePurchasesHybridCommon
dependency (#864) via NachoSoto (@NachoSoto)- Add repositories to
purchaseTesterTypescript
android build.gradle (#859) via Cesar de la Vega (@vegaro) Fastlane
: fixbump_phc_version
(#848) via NachoSoto (@NachoSoto)
- Fix
presentPaywall
andpresentPaywallIfNeeded
in iOS opening the paywall - [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.11.2 (#854) via RevenueCat Git Bot (@RCGitBot)
- Add
displayCloseButton
parameters to functions (#842) via Cesar de la Vega (@vegaro)
- Updates purchases-hybrid-common to 8.11.1 (#849) via RevenueCat Git Bot (@RCGitBot)
- Use parameter instead of multiple commands to install yarn dependencies (#843) via Toni Rico (@tonidero)
- Separate yarn caches by machine type (#841) via Toni Rico (@tonidero)
- 📱 Initial support for cross-platform RevenueCat Paywalls 🐾 🧱 (#837)
- Update your
package.json
to includereact-native-purchases-ui
:
{
"dependencies": {
"react-native-purchases": "7.15.0",
"react-native-purchases-ui": "7.15.0"
}
}
import RevenueCatUI, { PAYWALL_RESULT } from "../react-native-purchases-ui";
async function presentPaywallIfNeeded() {
const paywallResult: PAYWALL_RESULT = await RevenueCatUI.presentPaywallIfNeeded({
requiredEntitlementIdentifier: "pro"
});
}
You can find more information in our documentation.
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.2.1 (#814) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.2.0 (#812) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.1.2 (#806) via RevenueCat Git Bot (@RCGitBot)
- Bump danger from 9.4.1 to 9.4.2 (#805) via dependabot[bot] (@dependabot[bot])
- Bump danger from 9.4.0 to 9.4.1 (#798) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.1.1 (#802) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.1.0 (#800) via RevenueCat Git Bot (@RCGitBot)
- Bump cocoapods from 1.14.2 to 1.14.3 (#788) via dependabot[bot] (@dependabot[bot])
Trusted Entitlements
: add support for settingEntitlementVerificationMode
(#678) via NachoSoto (@NachoSoto)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.0.0 (#790) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.4.0 (#785) via RevenueCat Git Bot (@RCGitBot)
CI
: disableprepare-next-version
(#782) via NachoSoto (@NachoSoto)
- Bump fastlane from 2.216.0 to 2.217.0 (#780) via dependabot[bot] (@dependabot[bot])
- Bump danger from 9.3.2 to 9.4.0 (#779) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.3.3 (#778) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.3.2 (#776) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.3.1 (#769) via RevenueCat Git Bot (@RCGitBot)
- Update
VERSIONS
with4.6.3
(#774) via NachoSoto (@NachoSoto) - Update RevenueCat orb to 2.2.0 (#775) via Cesar de la Vega (@vegaro)
- Fix purchaseSubscriptionOption not accepting oldProductIdentifier (#764) via Toni Rico (@tonidero)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.3.0 (#765) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.2.0 (#760) via RevenueCat Git Bot (@RCGitBot)
- Bump cocoapods from 1.14.0 to 1.14.2 (#759) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.1.1 (#758) via RevenueCat Git Bot (@RCGitBot)
- Bump cocoapods from 1.13.0 to 1.14.0 (#756) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.1.0 (#752) via RevenueCat Git Bot (@RCGitBot)
RevenueCat React Native SDK v7 is here!! 😻
This latest release updates the SDK to use BillingClient 6 in Android. This version of BillingClient brings little change compared with BillingClient 5 which brought an entire new subscription model which resulted in large changes across the entire SDK.
The only modification at the API level involves replacing "ProrationMode" with "ReplacementMode". The specific replacement modes remain unchanged.
If your app doesn't currently use DEFERRED replacement modes, then you should be safe to upgrade to this version without changes in behavior.
If your app supports product changes using DEFERRED replacement mode, then you can either stick with the previous major version until support for DEFERRED is re-introduced in this major version, or you can remove DEFERRED replacement options from your app.
If you are using the SDK in observer mode, you should only use v7 in Android if you're using BillingClient 6.
See the Android Native - 6.x to 7.x Migration for more details.
If you come from an older version of the RevenueCat SDK, 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.
RevenueCat SDK v7 bumps minimum Android SDK version from Android 4.0 (API level 16) to Android 4.4 (API level 19).
We've added new APIs to support InApp messages both in Android and iOS. You can read more about:
- Google Play InApp Messages which will show users a snackbar message during grace period and account hold once per day and provide them an opportunity to fix their payment without leaving the app.
- App Store InApp messages which will show a modal during grace period once per subscription.
InApp Messages are shown by default in both platforms. If you want to disable this behaviour during configuration of the RevenueCat SDK, setup the shouldShowInAppMessagesAutomatically
property during configuration to false
:
Purchases.configure({
apiKey,
appUserID,
observerMode,
userDefaultsSuiteName,
usesStoreKit2IfAvailable,
useAmazon,
shouldShowInAppMessagesAutomatically
});
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.0.0 and temporarily removes
DEFERRED
proration mode (#747) via RevenueCat Git Bot (@RCGitBot) - Bump cocoapods from 1.12.1 to 1.13.0 (#740) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 6.3.2 (#933) via RevenueCat Git Bot (@RCGitBot)
- Updates purchases-hybrid-common to 6.3.1 (#965)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 6.3.0 (#743) via RevenueCat Git Bot (@RCGitBot)
- Bump danger from 9.3.1 to 9.3.2 (#737) via dependabot[bot] (@dependabot[bot])
- Bump fastlane from 2.215.1 to 2.216.0 (#736) via dependabot[bot] (@dependabot[bot])
- Bump fastlane from 2.214.0 to 2.215.1 (#734) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 6.1.2 (#729) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 6.1.0 (#724) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.6.4 (#719) via RevenueCat Git Bot (@RCGitBot)
- Bump activesupport from 6.1.7.3 to 6.1.7.6 in /examples/MagicWeather (#718) via dependabot[bot] (@dependabot[bot])
- Bump activesupport from 6.1.7.3 to 6.1.7.6 in /examples/purchaseTesterTypescript (#717) via dependabot[bot] (@dependabot[bot])
- Bump activesupport from 7.0.4.3 to 7.0.7.2 (#716) via dependabot[bot] (@dependabot[bot])
- Move typescript interfaces to PHC (#684) via Toni Rico (@tonidero)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.6.3 (#713) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.6.2 (#712) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.6.1 (#709) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.6.0 (#705) via RevenueCat Git Bot (@RCGitBot)
- Use correct type in offering metadata (#702) via Toni Rico (@tonidero)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.5.0 (#699) via RevenueCat Git Bot (@RCGitBot)
- Fix purchaseDiscountedPackage error with missing parameter (#694) via Josh Holtz (@joshdholtz)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.4.1 (#695) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.4.0 (#692) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.213.0 to 2.214.0 (#691) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.3.0 (#686) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.2.4 (#679) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.2.3 (#675) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.2.2 (#671) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.2.0 (#666) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.1.0 (#662) via RevenueCat Git Bot (@RCGitBot)
- Fix V6 migration docs to use correct method name (#661) via Toni Rico (@tonidero)
- [DENG-418] Accept
GoogleProductChangeInfo
inpurchasePackage
in Android (#657) via Mark Villacampa (@MarkVillacampa)
RevenueCat Purchases React Native v6 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.
- 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.
In v5, 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 React Native v6, 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 SubscriptionOption
s.
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.
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
orStoreProduct
- A subscription option that will automatically be applie when purchasing a
subscriptionOptions
- A list of subscription options (could be null)
Observer mode is still supported in v6. Other than updating the SDK version, there are no changes required.
✨ 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.
✨ 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!
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.18.0 (#638) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.212.2 to 2.213.0 (#632) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.16.0 (#628) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.15.0 (#623) via RevenueCat Git Bot (@RCGitBot)
- Update fastlane-plugin-revenuecat version (#622) via Cesar de la Vega (@vegaro)
- Bump danger from 9.2.0 to 9.3.0 (#615) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.3 (#612) via RevenueCat Git Bot (@RCGitBot)
- Bump cocoapods from 1.12.0 to 1.12.1 (#609) via dependabot[bot] (@dependabot[bot])
- Bump fastlane from 2.212.1 to 2.212.2 (#608) via dependabot[bot] (@dependabot[bot])
- Update
react-native-reanimated
in MagicWeather example app (#610) via Andy Boedo (@aboedo)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.2 (#603) via RevenueCat Git Bot (@RCGitBot)
- Create v4_to_v5_migration_guide.md (#601) via Andy Boedo (@aboedo)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.1 (#587) via RevenueCat Git Bot (@RCGitBot)
- Bump activesupport from 6.1.7.1 to 6.1.7.3 in /examples/MagicWeather (#582) via dependabot[bot] (@dependabot[bot])
- Bump activesupport from 6.1.7.2 to 6.1.7.3 in /examples/purchaseTesterTypescript (#583) via dependabot[bot] (@dependabot[bot])
- Bump activesupport from 7.0.4.2 to 7.0.4.3 (#584) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.0 (#578) via RevenueCat Git Bot (@RCGitBot)
- Add
immediateAndChargeFullPrice
proration mode (#574) via Andy Boedo (@aboedo)
- Deprecate
usesStoreKit2IfAvailable
(#570) via Andy Boedo (@aboedo)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.13.5 (#569) via RevenueCat Git Bot (@RCGitBot)
- Add
syncObserverModeAmazonPurchase
(#552) via Cesar de la Vega (@vegaro)
- Bump cocoapods from 1.11.3 to 1.12.0 (#566) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.13.4 (#565) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.212.0 to 2.212.1 (#564) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.13.3 (#561) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.13.2 (#559) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.211.0 to 2.212.0 (#558) via dependabot[bot] (@dependabot[bot])
- Reformats files (#553) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.13.1 (#554) via RevenueCat Git Bot (@RCGitBot)
- Adds setLogHandler (#544) via Cesar de la Vega (@vegaro)
- Added
setLogLevel
(#531) via NachoSoto (@NachoSoto)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.12.1 (#547) via RevenueCat Git Bot (@RCGitBot)
- Configures dependabot (#541) via Cesar de la Vega (@vegaro)
- Changes to npm scripts and DEVELOPMENT.md (#546) via Cesar de la Vega (@vegaro)
- Upgrade purchase tester to React Native 0.71.2 (#545) via Cesar de la Vega (@vegaro)
- Update gems (#540) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.12.0 (#539) via RevenueCat Git Bot (@RCGitBot)
- Change prepublish hook to prepare (#534) via Cesar de la Vega (@vegaro)
- Adds missing docs for PurchasesConfiguration (#528) via Cesar de la Vega (@vegaro)
- Add latest error codes from native layer to react native (#524) via Toni Rico (@tonidero)
- Add beginRefundRequest APIs for iOS 15+ (#523) via Toni Rico (@tonidero)
- Adds PurchasesStoreProduct.susbcriptionPeriod (#522) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.10.0 (#533) via RevenueCat Git Bot (@RCGitBot)
- Bump activesupport from 6.1.4.6 to 6.1.7.1 in /examples/MagicWeather (#529) via dependabot[bot] (@dependabot[bot])
DEVELOPMENT.md
: clarified invocation commands (#527) via NachoSoto (@NachoSoto)- Fixed
Xcode
spelling (#525) via NachoSoto (@NachoSoto) DEVELOPMENT.md
: replacedyarn
commands withnpx
(#526) via NachoSoto (@NachoSoto)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.8.0 (#516) via RevenueCat Git Bot (@RCGitBot)
- Update Gemfile.lock (#517) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.7.0 (#510) via RevenueCat Git Bot (@RCGitBot)
- Adds missing params for better changelogs when bumping (#513) via Cesar de la Vega (@vegaro)
- Update Gemfile.lock (#512) via Cesar de la Vega (@vegaro)
- remove stalebot in favor of SLAs in Zendesk (#509) via Andy Boedo (@aboedo)
- Update fastlane-plugin-revenuecat_internal to latest version (#507) via Cesar de la Vega (@vegaro)
- Add setFirebaseAppInstanceID, setMixpanelDistinctID, setCleverTapID (#499) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.4 (#504) via RevenueCat Git Bot (@RCGitBot)
- Remove Podfile.locks when running
pods
script (#502) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.3 (#498) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.2 (#495) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.1 (#491) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.0 (#488) via RevenueCat Git Bot (@RCGitBot)
- Update typedoc dependency and fix 5.2.3 docs (#484) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.4.4 (#481) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.4.3 (#478) via RevenueCat Git Bot (@RCGitBot)
- Update typescript version to 4.9.3 (#482) via Cesar de la Vega (@vegaro)
- Use receivedUpdatedCustomerInfo instead of didReceiveUpdatedCustomerInfo (#473) via Ian Ownbey (@imownbey)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.4.1 (#470) via RevenueCat Git Bot (@RCGitBot)
- Update Fastlane plugin (#467) via Cesar de la Vega (@vegaro)
- [AUTOMATIC] Updates purchases-hybrid-common to 4.4.0 (#463) via RevenueCat Git Bot (@RCGitBot)
- Update fastlane-plugin-revenuecat_internal (#457) via Cesar de la Vega (@vegaro)
- [AUTOMATIC] Updates purchases-hybrid-common to 4.3.6 (#456) via RevenueCat Git Bot (@RCGitBot)
- bump fastlane plugin to latest version (#452) via Andy Boedo (@aboedo)
- [AUTOMATIC] Updates purchases-hybrid-common to 4.3.2 (#451) via RevenueCat Git Bot (@RCGitBot)
- Adds missing \ via Cesar de la Vega (@vegaro)
- [AUTOMATIC] Updates purchases-hybrid-common to 4.3.1 (#447) via Cesar de la Vega (@vegaro)
- Updated main and MagicWeather README to match purchases-ios (#433) via rglanz-rc (@rglanz-rc)
- Move prepare_next_version job to different workflow (#434) via Toni Rico (@tonidero)
- Switch to main before preparing next release (#432) via Cesar de la Vega (@vegaro)
- Add link to reference docs at the bottom (#426) via Andy Boedo (@aboedo)
presentCodeRedemptionSheet
: fixed Catalyst build (#425) via NachoSoto (@NachoSoto)purchaseProduct
not working when SK2 is enabled (#402)
- Updated purchases-hybrid-common to 4.2.1
- Configures Danger (#421) via Cesar de la Vega (@vegaro)
- Add link to SDK reference to README (#419) via Jens-Fabian Goetzmann (@jefago)
- Specify branch for deployment dependencies (#418) via Toni Rico (@tonidero)
We have introduced support for using the Amazon Store. You can enable Amazon Store support by configuring the SDK using the new configure function:
Purchases.configure({ apiKey: "AMAZON_API_KEY", useAmazon: true });
For more information around configuration please take a look at the Amazon Store section in our docs. The official Amazon In-App Purchasing docs also contain very valuable information, specially around testing and best practices.
New method for automatic collecting of attribution tokens on iOS and macOS using AdServices - Purchases.enableAdServicesAttributionTokenCollection()
This version of the SDK automatically uses StoreKit 2 APIs under the hood only for APIs that the RevenueCat team has determined work better than StoreKit 1.
New types that wrap native types from Apple, Google and Amazon, and we cleaned up the naming of other types and methods for a more consistent experience.
setUp
has been removed in favor ofconfigure
configure
now expects an Object for the different parameters. Example:
Purchases.configure({
apiKey: "key",
appUserID: "user ID",
observerMode: false,
userDefaultsSuiteName: "suite name",
usesStoreKit2IfAvailable: true,
useAmazon: true
});
identify
andcreateAlias
have been removed in favor oflogIn
.reset
has been removed in favor oflogOut
.addAttributionData
has been removed in favor ofset<NetworkID> methods
.PurchasesStoreProduct
: removedintro_price_string
,intro_price_period
,intro_price_cycles
,intro_price_period_unit
,intro_price_period_number_of_units
in favor of newintroPrice: PurchasesIntroPrice
.PurchasesStoreTransaction
: removedrevenueCatId
andproductId
in favor oftransactionIdentifier
andproductIdentifier
respectively.
4.x | 5.0.0 |
---|---|
PurchaserInfo |
CustomerInfo |
PurchasesProduct |
PurchasesStoreProduct |
PurchasesStoreProductProduct.price_string |
PurchasesStoreProductProduct.priceString |
PurchasesStoreProductProduct.currency_code |
PurchasesStoreProductProduct.currencyCode |
PurchasesTransaction |
PurchasesStoreTransaction |
PurchasesTransaction.revenueCatId |
PurchasesStoreTransaction.transactionIdentifier |
PurchasesTransaction.productId |
PurchasesStoreTransaction.productIdentifier |
PurchasesDiscount |
PurchasesStoreProductDiscount |
PurchasesPaymentDiscount |
PurchasesPromotionalOffer |
Purchases.restoreTransactions |
Purchases.restorePurchases |
Purchases.getPaymentDiscount |
Purchases.getPromotionalOffer |
Purchases.invalidatePurchaserInfoCache |
Purchases.invalidateCustomerInfoCache |
Purchases.addPurchaserInfoUpdateListener |
Purchases.addCustomerInfoUpdateListener |
Purchases.removePurchaserInfoUpdateListener |
Purchases.removeCustomerInfoUpdateListener |
- Bump purchases-hybrid-common version to 4.1.2 (#408) via Toni Rico (@tonidero)
- Bumped purchases-hybrid-common dependency to 4.1.1
New method for automatic collecting of attribution tokens on iOS and macOS using AdServices - Purchases.enableAdServicesAttributionTokenCollection()
This version of the SDK automatically uses StoreKit 2 APIs under the hood only for APIs that the RevenueCat team has determined work better than StoreKit 1.
New types that wrap native types from Apple, Google and Amazon, and we cleaned up the naming of other types and methods for a more consistent experience.
setUp
has been removed in favor ofconfigure
configure
now expects an Object for the different parameters. Example:
Purchases.configure({
apiKey: "key",
appUserID: "user ID",
observerMode: false,
userDefaultsSuiteName: "suite name",
usesStoreKit2IfAvailable: true,
useAmazon: true
});
identify
andcreateAlias
have been removed in favor oflogIn
.reset
has been removed in favor oflogOut
.addAttributionData
has been removed in favor ofset<NetworkID> methods
.PurchasesStoreProduct
: removedintro_price_string
,intro_price_period
,intro_price_cycles
,intro_price_period_unit
,intro_price_period_number_of_units
in favor of newintroPrice: PurchasesIntroPrice
.
4.x | 5.0.0 |
---|---|
PurchaserInfo |
CustomerInfo |
PurchasesProduct |
PurchasesStoreProduct |
PurchasesStoreProductProduct.price_string |
PurchasesStoreProductProduct.priceString |
PurchasesStoreProductProduct.currency_code |
PurchasesStoreProductProduct.currencyCode |
PurchasesTransaction |
PurchasesStoreTransaction |
PurchasesDiscount |
PurchasesStoreProductDiscount |
PurchasesPaymentDiscount |
PurchasesPromotionalOffer |
Purchases.restoreTransactions |
Purchases.restorePurchases |
Purchases.getPaymentDiscount |
Purchases.getPromotionalOffer |
Purchases.invalidatePurchaserInfoCache |
Purchases.invalidateCustomerInfoCache |
Purchases.addPurchaserInfoUpdateListener |
Purchases.addCustomerInfoUpdateListener |
Purchases.removePurchaserInfoUpdateListener |
Purchases.removeCustomerInfoUpdateListener |
This version of the SDK automatically uses StoreKit 2 APIs under the hood only for APIs that the RevenueCat team has determined work better than StoreKit 1.
New types that wrap native types from Apple, Google and Amazon, and we cleaned up the naming of other types and methods for a more consistent experience.
setUp
has been removed in favor ofconfigure
configure
now expects an Object for the different parameters. Example:
Purchases.configure({
apiKey: "key",
appUserID: "user ID",
observerMode: false,
userDefaultsSuiteName: "suite name",
usesStoreKit2IfAvailable: true,
useAmazon: true
});
identify
andcreateAlias
have been removed in favor oflogIn
.reset
has been removed in favor oflogOut
.addAttributionData
has been removed in favor ofset<NetworkID> methods
.PurchasesStoreProduct
: removedintro_price_string
,intro_price_period
,intro_price_cycles
,intro_price_period_unit
,intro_price_period_number_of_units
in favor of newintroPrice: PurchasesIntroPrice
.
4.x | 5.0.0 |
---|---|
PurchaserInfo |
CustomerInfo |
PurchasesProduct |
PurchasesStoreProduct |
PurchasesStoreProductProduct.price_string |
PurchasesStoreProductProduct.priceString |
PurchasesStoreProductProduct.currency_code |
PurchasesStoreProductProduct.currencyCode |
PurchasesTransaction |
PurchasesStoreTransaction |
PurchasesDiscount |
PurchasesStoreProductDiscount |
PurchasesPaymentDiscount |
PurchasesPromotionalOffer |
Purchases.restoreTransactions |
Purchases.restorePurchases |
Purchases.getPaymentDiscount |
Purchases.getPromotionalOffer |
Purchases.invalidatePurchaserInfoCache |
Purchases.invalidateCustomerInfoCache |
Purchases.addPurchaserInfoUpdateListener |
Purchases.addCustomerInfoUpdateListener |
Purchases.removePurchaserInfoUpdateListener |
Purchases.removeCustomerInfoUpdateListener |
This version of the SDK automatically uses StoreKit 2 APIs under the hood only for APIs that the RevenueCat team has determined work better than StoreKit 1.
New types that wrap native types from Apple, Google and Amazon, and we cleaned up the naming of other types and methods for a more consistent experience.
setUp
has been removed in favor ofconfigure
identify
andcreateAlias
have been removed in favor oflogIn
.reset
has been removed in favor oflogOut
.addAttributionData
has been removed in favor ofset<NetworkID> methods
.PurchasesStoreProduct
: removedintro_price_string
,intro_price_period
,intro_price_cycles
,intro_price_period_unit
,intro_price_period_number_of_units
in favor of newintroPrice: PurchasesIntroPrice
.
4.x | 5.0.0 |
---|---|
PurchaserInfo |
CustomerInfo |
PurchasesProduct |
PurchasesStoreProduct |
PurchasesStoreProductProduct.price_string |
PurchasesStoreProductProduct.priceString |
PurchasesStoreProductProduct.currency_code |
PurchasesStoreProductProduct.currencyCode |
PurchasesTransaction |
PurchasesStoreTransaction |
PurchasesDiscount |
PurchasesStoreProductDiscount |
PurchasesPaymentDiscount |
PurchasesPromotionalOffer |
Purchases.restoreTransactions |
Purchases.restorePurchases |
Purchases.getPaymentDiscount |
Purchases.getPromotionalOffer |
Purchases.invalidatePurchaserInfoCache |
Purchases.invalidateCustomerInfoCache |
Purchases.addPurchaserInfoUpdateListener |
Purchases.addCustomerInfoUpdateListener |
Purchases.removePurchaserInfoUpdateListener |
Purchases.removeCustomerInfoUpdateListener |
This version of the SDK automatically uses StoreKit 2 APIs under the hood only for APIs that the RevenueCat team has determined work better than StoreKit 1.
New types that wrap native types from Apple, Google and Amazon, and we cleaned up the naming of other types and methods for a more consistent experience.
setUp
has been removed in favor ofconfigure
identify
andcreateAlias
have been removed in favor oflogIn
.reset
has been removed in favor oflogOut
.addAttributionData
has been removed in favor ofset<NetworkID> methods
.PurchasesStoreProduct
: removedintro_price_string
,intro_price_period
,intro_price_cycles
,intro_price_period_unit
,intro_price_period_number_of_units
in favor of newintroPrice: PurchasesIntroPrice
.
4.x | 5.0.0 |
---|---|
PurchaserInfo |
CustomerInfo |
PurchasesProduct |
PurchasesStoreProduct |
PurchasesStoreProductProduct.price_string |
PurchasesStoreProductProduct.priceString |
PurchasesStoreProductProduct.currency_code |
PurchasesStoreProductProduct.currencyCode |
PurchasesTransaction |
PurchasesStoreTransaction |
PurchasesDiscount |
PurchasesStoreProductDiscount |
PurchasesPaymentDiscount |
PurchasesPromotionalOffer |
Purchases.restoreTransactions |
Purchases.restorePurchases |
Purchases.getPaymentDiscount |
Purchases.getPromotionalOffer |
Purchases.invalidatePurchaserInfoCache |
Purchases.invalidateCustomerInfoCache |
Purchases.addPurchaserInfoUpdateListener |
Purchases.addCustomerInfoUpdateListener |
Purchases.removePurchaserInfoUpdateListener |
Purchases.removeCustomerInfoUpdateListener |
- Amazon support currently doesn't work correctly.
- Replaced
jcenter
withmavenCentral
(#369)
- Export MakePurchaseResult (#351)
- Fix warnings regarding
new NativeEventEmitter()
being called without the requiredaddListener
andremoveListeners
methods, which fixes this issue
- Fix an issue where calling
checkTrialOrIntroductoryPriceEligibility
could cause a log in prompt - Bump
purchases-hybrid-common
to 2.0.1. Changelog here - Bump
purchases-ios
to 3.14.1. Changelog here) - Bump
purchases-android
to 4.6.1. Changelog here #329
This release has some changes that should help prevent "There is no singleton instance" errors issue, PR.
- Added
isConfigured
function to be able to check if the instance of Purchases has been configured before calling any function that accesses the singleton instance. - These functions that were returning
void
, now returnPromise<void>
:
Integrations | Subscriber attributes | Configuration and other |
---|---|---|
addAttributionData |
collectDeviceIdentifiers |
invalidatePurchaserInfoCache |
setAd |
setAttributes |
presentCodeRedemptionSheet |
setAdGroup |
setDisplayName |
setAllowSharingStoreAccount |
setAdjustID |
setEmail |
setAutomaticAppleSearchAdsAttributionCollection |
setAirshipChannelID |
setPhoneNumber |
setDebugLogsEnabled |
setAppsflyerID |
setPushToken |
setFinishTransactions |
setCampaign |
setSimulatesAskToBuyInSandbox |
|
setCreative |
syncPurchases |
|
setFBAnonymousID |
||
setKeyword |
||
setMediaSource |
||
setMparticleID |
||
setOnesignalID |
-
Accessing a function that accesses the singleton instance before it has been setup will now reject with a
UninitializedPurchasesError
. -
Bump
purchases-hybrid-common
to1.11.1
Changelog here -
Bump
purchases-ios
to3.13.1
(Changelog here) -
Bump
purchases-android
to4.6.0
(Changelog here)
- Fixed declared type in
getAppUserId
#306
- Bump
purchases-hybrid-common
to1.10.0
Changelog here - Bump
purchases-ios
to3.13.0
(Changelog here) - Bump
purchases-android
to4.4.0
(Changelog here) - Added support for Airship integration via
setAirshipChannelID
#307
- Bump
purchases-ios
to 3.12.8 3.12.8 Changelog here 3.12.7 Changelog here 3.12.6 Changelog here 3.12.5 Changelog here 3.12.4 Changelog here - Bump
purchases-android
to 4.3.3 4.3.3 Changelog here 4.3.2 Changelog here
- Bumped purchases-android to 4.3.1 Changelog here, which fixes canMakePayments not returning (see related issue: RevenueCat/purchases-unity#61)
- Bumped purchases-ios to 3.12.3 Changelog here
- Bumped purchases-hybrid-common to 1.9.1 Changelog here
- Extracted readableErrorCode to userInfo (#268)
In this version, we’ve redesigned the way that user identification works. Detailed docs about the new system are available here.
- Introduces
logIn
, a new way of identifying users, which also returns whether a new user has been registered in the system.logIn
uses a new backend endpoint. - Introduces
logOut
, a replacement forreset
.
- deprecates
createAlias
in favor oflogIn
. - deprecates
identify
in favor oflogIn
. - deprecates
reset
in favor oflogOut
. - deprecates
setAllowSharingStoreAccount
in favor of dashboard-side configuration. #229
- Updated BillingClient to version 4.0.0. https://github.com/RevenueCat/purchases-android/commit/f6554bbf7376c3fd492f0bc67183a9f35889ae78
- Fixed build issues MagicWeather example for Xcode 12.5 #267
- Dependency security updates #271 #273
- Bumped purchases-ios to 3.12.2 Changelog here
- Bumped purchases-android to 4.3.0 Changelog here
- Bumped purchases-hybrid-common to 1.7.1 in Android Changelog here
- Bumped purchases-hybrid-common to 1.7.1 Changelog here
- Bumped purchases-android to 4.2.1 Changelog here
- Fix wrong types specified in TypeScript #231
- Cleaned up directory structure #235 #237 #232
- Updated example apps dependencies #240 #239 #233 #227 #226 #234
- Bumped purchases-hybrid-common to 1.6.3 Changelog here
- Bumped purchases-ios to 3.11.1 Changelog here #243
- Updated example app to the latest React-Native version #222
- Updated
y18n
version #227 #226 - Bumped purchases-hybrid-common to 1.6.2 Changelog here
- Bumped purchases-ios to 3.10.7 Changelog here
- Bumped purchases-android to 4.0.5 Changelog here #225
- Added a new sample project available at
/Examples/WeatherApp
#212 - iOS:
- Added a new method
setSimulatesAskToBuyInSandbox
, that allows developers to test deferred purchases easily.
- Added a new method
- Bumped purchases-hybrid-common to 1.6.1 Changelog here
- Bumped purchases-ios to 3.10.6 Changelog here
- Bumped purchases-android to 4.0.4 Changelog here #216
- Fixed issues with CI builds in Android #214 #217
- Update npm description for better discoverability #207
- removes deprecated
makePurchase
, replaced bypurchaseProduct
- iOS:
- added new method,
syncPurchases
, that enables syncing the purchases in the local receipt with the backend without risking a password prompt. The method was already available on Android. - added a new method,
presentCodeRedemptionSheet
, for offer codes redemption. - Updated
React
dependency toReact-Core
and setDEFINES_MODULE
to fix issues when building in Xcode 12
- added new method,
- Bumped
purchases-hybrid-common
to 1.5.0 Changelog here - Bumped
purchases-ios
to 3.9.2 Changelog here - Bumped
purchases-android
to 4.0.1 Changelog here
- Bumped common files to 1.4.5 Changelog here
- Bumped iOS SDK to 3.7.5 Changelog here
- Bumped common files to 1.4.4 Changelog here
- Should include the following Android changes: https://github.com/RevenueCat/purchases-android/releases/tag/3.5.2 https://github.com/RevenueCat/purchases-android/releases/tag/3.5.1
- Bumped common files to 1.4.3 Changelog here
- Bumped iOS to 3.7.2 Changelog here
- Removes usage of BuildConfig #171
- Bumped common files to 1.4.2 Changelog here
- Bumped iOS to 3.7.1 Changelog here
- Bumped Android to 3.5.0 Changelog here
- Added a new property
nonSubscriptionTransactions
inPurchaserInfo
to better manage non-subscriptions - Attribution V2:
- Deprecated addAttribution in favor of setAdjustId, setAppsflyerId, setFbAnonymousId, setMparticleId.
- Added support for OneSignal via setOnesignalId
- Added setMediaSource, setCampaign, setAdGroup, setAd, setKeyword, setCreative, and collectDeviceIdentifiers
- Removes usage of BuildConfig #171
- Bumped common files to 1.3.1 Changelog here
- Bumped iOS to 3.5.1 Changelog here
- Bumped Android to 3.3.0 Changelog here
- Fixes purchaseDiscountedPackage and purchaseDiscountedProduct #167
- Renames setProxyURLString with setProxyURL #148
- Adds instructions to include the PurchasesHybridCommon framework #150
- Bumped iOS to 3.4.0 Changelog here
- Bumped Android to 3.2.0 Changelog here
- Added managementURL to PurchaserInfo
- Added setProxyURLString
- Added originalPurchaseDate to PurchaserInfo
- Update invalidatePurchaserInfoCache docs #137
- Changes the way the common dependency is managed #144 #145
- Adds new headers for platformFlavor and platformFlavorVersion
- Adds userDefaultsSuiteName as an option when setting up the SDK
- Adds Subscriber Attributes, which allow developers to store additional, structured information for a user in RevenueCat. More info: https://docs.revenuecat.com/docs/user-attributes.
- Properly scope Android package #114
⚠️ IMPORTANT⚠️ : You might need to relink the plugin since the Android package name has changed. All references tocom.reactlibrary.RNPurchasesPackage
in the code should be replace withcom.revenuecat.purchases.react.RNPurchasesPackage
.
- Apply correct array notation: [type] to type[] #117
- Adds subscription offers support for iOS https://docs.revenuecat.com/docs/ios-subscription-offers
- Introductory Price is now an object inside the PurchasesProduct object
- Exports enums
- Exports interfaces and types
- Renames introEligibilityStatus to status in IntroEligibility
- Adds
Purchases.checkTrialOrIntroductoryPriceEligibility
. Note that Android always returns INTRO_ELIGIBILITY_STATUS_UNKNOWN. - Updates iOS to 3.0.1 and Android to 3.0.4
- Adds
Purchases.addShouldPurchasePromoProduct
to be able to handle purchases started from the Apple App Store.
- Updates Android SDK to 3.0.3 which should fix issues with restores and syncs.
- Support for new Offerings system.
- Deprecates
makePurchase
methods. Replaces withpurchasePackage
- Deprecates
getEntitlements
method. Replaces withgetOfferings
- See our migration guide for more info: https://docs.revenuecat.com/v3.0/docs/offerings-migration
- Updates to BillingClient 2.0.3. If finishTransactions is set to false (or observerMode is true when configuring the SDK), this SDK won't acknowledge any purchase and you have to do it yourself.
- Adds proration mode support on upgrades/downgrades
- Adds more PurchaserInfo missing properties.
activeEntitlements
,expirationsForActiveEntitlements
andpurchaseDatesForActiveEntitlements
have been removed from PurchaserInfo intro_price
,intro_price_period_number_of_units
andintro_price_cycles
are a number now or null instead of empty strings,intro_price_period_unit
can also be null.- Added Typescript types (#72)
- New identity changes:
- The .createAlias() method is no longer required, use .identify() instead
- .identify() will create an alias if being called from an anonymous ID generated by RevenueCat
- Added an isAnonymous property to Purchases.sharedInstance
- Improved offline use
- Fixes expirationDate in the EntitlementInfo object in iOS
- Deprecates activeEntitlements in PurchaserInfo and adds entitlements object to RCPurchaserInfo. For more info check out https://docs.revenuecat.com/docs/purchaserinfo
- Fixes trial info being lost in Android. Access intro_price in the product information to get information around the trial period.
- Fixes exception when trying to purchase a product that doesn't exist.
- Fixes permissions of install scripts
- Upgrades Android SDK to https://github.com/RevenueCat/purchases-android/releases/tag/2.3.1
- Fixes a bug when normalizing intro_price_period.
- BREAKING_CHANGE All
intro_price
related fields in the product are strings, or empty strings if inexistent, in both iOS and Android. There were some discrepancies between platforms released in https://github.com/RevenueCat/react-native-purchases/releases/tag/2.3.0.
- Upgrades iOS SDK to https://github.com/RevenueCat/purchases-ios/releases/tag/2.5.0
- Upgrades SDKs to iOS https://github.com/RevenueCat/purchases-ios/releases/tag/2.4.0 and Android to https://github.com/RevenueCat/purchases-android/releases/tag/2.3.0.
- Adds Facebook as supported attribution network.
- Adds automatic Apple Search Ads attribution collection. Disabled by default.
- Adds introductory pricing to the iOS product.
- Removes wrong import referring to support library instead of androidx.
- Removes console.log statement
- Updates iOS SDK to 2.3.0. Check out the changelog for a full list of changes https://github.com/RevenueCat/purchases-ios/releases/tag/2.3.0
- Updates Android SDK to 2.2.2. Check out the changelog for a full list of changes https://github.com/RevenueCat/purchases-android/releases/tag/2.2.2
- ** BREAKING CHANGE ** makePurchase parameter oldSKUs is not an array anymore, it only accepts a string now. This is due to changes in the BillingClient.
- AddAttributionData can be called before the SDK has been setup. A network user identifier can be send to the addAttribution function, replacing the previous rc_appsflyer_id parameter.
- Adds an optional configuration boolean observerMode. This will set the value of finishTransactions at configuration time.
- addAttribution will automatically add the rc_gps_adid parameter.
- ** ANDROID BREAKING CHANGE ** Call syncTransactions to send purchases information to RevenueCat after any restore or purchase if you are using the SDK in observerMode. See our guide on Migrating Subscriptions for more information on syncTransactions: https://docs.revenuecat.com/docs/migrating-existing-subscriptions
- addAttribution will automatically add the rc_idfa and rc_idfv parameters if the AdSupport and UIKit frameworks are included, respectively.
- Apple Search Ad attribution can be automatically collected by setting the automaticAttributionCollection boolean to true before the SDK is configured.
- Updates iOS SDK to 2.1.1
- If using an app ejected from Expo, the Android project wouldn't build since it couldn't find the react-native dependency. This release should fix it.
- Updates SDK versions to 2.1.0 to include new error handling
- BREAKING CHANGE errors now contain a
userInfo
object with the message, an underlying error and a readable error code. The error codes have completely changed too and updated to the SDK 2.1.0. - Updates RN and React versions.
- Fixes Windows installation
- Updates native SDKs to versions iOS 2.0.0 and Android 2.0.1
- Checks that the user ID sent to setup, identify or create alias is actually a string #28
- BREAKING CHANGE restoreTransactions returns a promise, the RestoreTransactionsListener has been removed
- BREAKING CHANGE makePurchase returns a promise, the PurchaseListener has been removed
- BREAKING CHANGE PurchaserInfoListener has been replaced with PurchaserInfoUpdateListener and it now only sends a purchaser info object. This listener is used to listen to changes in the purchaser info.
- Added support for Tenjin
- BREAKING CHANGE When failure making a purchase, the productIdentifier of the failed purchase is not sent to the rejected promise. Before, the PurchaseListener received both productIdentifier and error objects.
- Added setDebugLogsEnabled to display debug logs.
- Added getPurchaserInfo function to get the latest purchaser info known by the SDK
- Removes unnecessary debugger statement #47
- Runs Linter and prettifier
- Adds missing setup call in the example
- Fix android setup on a null appuserid
- Adds listener removal methods
- Changes setIsUsingAnonymousID to allowSharingStoreAccount
- Fixes compilation in iOS
- Adds create alias, identify and reset
- Fixes download script issue
- Fixes build issue on the Android bridge
- Adds requestDate to the purchaser info to avoid edge cases