- Deprecates
activeEntitlements
inRCPurchaserInfo
and addsentitlements
object toRCPurchaserInfo
. For more info look into https://docs.revenuecat.com/docs/purchaserinfo
- BREAKING CHANGE: fixed a typo in
addAttributionData
Swift's name. - Error logs for AppsFlyer if using deprecated
rc_appsflyer_id
- Error logs for AppsFlyer if missing networkUserID
- BUGFIX:
userId
parameter in identify is not nullable anymore. - DEPRECATION:
automaticAttributionCollection
is now deprecated in favor ofautomaticAppleSearchAdsAttributionCollection
since it's a more clear name. - NEW FEATURE: UIKitForMac support.
- NEW FEATURE: Facebook Ads Attribution support https://docs.revenuecat.com/docs/facebook-ads.
addAttribution
is now a class method that can be called before the SDK is configured.addAttribution
will automatically add therc_idfa
andrc_idfv
parameters if theAdSupport
andUIKit
frameworks are included, respectively.- A network user identifier can be send to the
addAttribution
function, replacing the previousrc_appsflyer_id
parameter. - Apple Search Ad attribution can be automatically collected by setting the
automaticAttributionCollection
boolean totrue
before the SDK is configured. - Adds an optional configuration boolean
observerMode
. This will set the value offinishTransactions
at configuration time. - Header updates to include client version which will be used for debugging and reporting in the future.
- Adds subscription offers
- Avoid refreshing receipt everytime restore is called
- Adds userCancelled as a parameter to the completion block of the makePurchase function.
- Better error codes.
- Refactor to all block based methods
- Optional delegate method to receive changes in Purchaser Info
- Ability to turn on detailed logging by setting
debugLogsEnabled
- Adds support for Tenjin
- Singleton management handled by the SDK
- Adds reset, identify and create alias calls
- Conform RCPurchasesDelegate to NSObject
- Adds requestDate to the purchaser info to avoid edge cases
- Add iOS 11.2 availability annotations
- Make RCPurchases initializer return a non-optional
- Add option for disabling transaction finishing.
- Fix to ensure prices are properly collected when using entitlements
- Delegate methods now only dispatch if they are not on the main thread. This makes sure the cached PurchaserInfo is delivered on setting the delegate.
- Allow developer to indicate anonymous ID behavior
- Add "Purchases.h" to CocoaPods headers
- Attribution! You can now pass attribution data from Apple Search Ads, AppsFlyer, Adjust and Branch. You can then view the ROI of your campaigns, including revenue coming from referrals.
- Fix for entitlements will now have null active products if the product is not available from StoreKit
- Fix version number in Plist for real
- Fix version number in Plist
- Improved error handling for fetching entitlements
- Delegate methods are now guaranteed to run on the main thread
- Fix a bug with parsing dates for Thai locales
- Oh my oh whoa! We made it to version one point oh!
- Entitlements now supported by the SDK. See the guide for more info.
- Improved caching of
RCPurchaserInfo
- Remove Carthage dependencies
- Add delegate methods for restoring
- Allow RCPurchases to be instantiated with a UserDefaults object, useful for syncing between extensions
- RCPurchases now caches the most recent RCPurchaserInfo. Apps no longer need to implement there own offline caching of subscription status.
- Change block based methods to use delegate. restoreTransactions and updatePurchaserInfo no longer take blocks. This means all new RCPurchaserInfo objects will be sent via the delegate methods.
- macOS support. Purchases now works with macOS. Contact [email protected] if interested in beta testing.
- Workaround for a StoreKit issue (38476489) where priceLocale is missing on promotional purchases
- Fix cache preventing prices from being posted
- Prevent race conditions refreshing receipts.
- Make processing of multiple receipt posts more efficient.
- Add support for original application version so users can be grandfathered easily
- Add support of checking eligibilty of introductory prices. RevenueCat will now be able to tell you definitively what version of a product you should present in your UI.
- Add support of initializing without an
appUserID
. This standardizes and simplifies behavior for apps without account systems.
- Change
restoreTransactionsForAppStoreAccount:
to take a completion block since it no long relies on the app store queue. Removed delegate methods. - Added
updatedPurchaserInfo:
that allows force refreshing ofRCPurchaserInfo
. Useful if your app needs the latest purchaser info. - Removed
makePurchase:quantity:
. - Add
nonConsumablePurchases
onRCPurchaserInfo
. Non-consumable purchases will now Just Work (tm).
- Add support for promotional purchases.
- Adds support for
appUserId
s with non-url compatable characters
- Add support for restoring purchases via
restoreTransactionsForAppStoreAccount
- Add support for iOS 9.0
- Add tracking of product prices to allow for real time revenue tracking on RevenueCat.com
- Improve handling of Apple and Backend errors
- Handles missing receipts case
- Fixed issue with timezone parsing
- Rename shared secret to API key
- Remove
purchaserInfoWithCompletion
, nowRCPurchases
fetches updated purchaser info automatically onUIApplicationDidBecomeActive
. - Remove
purchasing
KVO property
- Initial version
- Requires access to the private beta, email [email protected] for a key.