- [AUTOMATIC] Updates purchases-hybrid-common to 4.3.6 (#166) via RevenueCat Git Bot (@RCGitBot)
- Update fastlane-plugin-revenuecat_internal (#167) via Cesar de la Vega (@vegaro)
- fix compatibility issues with C# 7.3 (#162) via Andy Boedo (@aboedo)
- [AUTOMATIC] Updates purchases-hybrid-common to 4.3.2 (#163) via RevenueCat Git Bot (@RCGitBot)
- Release trains (#159) via Cesar de la Vega (@vegaro)
- Update receivedUpdatedCustomerInfo delegate (#158) via Cesar de la Vega (@vegaro)
- Update fastlane plugin (#156) via Cesar de la Vega (@vegaro)
- Add new SetUsesStoreKit2IfAvailable api to api tests (#154) via Toni Rico (@tonidero)
- Support for
usesStoreKit2IfAvailable
config option (#151) via Toni Rico (@tonidero)
- Fix support for DangerousSettings in iOS (#152) via Toni Rico (@tonidero)
Starting with this version you need to use Unity IAP 4.4.0+ if you are using Unity IAP together with RevenueCat in your project. You can update from Unity Package Manager. If you need to use an older version of Unity IAP, you can continue to use purchases-unity < 4.2.0.
StoreTransaction
:RevenueCatId
andProductId
have been deprecated in favor ofTransactionIdentifier
andProductIdentifier
respectively. (#145) via Toni Rico (@tonidero)
- Fix example compatibility with Unity 2020 (#139) via Andy Boedo (@aboedo)
- Subtester: Fix unity android export (#142) via Andy Boedo (@aboedo)
- Update AMAZON-INSTRUCTIONS.md (#143) via Andy Boedo (@aboedo)
- Introduced New AdServices Integration on iOS. Call
EnableAdServicesAttributionTokenCollection()
to enable this integration. More information in our docs and in the announcement blogpost.
RevenueCat Unity SDK v4 is here!!
We have introduced support for using the Amazon Appstore. We have extensively tested this, and there are some apps using our pre-release Amazon versions in production.
However, we have found some inconsistencies in the way Amazon Appstore prices are reported. We are actively working on patching these inconsistencies.
Please help us help you by reporting any issues you find. New RevenueCat Issue.
You can enable Amazon Appstore support by configuring the SDK using the new RevenueCatAPIKeyAmazon
field.
For more information around configuration please take a look at the Amazon Appstore section in our docs. The official Amazon In-App Purchasing docs also contain very valuable information, especially around testing and best practices.
Purchases-UnityIAP.unityPackage
. For Unity IAP >= 4.4.0, you can use the Purchases.unitypackage
package.
For Amazon installation instructions please follow take a look at the Amazon instructions document
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.
Identify
andCreateAlias
have been removed in favor ofLogIn
.Reset
has been removed in favor ofLogOut
.GetEntitlements
has been removed in favor ofGetOfferings
.AttributionKey
andPurchases.AddAttributionData
have been removed in favor ofSet<NetworkID> methods
.revenueCatAPIKey
has been removed in favor ofrevenueCatAPIKeyApple
,revenueCatAPIKeyGoogle
andrevenueCatAPIKeyAmazon
.
3.x | 4.0.0 |
---|---|
PurchaserInfo |
CustomerInfo |
Transaction |
StoreTransaction |
Product |
StoreProduct |
PaymentDiscount |
PromotionalOffer |
Purchases.RestoreTransactions |
Purchases.RestorePurchases |
Purchases.GetPaymentDiscount |
Purchases.GetPromotionalOffer |
Purchases.UpdatedPurchaserInfoListener |
Purchases.UpdatedCustomerInfoListener |
Discount.identifier |
Discount.Identifier |
Discount.price |
Discount.Price |
Discount.priceString |
Discount.PriceString |
Discount.cycles |
Discount.Cycles |
Discount.period |
Discount.Period |
Discount.unit |
Discount.Unit |
Discount.periodUnit |
Discount.PeriodUnit |
Discount.periodNumberOfUnits |
Discount.PeriodNumberOfUnits |
Error.message |
Error.Message |
Error.code |
Error.Code |
Error.underlyingErrorMessage |
Error.UnderlyingErrorMessage |
Error.readableErrorCode |
Error.ReadableErrorCode |
- Introduced the ability to configure the SDK programmatically through calling
Configure
RevenueCat#125
- Added docstrings for most public entities. RevenueCat#131, RevenueCat#130, RevenueCat#128
- Updated
purchases-hybrid-common
to 3.3.0 Changelog here - Updated
purchases-android
to 5.3.0, which fixes a null pointer exception when calling configure from a thread in Android. Changelog here - Updated instructions for observer mode, which don't require excluding the billing client anymore.
Purchases-UnityIAP.unityPackage
.
For Amazon installation instructions please follow take a look at the Amazon instructions document
We have introduced support for using the Amazon Appstore. We have extensively tested this, and there are some apps using our pre-release Amazon versions in production.
However, we have found some inconsistencies in the way Amazon Appstore prices are reported. We are actively working on patching these inconsistencies.
Please help us help you by reporting any issues you find. New RevenueCat Issue.
You can enable Amazon Appstore support by configuring the SDK using the new RevenueCatAPIKeyAmazon
field.
For more information around configuration please take a look at the Amazon Appstore section in our docs. The official Amazon In-App Purchasing docs also contain very valuable information, especially around testing and best practices.
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.
Identify
andCreateAlias
have been removed in favor ofLogIn
.Reset
has been removed in favor ofLogOut
.GetEntitlements
has been removed in favor ofGetOfferings
.AttributionKey
andPurchases.AddAttributionData
have been removed in favor ofSet<NetworkID> methods
.revenueCatAPIKey
has been removed in favor ofrevenueCatAPIKeyApple
,revenueCatAPIKeyGoogle
andrevenueCatAPIKeyAmazon
.
3.x | 4.0.0 |
---|---|
PurchaserInfo |
CustomerInfo |
Transaction |
StoreTransaction |
Product |
StoreProduct |
PaymentDiscount |
PromotionalOffer |
Purchases.RestoreTransactions |
Purchases.RestorePurchases |
Purchases.GetPaymentDiscount |
Purchases.GetPromotionalOffer |
Purchases.UpdatedPurchaserInfoListener |
Purchases.UpdatedCustomerInfoListener |
Discount.identifier |
Discount.Identifier |
Discount.price |
Discount.Price |
Discount.priceString |
Discount.PriceString |
Discount.cycles |
Discount.Cycles |
Discount.period |
Discount.Period |
Discount.unit |
Discount.Unit |
Discount.periodUnit |
Discount.PeriodUnit |
Discount.periodNumberOfUnits |
Discount.PeriodNumberOfUnits |
Error.message |
Error.Message |
Error.code |
Error.Code |
Error.underlyingErrorMessage |
Error.UnderlyingErrorMessage |
Error.readableErrorCode |
Error.ReadableErrorCode |
When installing this release, make sure to make a fresh installation by removing the RevenueCat folder before importing the package. That way obsolete files are deleted from your project.
- Fixed a bug where namespace Editor on iOS post install collided with UnityEditor.Editor RevenueCat#99
- Renamed
Dummy.swift
toPurchasesDummy.swift
to fix collisions with other plugins that also add aDummy.swift
file. RevenueCat#100
- Fixed a crash when the deprecatedLegacyRevenueCatAPIKey hadn't been set when running on Android simulators RevenueCat#93
- Fixed a bug where
CheckTrialOrIntroductoryPriceEligibility
could prompt for login credentials on iOS if the user hasn't logged into App Store. - Bump
purchases-hybrid-common
to2.0.1
Changelog here - Bump
purchases-ios
to3.14.1
(Changelog here) - Bump
purchases-android
to4.6.1
(Changelog here)
- Fixed issue where builds got rejected when uploading to App Store Connect because of the existence of a
Frameworks
folder in the archive RevenueCat#84 - Added post-install script that automatically links the
StoreKit
framework to the main target RevenueCat#85 - Bump
purchases-hybrid-common
to2.0.0
Changelog here - Bump
purchases-ios
to3.14.0
(Changelog here) - Bump
purchases-android
to4.6.0
(Changelog here)
- 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
RevenueCat#71
- 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 RevenueCat#61
- Adds iOS promotional offers support RevenueCat#59
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. RevenueCat#48
- Bumped purchases-ios to 3.12.2 Changelog here
- Bumped purchases-android to 4.3.0 Changelog here
- Updated BillingClient to version 4.0.0. https://github.com/RevenueCat/purchases-android/commit/f6554bbf7376c3fd492f0bc67183a9f35889ae78
- Added canMakePaymentsMethod (RevenueCat#52)
- Fixed missing meta files for Subtester sample app (RevenueCat#47)
- Bumped purchases-hybrid-common to 1.7.1 Changelog here
- Bumped purchases-ios to 3.11.1 Changelog here
- Bumped purchases-android to 4.2.1 Changelog here
- Ensured that the
purchases-hybrid-common
version being used by the SDK is locked using[x.y.z]
RevenueCat#44 - 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 RevenueCat/purchases-flutter#171
- 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 RevenueCat#43
- Fixed a crash in iOS when parsing dates in milliseconds, as well as a bug in Android that caused dates that were reported as
milliseconds
to actually have values in seconds. RevenueCat#39 - Bumped
purchases-hybrid-common
to 1.5.1 Changelog here
- 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. - fixed a bug where values for dates in milliseconds were actually in seconds (RevenueCat/purchases-hybrid-common#62)
- 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 to 3.7.5 Changelog here
- Bumped common files to 1.4.4 Changelog here
- Bumped iOS to 3.7.2 Changelog here
- Bumped Android to 3.5.2 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
- Fixes duplicated files error in iOS.
- Adds proxyURL property, useful for kids category apps, so that they can set up a proxy to send requests through. Do not use this unless you've talked to RevenueCat support about it.
- Adds userDefaultsSuiteName. Set this to use a specific NSUserDefaults suite for RevenueCat. This might be handy if you are deleting all NSUserDefaults in your app and leaving RevenueCat in a bad state.
- Update to ExternalDependencyManager 1.2.156
- A lot of internal changes:
- iOS now downloads the dependency from CocoaPods
- Android downloads the common code from Maven
- Removed a bunch of scripts
- Removed the Android project and added the files to the plugin folder
- Added platform version and name to the http headers
- Added a script to create the unitypackage
- Moved inner classes to their own files
- Use SimpleJSON instead of JSONUtility
iOS Native SDK Update 3.4.0
Android Native SDK Update 3.2.0
- 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.
- Added new method to invalidate the purchaser info cache, useful when promotional purchases are granted from outside the app.
iOS Native SDK Update 3.2.2
- Release Notes 3.2.2
- Release Notes 3.2.1
- Release Notes 3.1.2
- Release Notes 3.1.1
- Release Notes 3.1.0
- Release Notes 3.0.4
- Release Notes 3.0.3
- Release Notes 3.0.2
Android Native SDK Update 3.1.0
- Fixes updated PurchaserInfo listener in iOS
- Fixes active entitlements in iOS and the format of the dates in the EntitlementInfo objects in iOS
- Adds optional type parameter to GetProducts call
- Adds
CheckTrialOrIntroductoryPriceEligibility
- Fixes Product class
- Removes unnecessary iOS import
- Adds missing iOS files
- Updates Android library to 3.0.3
- Makes Offerings.Current nullable
- Rolls back Play services resolver to v1.2.132
- Makes packages inside Offering nullable.
PurchaserInfo.LatestExpirationDate
can be null now, it was equal to epoch before if there was no expiration date. Same forPurchaserInfo.AllExpirationDates
, that can contain nullable values now.- Added Play Services Resolver (https://github.com/googlesamples/unity-jar-resolver) to help with the Android dependencies management. Make sure you import it when importing our package.
- 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. For more info check out https://docs.revenuecat.com/docs/purchaserinfo - 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
- Updates Android SDK to 3.4.1 to include multiple bugfixes.
- Fixes introductory offer period normalization in iOS.
- Upgrades iOS SDK to https://github.com/RevenueCat/purchases-ios/releases/tag/2.5.0
- Upgrades Android SDK to https://github.com/RevenueCat/purchases-android/releases/tag/2.3.0.
- Adds Facebook as supported attribution network.
- Deprecates setAutomaticAttributionCollection in favor of setAutomaticAppleSearchAdsAttributionCollection. This is just a change in the function name. Disabled by default.
- Adds introductory pricing to the iOS product.
- 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.5. Check out the changelog for a full list of changes https://github.com/RevenueCat/purchases-android/releases/tag/2.2.5
- ** 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 syncPurchases 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 syncPurchases: 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
- Fixing crash on iOS when missing an underlying error
- Updates SDKs to 2.1.0. This means there is new functions added:
- Changes the SDK to use callback functions instead of delegates. There is a UpdatedPurchaserInfoListener that sends a purchaser info object. This listener is used to listen to changes in the purchaser info.
- Added setDebugLogsEnabled to display debug logs.
- Added getPurchaserInfo function to get the latest purchaser info known by the SDK.
- Added getEntitlements
- Added getAppUserId
- Adds setFinishTransactions for iOS
- Adds more attribution networks
- Updates iOS SDK to 1.20 and Android SDK to 1.4.0.
- Adds identify, create alias and reset call
- Fixes onRestoreTransactions never being called.
- Fixes onRestoreTransactions not being called if there are no tokens.
- Fixes crash due to not able to find Kotlin dependency.
- Adds requestDate to the purchaser info to avoid edge cases.
- Enhance the PurchasesListener protocol to include methods for restore succeeded and failed.
- Add Android support for Adjust
- Add support for idfa data in Adjust