Releases: superwall/Superwall-Android
2.0.0-alpha.1
2.0.0-Alpha.1
Breaking Changes
SuperwallPaywallActivity
andPaywallView
have been moved intocom.superwall.sdk.paywall.view
package fromcom.superwall.sdk.paywall.vc
package.- Removes
PaywallComposable
and Jetpack Compose support from the main SDK artifact in favor ofSuperwall-Compose
module for Jetpack Compose support:- You can find it at
com.superwall.sdk:superwall-compose:2.0.0-alpha
- Usage remains the same as before, but now you need to include the
superwall-compose
module in your project.
- You can find it at
- Removed methods previously marked as Deprecated
- Removes
SubscriptionStatus
, together with belonging update methods andsubscriptionStatusDidChange
callback. - These are replaced with
EntitlementStatus
andentitlementStatusDidChange
callback. You can find more details on this migration in our docs.
Enhancements
-
Adds
purchase
method toSuperwall
you can use to purchase products without having to resort on paywalls. To purchase a product you can pass it in one of the following objects:- Google Play's
ProductDetails
- Superwall's
StoreProduct
object - Or a string containing the product identifier, i.e.
Superwall.instance.purchase("product_id:base_plan:offer")
- Google Play's
-
Adds
restorePurchases
method toSuperwall
you can use to handle restoring purchases -
Adds
getProducts
method toSuperwall
you can use to retrieve a list ofProductDetails
given the product ID, i.e. i.e.Superwall.instance.purchase("product_id:base_plan:offer")
. This is intented to make retrieving and purchasing products easier, since there is no need to handleBillingClient
's connections and errors as Superwall does it for you. -
Adds support for observing purchases done outside of Superwall paywalls. You can now observe purchases done outside of Superwall paywalls by setting the
shouldObservePurchases
option to true and either:- Manually by calling
Superwall.instance.observe(PurchasingObserverState)
or utility methodsSuperwall.instance.observePurchaseStart/observePurchaseError/observePurchaseResult
- Automatically by replacing
launchBillingFlow
withlaunchBillingFlowWithSuperwall
. This will automatically observe purchases done outside of Superwall paywalls.
- Manually by calling
-
Adds consumer proguard rules to enable consumer minification
-
Reduces minSDK to 22
-
Adds
purchaseToken
to purchase events -
Superwall.instance
now provides blocking or callback based version of multiple calls, suffixed with*Sync
-
Improves preloading performance and reduces impact on the main thread
1.5.1
1.5.0
1.5.0
Enhancements
- Adds
shimmerView_start
andshimmerView_complete
events to track the loading of the shimmer animation. - Makes
hasFreeTrial
match iOS SDK behavior by returningtrue
for both free trials and non-free introductory offers - Adds
Superwall.instance.events
- A SharedFlow instance emitting all Superwall events asSuperwallEventInfo
. This can be used as an alternative to a delegate for listening to events. - Adds a new shimmer animation
- Adds support for SuperScript expression evaluator
Fixes
- Fixes concurrency issues with subscriptions triggered in Cordova apps
1.5.0-beta.2
1.5.0-beta.2
Enhancements
- Adds
shimmerView_start
andshimmerView_complete
events to track the loading of the shimmer animation. - Makes
hasFreeTrial
match iOS SDK behavior by returningtrue
for both free trials and non-free introductory offers
1.5.0-beta.1
1.5.0-beta.1
Enhancements
- Adds
Superwall.instance.events
- A SharedFlow instance emitting all Superwall events asSuperwallEventInfo
. This can be used as an alternative to a delegate for listening to events. - Adds a new shimmer animation
- Adds support for SuperScript expression evaluator
1.4.1
1.4.0
1.4.0
Enhancements
- Improves paywall loading and preloading performance
- Reduces impact of preloading on render performance
- Updates methods to return
kotlin.Result
instead of relying on throwing exceptions - This introduces some minor breaking changes:
configure
completion block now provides aResult<Unit>
that can be used to check for success or failurehandleDeepLink
now returns aResult<Boolean>
getAssignments
now returns aResult<List<ConfirmedAssignments>>
confirmAllAssignments
now returns aResult<List<ConfirmedAssignments>>
getPresentationResult
now returns aResult<PresentationResult>
getPaywallComponents
now returns aResult<PaywallComponents>
- Removes Gson dependency
- Adds
isScrollEnabled
flag to enable remote controll of Paywall scrollability - Adds
PaywallResourceLoadFail
event to enable tracking of failed resources in Paywall - Improves bottom navigation bar color handling
Fixes
- Fixes issue where paywalls without fallback would fail to load and missing resource would cause a failure event
- Fixes issue with
trialPeriodDays
rounding to the higher value instead of lower, i.e. whereP4W2D
would return 28 days instead of 30, it now returns 30. - Fixes issue with system navigation bar not respecting paywall color
- Fixes issues with cursor allocation in Room transaction
- Improves handling of chromium render process crash
1.4.0-beta.3
1.4.0-beta.3
- Fixes issue where paywalls without fallback would fail to load and missing resource would cause a failure event
1.4.0-beta.2
1.4.0-beta.2
Enhancements
- Removes Gson dependency
- Adds
isScrollEnabled
flag to enable remote controll of Paywall scrollability
Fixes
- Fixes issue with
trialPeriodDays
rounding to the higher value instead of lower, i.e. whereP4W2D
would return 28 days instead of 30, it now returns 30. - Fixes issue with system navigation bar not respecting paywall color
- Reduces impact of preloading on render performance
- Fixes issues with cursor allocation in Room transaction
1.4.0-beta.1
- Updates methods to return
kotlin.Result
instead of relying on throwing exceptions - This introduces some minor breaking changes:
configure
completion block now provides aResult<Unit>
that can be used to check for success or failurehandleDeepLink
now returns aResult<Boolean>
getAssignments
now returns aResult<List<ConfirmedAssignments>>
confirmAllAssignments
now returns aResult<List<ConfirmedAssignments>>
getPresentationResult
now returns aResult<PresentationResult>
getPaywallComponents
now returns aResult<PaywallComponents>