Apple Ads: Connect with Apple
Connect Apple Ads in Settings → Apple Ads with Connect with Apple — no API key to create or upload. The integration guide and the new Apple Ads report guide cover setup, Growing and Mature cohort windows, Gross and Net revenue, and comparing figures with the Apple Ads console.Webhook Payload: period_type
Every webhook event now carries a top-level period_type naming the phase the event’s transaction belongs to: trial, intro, promotional or regular. It describes the transaction the event reports, while the entitlements block keeps describing the access the user holds at the moment the event was built. The App Store is the only store that reports all four values, and promotional is App Store only; Google Play adds intro for the minority of transactions where Google reports an introductory phase; Stripe and Paddle send only trial or regular. Existing fields are unchanged.The webhooks page now also documents transaction.promo_offer_id, which was already being sent, and the exact values the entitlements block can carry — including the three that our public API spells differently.See Webhooks.Multiple Secret Keys and zero-downtime rotation
A project can hold up to 10 Secret Keys at once, managed in the dashboard under Settings → Developer → Keys. To rotate, create a new key, move your servers to it, then delete the old one — the old key normally stops working within about an hour of deletion, and the new one works immediately.POST /v4/project-settings/regenerate-secret and the MCP tool regenerate_project_secret are now deprecated: they delete the project’s oldest Secret Key immediately, with no overlap — which, on a project with several keys, may be a key another server still uses. A deleted or regenerated key normally stops authenticating within about an hour.See How to manage and rotate project keys for the full runbook.Remote Config Cache Invalidation API
New SDK methodinvalidateRemoteConfigsCache() forces the next remoteConfig / remoteConfigList call to fetch a fresh targeting evaluation instead of serving the in-memory cache — useful right after setting user properties your targeting depends on. Additionally, identify now drops the config cache even when the user id doesn’t change, so re-login flows always evaluate fresh.Available in iOS 6.14.0, Android 9.7.0, React Native 10.11.0, Flutter 11.10.0, Cordova 7.9.0, Capacitor 1.8.0, and Unity 9.9.0.See Invalidate the config cache for usage and When a device fetches a config for the full caching rules.Freeze Assignments for Remote Configs
Keep users on the Remote Config they already received — no matter how the targeting changes later. Turn on Freeze assignments in the configuration’s Targeting card, and every user who newly receives the config is pinned: later targeting-rule or priority changes won’t re-seat them. When enabling, you can optionally pin everyone who has already received the config in one shot.Payload edits still apply to pinned users, and turning the switch off does not unfreeze anyone — detach users individually or archive/delete the configuration to release them.See Freezing assignments for the exact semantics.Web Funnel
Sell your subscriptions on the web and unlock them in your app. Build a checkout funnel as a No-Code screen, hosted by Qonversion atscreens.qonversion.io, let users pay with Stripe in the browser (from ads, emails, or influencer links), and have them redeem the purchase inside your mobile app — Qonversion grants entitlements and tracks the revenue alongside your App Store and Google Play subscriptions.Available now in beta / early access, and you can validate the whole flow end to end with sandbox testing before going live.See the Web Funnel guide and Web Funnel redemption to get started.No-Code Builder & SDK Updates
Several No-Code improvements shipped with iOS SDK 6.13.0 and Android No-Codes SDK 1.10.0:- Custom purchase loader. Replace the SDK’s default purchase spinner with your own — a styled spinner or a Lottie animation — configured entirely in the No-Code Builder. See the Purchase Loader guide.
- Read a screen’s configured products and variables. Load a screen up front with
loadScreenand read the product IDs and screen variables configured in the Builder — each value keeping its native type — for analytics consistency and app-side logic. See Reading default variables. - Custom actions. Trigger a custom action from a No-Code screen and handle it in your app through a new delegate event. See Custom Actions.
- No-Codes in Kids Mode. No-Code screens are now available from the No-IDFA (Kids Mode) Qonversion SDK, starting with iOS SDK 6.12.1. See Kids Mode.
Paddle Integration
Qonversion now supports Paddle as a web payment provider, alongside the App Store, Google Play, and Stripe. Connect your Paddle account with an API key (Qonversion registers the webhook destination automatically), map your Paddle products, and link purchases to Qonversion users withcustom_data so entitlements are granted and revenue is tracked from Paddle webhooks.See the Paddle Integration guide and Paddle Credentials to get started.