Releases: superwall/Superwall-Android
1.2.1
1.2.1
Enhancements
- Adds the ability for the SDK to refresh the Superwall configuration every session start, subject to a feature flag.
- Tracks a
config_refresh
Superwall event when the configuration is refreshed. - SW-2890: Adds
capabilities
to device attributes. This is a comma-separated list of capabilities the SDK has that you can target in audience filters. This release adds thepaywall_event_receiver
capability. This indicates that the paywall can receive transaction from the SDK. - SW-2902: Adds
abandoned_product_id
to atransaction_abandon
event to use in audience filters. You can use this to show a paywall if a user abandons the transaction for a specific product.
1.2.0
Enhancements
- Adds DSL methods for configuring the SDK. You can now use a configuration block:
fun Application.configureSuperwall( apiKey: String, configure: SuperwallBuilder.() -> Unit, )
This allows you to configure the SDK in a more idiomatic way:
configureSuperwall(CONSTANT_API_KEY){
options {
logging {
level = LogLevel.debug
}
paywalls {
shouldPreload = false
}
}
}
Deprecations
This release includes multiple deprecations that will be removed in upcoming versions.
Most are internal and will not affect the public API, those that will are marked as such and a simple migration
path is provided. The notable ones in the public API are as follows:
-
Deprecated
DebugViewControllerActivity
in favor ofDebugViewActivity
-
Deprecated
PaywallViewController
in favor ofPaywallView
- Deprecated belonging methods:
viewWillAppear
in favor ofbeforeViewCreated
viewDidAppear
in favor ofonViewCreated
viewWillDisappear
in favor ofbeforeOnDestroy
viewDidDisappear
in favor ofdestroyed
presentAlert
in favor ofshowAlert
- Deprecated belonging methods:
-
Deprecated
PaywallViewControllerDelegate
in favor ofPaywallViewCallback
- Deprecated belonging methods:
didFinish
in favor ofonFinished
- Deprecated belonging methods:
-
Deprecated
PaywallViewControllerEventDelegate
in favor ofPaywallViewEventCallback
- Users might also note deprecation of
PaywallWebEvent.OpenedUrlInSafari
in favor ofPaywallWebEvent.OpenedUrlInChrome
didFinish
in favor ofonFinished
- Users might also note deprecation of
-
In
Superwall
, the following methods were deprecated:Superwall.paywallViewController
in favor ofSuperwall.paywallView
Superwall.eventDidOccur
argumentpaywallViewController
in favor ofpaywallView
Superwall.dismiss
in favor of `Superwall.presentPaywallViewSuperwall.presentPaywallViewController
in favor ofSuperwall.presentPaywallView
-
Deprecated
Paywallmanager.getPaywallViewController
in favor ofPaywallManager.getPaywallView
-
Deprecated
DebugManager.viewController
in favor ofDebugManager.view
-
Deprecated
DebugViewController
in favor ofDebugView
-
Deprecated
LogScope.debugViewController
in favor ofLogScope.debugView
-
Deprecated
PaywallPresentationRequestStatus.NoPaywallViewController
in favor ofNoPaywallView
1.1.9
Deprecations
- Deprecated configuration method
Superwall.configure(applicationContext: Context, ...)
in favor ofSuperwall.configure(applicationContext: Application, ...)
to enforce type safety. The rest of the method signature remains the same.
Fixes
- SW-2878: and it's related leaks. The
PaywallViewController
was not being properly detached when activity was stopped, causing memory leaks. - SW-2872: Fixes issue where
deviceAttributes
event and fetching would not await for IP geo to complete. - Fixes issues on tablet devices where the paywall would close after rotation/configuration change.
1.1.8
Enhancements
- SW-2859: Adds error message to
paywallWebviewLoad_fail
. - SW-2866: Logs error when trying to purchase a product that has failed to load.
- SW-2869: Add
Reset
event to track whenSuperwall.instance.reset
is called. - SW-2867: Prevents Geo api from being called when app is in the background
- SW-2431: Improves coroutine scope usages & threading limits
- Toolchain and dependency updates
Fixes
- SW-2863: Fixed a
NullPointerException
some users on Android 12 & 13 would experience when callingconfigure
.
1.1.7
Enhancements
- SW-2805: Exposes a
presentation
property on thePaywallInfo
object. This contains information about the presentation of the paywall. - SW-2855: Adds
restore_start
,restore_complete
, andrestore_fail
events.
Fixes
- SW-2854: Fixed issue where abandoning the transaction by pressing back would prevent the user from restarting the transaction.
1.1.6
Enhancements
- SW-2833: Adds support for dark mode paywall background color.
- Adds ability to target devices based on their IP address location. Use
device.ipRegion
,
device.ipRegionCode
,device.ipCountry
,device.ipCity
,device.ipContinent
, ordevice.ipTimezone
. - Adds
event_name
to the event params for use with audience filters.
Fixes
- Fixes issue with products whose labels weren't primary/secondary/tertiary.
1.1.5
1.1.3
Enhancements
- Tracks an
identity_alias
event whenever identify is called to alias Superwall's anonymous ID with a developer provided id. - Adds
setInterfaceStyle(interfaceStyle:)
which can be used to override the system interface style. - Adds
device.interfaceStyleMode
to the device template, which can beautomatic
ormanual
if overriding the interface style.
Fixes
- Uses
JavascriptSandbox
when available for filter expression evaluation on a background thread instead of running code on the main thread in a webview. - Fixes crash where the loading spinner inside the
PaywallViewController
was being updated outside the main thread.
1.1.2
Enhancements
- Updates build.gradle configuration which means we can now upload the SDK to maven central. You no longer need to specify our custom repo in your build.gradle to get our SDK and therefore installation should be easier.
Fixes
- Fixes
ConcurrentModificationException
crash that sometimes happened when identifying a user. - Fixes crash on purchasing a free trial when using
getPaywall
.