Releases: superwall/Superwall-Android
Releases · superwall/Superwall-Android
2.0.0
Our 2.0.0 release brings some major and minor changes to both our API's and core features. For more information, please look at our migration docs
Enhancements
- Adds
PaywallBuilder
class as an alternative to existinggetPaywallView
method. This provides a cleaner API and an ability to change purchase loading bar and shimmer view. - Ensure safety of static webview calls that are known to fail randomly due to Webview's internal issues
- 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")
- 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
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
- Reduces minSDK to 22
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
SubscriptionStatus.Active
now takes in a set ofEntitlements
, whileInactive
andActive
have been turned into objects.Superwall.instance.register
now usesplacement
instead ofevent
as the argument namepreloadPaywalls
now usesplacementNames
instead ofeventNames
as the argument namePaywallPresentationHandler.onDismiss
now has two arguments,PaywallInfo
andPaywallResult
PaywallComposable
now usesplacement
argument instead ofevent
TriggerResult.NoRuleMatch
andTriggerResult.EventNotFound
have been renamed toTriggerResult.NoAudienceMatch
andTriggerResult.PlacementNotFound
PresentationResult.NoRuleMatch
andPresentationResult.EventNotFound
have been renamed toPresentationResult.NoAudienceMatch
andPresentationResult.PlacementNotFound
SuperwallEvent
has been renamed toSuperwallPlacement
, belonging properties witheventName
have been renamed toplacementName
SuperwallEventInfo
has been renamed toSuperwallPlacementInfo
ComputedPropertyRequest.eventName
has been renamed toComputedPropertyRequest.placementName
Superwall.instance.events
has been renamed toSuperwall.instance.placements
LogScope.events
has been renamed toLogScope.placements
PaywallPresentationRequestStatusReason.EventNotFound
has been renamed toPaywallPresentationRequestStatusReason.PlacementNotFound
PaywallSkippedReason.EventNotFound
has been renamed toPaywallSkippedReason.PlacementNotFound
SuperwallDelegate.handleSuperwallEvent
method has been renamed toSuperwallDelegate.handleSuperwallPlacement
- Removed
PurchaseResult.Restored
2.0.0-beta.5
Breaking changes
Superwall.instance.register
now usesplacement
instead ofevent
as the argument namepreloadPaywalls
now usesplacementNames
instead ofeventNames
as the argument name- Superwall's
PaywallPresentationHandler.onDismiss
now has two arguments,PaywallInfo
andPaywallResult
PaywallComposable
now usesplacement
argument instead ofevent
2.0.0-beta.4
2.0.0-beta.4
Breaking changes
SuperwallEvents.entitlementStatusDidChange
has been renamed toSuperwallEvents.subscriptionStatusDidChange
SuperwallDelegate.entitlementStatusDidChange
has been renamed toSuperwallEvents.entitlementStatusDidChange
TriggerResult.NoRuleMatch
andTriggerResult.EventNotFound
have been renamed toTriggerResult.NoAudienceMatch
andTriggerResult.PlacementNotFound
PresentationResult.NoRuleMatch
andPresentationResult.EventNotFound
have been renamed toPresentationResult.NoAudienceMatch
andPresentationResult.PlacementNotFound
1.5.5
2.0.0-beta.3
2.0.0-beta.3
Breaking changes
SuperwallEvent
has been renamed toSuperwallPlacement
, belonging properties witheventName
have been renamed toplacementName
SuperwallEventInfo
has been renamed toSuperwallPlacementInfo
ComputedPropertyRequest.eventName
has been renamed toComputedPropertyRequest.placementName
Superwall.instance.events
has been renamed toSuperwall.instance.placements
LogScope.events
has been renamed toLogScope.placements
PaywallPresentationRequestStatusReason.EventNotFound
has been renamed toPaywallPresentationRequestStatusReason.PlacementNotFound
PaywallSkippedReason.EventNotFound
has been renamed toPaywallSkippedReason.PlacementNotFound
SuperwallDelegate.handleSuperwallEvent
method has been renamed toSuperwallDelegate.handleSuperwallPlacement
2.0.0-beta.2
2.0.0-beta.2
- API Changes:
- Migration of
setEntitlementStatus
tosetSubscriptionStatus
- Exposing
Superwall.instance.entitlementsStatus
- Migration of
SuperwallDelegate.entitlementStatusDidChange
toSuperwallDelegate.subscriptionStatusDidChange
- Migration of
1.5.4
1.5.3
2.0.0-beta.1
2.0.0-beta.1
- Add
PaywallBuilder
class as an alternative to existinggetPaywallView
method. This provides a cleaner API and an ability to change purchase loading bar and shimmer view - Add callback versions of new 2.0 methods
- Ensure safety of static webview calls that are known to fail randomly due to Webview's internal issues