Release notes
Updates about our SDK
You can also find changelog specific to SDK technology in their GitHub repository
4.4
⚠️ Only available with our iOS and Android SDK. React Native, Flutter, Cordova and Unity will be updated by the end of June 2024
Use version 4.4.1 with iOS for a fix with the new close button
Audience Targeting
Enhanced audience segmentation capabilities with the addition of purchase history-based targeting.
UI Enhancements
Introduced a customizable header button, offering an alternative to the standard close button.
Replaced the outdated PLYUIListener with the new PLYUIHandler for improved UI event management.
Subscription Management
Introduced the userSubscriptionsHistory
method to enable access to users' expired subscription data.
Note: This feature relies on the Purchasely platform and will provide accurate results only if Purchasely has records of the user account's subscription history.
Android Specific Updates
Google Play Billing v6
Updated to Google Play Billing version 6.2.1. This version is mandatory to release your Android application on Google Play Store starting September 1st for new apps and November 1st for existing applications.
Google Store Country
The upgrade to version 6 now allows the inclusion of the Google account store country as a selectable attribute for audience targeting. The Store Country
attribute now works seamlessly with both Apple and Google accounts as long as your application includes this version of Purchasely SDK.
4.3
🕒 User Centric Countdowns
Countdowns tailored to individual users have been implemented, enabling personalized timers based on user attributes. Example: users may have 24 hours to subscribe to an offer following their initial subscription.
Improvements and Optimizations
Numerous enhancements and optimizations are being implemented to elevate the user experience.
4.2
⚠️ Important: To avoid issues specially in paywallObserver mode, we now require to set explicitely the StoreKit version you want to use Purchasely.start(storekitSettings: .storeKit1)
🌙 Native Dark Mode Support for Presentations
Dark mode support has been implemented for screens & paywalls, automatically adapting to the user’s system settings for an improved viewing comfort. In the Console, you can now define 2 color sets (light & dark) for the same paywall.
Developers can override the default setting with Purchasely.setThemeMode(.dark)
or Purchasely.setThemeMode(.light)
, enabling more control over the app’s appearance and accommodating user preferences
🔍 Augmented Session User Attributes
Additional attributes have been added to track user session activity.
These attributes provide detailed insights into user engagement with the app, like session frequency, interaction with paywalls, and purchase activities.
This level of detail aids in fine-tuning user engagement strategies and understanding user behavior patterns more accurately
🏷 Tags System Extended to All Labels
The tags system has been expanded to include all label types, allowing for dynamic display of pricing, introductory offers or promotional offers for any plan any where in the paywalls (an not only in the buttons). This update gives more flexibility in UI customization and dynamic content presentation.
Improvements and Optimizations
🔄 New BATCH_CUSTOM_USER_ID
Attribute for External Integrations: Enhances data syncing with external systems.
iOS
🔧 Setting a StoreKit version is now mandatory You must know explicitly set a StoreKit setting on SDK initialization Purchasely.start(withAPIKey: "API_KEY", storekitSettings: .storeKit2)
or Purchasely.start(withAPIKey: "API_KEY", storekitSettings: .storeKit1)
Android
🛠️ Refined Purchasely View Lifecycle: Optimized for use in tabbed Fragment navigation, ensuring smoother transitions and better user experience.-
🖋️ Custom Font Error Handling: Eliminated error messages related to missing custom fonts in the
res/resources
folder, streamlining the setup process.👁 Enhanced
UIListener
Interface: The addition ofgetActivity()
method facilitates easier view creation by providing the necessary activity context.
4.1.0
🚨 Important: This SDK version uses StoreKit 2 by default. Read the documentation for more information. You can still use StoreKit 1 by changing the configuration with Purchasely.start(storekitSettings: .storeKit1)
This version includes the following features and improvements:
Timer Tags: Timer tags have been added to all fields of the paywall with a specific date. This feature allows you to set timers in various formats throughout your paywalls, promoting specific offers for a limited time. For instance, you can set a countdown to the end of Black Friday, and the timer will continuously display the time remaining until that date.
Metadata for Your Own Paywall: Utilizing the "Your Own Paywall" template feature, you can now customize your paywalls with Purchasely technology, including tags. This customization feature enables you to update your paywalls dynamically using variables, known as metadata. This flexibility allows for the seamless integration of client-specific paywalls and Purchasely paywalls within the same application, providing similar benefits.
Minor Improvements: Additionally, this version includes numerous minor enhancements and refinements to enhance the overall user experience.
Android
Kotlin: Downgraded to 1.7.21 to be compatible with Kotlin 1.6.21
4.0.3
iOS
🚨 Important: This SDK version uses StoreKit 2 by default. You MUST send the credentials for us to access Apple's API. Read the documentation here.
🚧 Important: Documentation for this release is in progress and will be available in early September. Some methods and properties have undergone changes. Detailed information will follow soon.
New public methods
New method allowing integrators to ask our SDK to sign a promotional offer for them.
New method to directly purchase a product with a promotional offer
StoreKit
Added fallback to StoreKit1 in case StoreKit2 is not properly initialized in our console
Improved StoreKit 2 introductory offers eligibility check
Added StoreKit 2 promotional offers specific errors
Minor fixes
Added missing gesture handling preventing presentationClosed event to be triggered
Improved network errors handling
We have resolved an issue where an alert would erroneously appear when an error occurred during the fetchPresentation process
We have addressed a bug affecting the purchase action while using the SDK in Observer mode
4.0.0
iOS
Please use version 4.0.3 on iOS, see release notes above
🚨 Important: This SDK version uses StoreKit 2 by default. You MUST send the credentials for us to access Apple's API. Read the documentation here.
🚧 Important: Documentation for this release is in progress and will be available in early September. Some methods and properties have undergone changes. Detailed information will follow soon.
In this release, we’ve introduced a more efficient, asynchronous method for fetching the eligibility status of plans. Optimizations
Promo Offers
New Feature: Excitingly, we’re introducing support for promotional offers
Eligibility Management
Streamlined and restructured for products, providing a more coherent and optimized experience.
Public Interface Updates
Cleaned up by removing any outdated methods.
Several methods have been renamed and refactored for clarity and better usage.
Android
🚧 Important: Please look at our migration guide to use version 4 of our SDK. We have made a few changes in our public interface, the most important one being the removal of Fragment to display a Purchasely paywall
Google Play Billing v5 Integration
Version: Purchasely SDK 4.0.0 now integrates with Google Play Billing v5 (5.2.1). This ensures you have access to the comprehensive features introduced in the latest version of Google's in-app subscriptions.
Action Required: Review your plans on the Purchasely console to confirm the presence of a
basePlan
identifier.
Promo Offers (Google only)
New Feature: Excitingly, we're introducing support for promotional offers, known as
developer determined offers
, on the Google Play Console.Action Required: When setting up your
developer determined offers
in the Google Play Console, make sure to tag them as "ignore-offer". This ensures that the Purchasely SDK doesn't automatically apply them to all your paywalls. Instead, they'll be used exclusively where you've specified.
Build Configuration Update
Android Gradle Plugin: Updated to 8.1.0
Kotlin: Upgraded to 1.8.10
Compile SDK: Now on version 33
Last updated