Releases: Purchasely/Purchasely-iOS
5.6.0
🧩 Bring Your Own Screen (BYOS)
Purchasely now allows you to fully design and render your own paywall or subscription screens while still benefiting from the power of the Purchasely platform.
With Bring Your Own Screen (BYOS), you can:
• Use your own UI, your own components, and your own branding with complete freedom.
• Keep Purchasely’s purchase handling, eligibility checks, analytics, and event tracking fully intact.
• Seamlessly integrate your custom screen using a simple configuration and lightweight rendering contract.
• Access all pricing information, introductory offer eligibility, and localized content to display them exactly as you want.
This feature unlocks full creative control while maintaining a robust and reliable purchase flow powered by Purchasely.
👉 More information in our documentation
🎛️ Advanced Conditional Blocks
You now have full control over when and how UI components appear inside your Purchasely-powered screens.
With Advanced Conditional Blocks, you can dynamically display or hide components based on:
• Introductory Offer eligibility (eligible / not eligible)
• Audience membership (e.g., churned users, new users, high-value customers…)
• Custom user attributes (country, language, subscription state, feature flags…)
• User interactions with other components such as:
• pickers
• tabs
• switches
• buttons
• and more
This allows you to build truly personalized, context-aware, and reactive screens directly from the Purchasely Console — still no-code.
🛠 New Debug Screen for Developers
A brand-new Debug Screen is now available to help developers understand exactly what Purchasely is doing behind the scenes, making troubleshooting faster and integrations smoother.
You can activate it in two ways:
1. Scan the Preview Mode QR Code from the Purchasely Console
or
2. Enable it directly in your app:
Purchasely.setDebugMode(enabled: true)
Once enabled, you’ll see a powerful information overlay on top of any Purchasely screen, including:
• Screen ID
• Placement ID
• Audience
• A/B test assignment
• SDK version
• Anonymous user ID
• And more to come…
This initial release lays the groundwork — future versions will expand visibility, provide richer context, and make it easier to share diagnostics with Purchasely support.
🛠 Fixes & Improvements
- Fixed an issue with
displayModeaccessibility. - Improved concurrency management.
- Enhanced navigation bar display and styling for better consistency.
5.5.0
What’s new
Minimum supported iOS version is now iOS 13.
🛠 Fixes & Improvements
- Optimized event dispatching, property serialization, and event management logic.
- Added new metrics to provide better visibility into user behavior and improve the client journey.
- Improved overall data management and event processing to increase analytics precision and reliability.
Bug Fixes
- Fixed a display issue with the Close button inside the navigation bar.
5.4.2
Purchasely SDK – Version 5.4.2
We're excited to share version 5.4.2, which introduces important updates, new features, and several improvements to stability and UI. Please read carefully, as this version includes a breaking change.
We have identified an important issue in versions 5.4.0 and 5.4.1 on iOS devices, affecting all Screens that use vertical pickers or buttons with texts per row = 2. As a result, this version has been removed and must not be used.
If you are currently using 5.4.0 or 5.4.1, please update immediately to version 5.4.2, which resolves the issue.
🚨 Breaking Change
-
Renamed logging level enum
-
PLYLogger.logLevelhas been renamed toPLYLogLevel. -
If you are currently configuring the logging level in your project, you will need to update your references accordingly.
-
Example before/after:
// Before logLevel: PLYLogger.logLevel = .error // Now logLevel: PLYLogger.PLYLogLevel = .error
-
✨ New Features
-
GDPR & Privacy Levels
- The SDK now offers built-in support for handling privacy levels.
- This enables developers to adapt their user experience to different GDPR requirements and to better manage user consent directly within Purchasely.
- Documentation and integration details are available in our updated privacy guide.
-
Safe Areas Handling
- You can now choose whether Purchasely screens should respect the system's safe areas (e.g. notch, home indicator, or system bars).
- This provides greater flexibility for developers who want tighter control over screen layout and presentation.
🛠 Fixes & Improvements
-
Events
- Fixed several issues where certain events or their properties were not being tracked consistently.
-
Flows
- Fixed UI glitches that could occur in certain Flow configurations.
- Improved screen transitions, navigation consistency, and dismissal logic within Flows.
-
General optimizations
- Updated method visibility: several methods have been made public to ensure compatibility and usage within the hybrid bridges.
- Minor performance improvements and codebase refinements to ensure smoother integration and runtime stability.
⚡️ Upgrade Notes
- Make sure to update your logging configuration to use
PLYLogLevel. - Review the new privacy-level APIs if GDPR compliance is part of your workflow.
5.3.7
5.3.6
What’s new
- Action coverage expanded —
PLYPresentationActionnow also integrates thecloseAllaction
Improvements
- No more double actions – tap handling is debounced to prevent accidental double-taps.
- Safer campaign display – guards against duplicate campaign launches in edge cases.
- More reliable placement routing. - The
openPlacementaction now carries theplacementVendorId
Fixes & stability
- Smoother UI behavior across presentations.
- More consistent callback execution in prefetch flows.
- Cleaner state/analytics handling.
5.3.5
🚀 What's New
Several improvements and fixes to enhance stability, accuracy, and the overall integration experience.
- Improved handling of presentation information for more accurate receipt data.
- Corrected offer price comparisons and discount calculations.
Plus various under-the-hood improvements for a smoother experience.
5.3.4
🚀 What's New
- Refactored
UIHandlerto restrict calls to thedisplayfunction, allowing it only when triggered by deeplinks. - The
displaymethod now defaults thefromparameter tonilfor simplified usage. - Introduced a new method in the
PLYPresentationto close all currently displayed screens.
This release also includes various stability improvements, internal refinements, and minor bug fixes to enhance overall reliability and developer experience.