Skip to content

Releases: superwall/Superwall-Android

2.0.0-alpha.1

19 Dec 11:39
Compare
Choose a tag to compare
2.0.0-alpha.1 Pre-release
Pre-release

2.0.0-Alpha.1

Breaking Changes

  • SuperwallPaywallActivity and PaywallView have been moved into com.superwall.sdk.paywall.view package from com.superwall.sdk.paywall.vc package.
  • Removes PaywallComposable and Jetpack Compose support from the main SDK artifact in favor of Superwall-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.
  • Removed methods previously marked as Deprecated
  • Removes SubscriptionStatus, together with belonging update methods and subscriptionStatusDidChange callback.
  • These are replaced with EntitlementStatus and entitlementStatusDidChange callback. You can find more details on this migration in our docs.

Enhancements

  • Adds purchase method to Superwall 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")
  • Adds restorePurchases method to Superwall you can use to handle restoring purchases

  • Adds getProducts method to Superwall you can use to retrieve a list of ProductDetails 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 handle BillingClient'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 methods Superwall.instance.observePurchaseStart/observePurchaseError/observePurchaseResult
    • Automatically by replacing launchBillingFlow with launchBillingFlowWithSuperwall. This will automatically observe purchases done outside of Superwall paywalls.
  • 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

19 Dec 12:34
Compare
Choose a tag to compare

1.5.1

Enhancements

  • Updates superscript dependencies to reduce minSDK version

Fixes

  • Adds consumer proguard rules to avoid minifying JNA classes during obfuscation.

1.5.0

06 Dec 17:04
a0e5563
Compare
Choose a tag to compare

1.5.0

Enhancements

  • Adds shimmerView_start and shimmerView_complete events to track the loading of the shimmer animation.
  • Makes hasFreeTrial match iOS SDK behavior by returning true for both free trials and non-free introductory offers
  • Adds Superwall.instance.events - A SharedFlow instance emitting all Superwall events as SuperwallEventInfo. 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

29 Nov 16:05
23f1235
Compare
Choose a tag to compare

1.5.0-beta.2

Enhancements

  • Adds shimmerView_start and shimmerView_complete events to track the loading of the shimmer animation.
  • Makes hasFreeTrial match iOS SDK behavior by returning true for both free trials and non-free introductory offers

1.5.0-beta.1

20 Nov 18:14
db6d7ca
Compare
Choose a tag to compare

1.5.0-beta.1

Enhancements

  • Adds Superwall.instance.events - A SharedFlow instance emitting all Superwall events as SuperwallEventInfo. 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

20 Nov 15:34
Compare
Choose a tag to compare

1.4.1

Enhancements

  • Adds appVersionPadded attribute

Fixes

  • Fixes issue where PaywallPresentationHandler.onError would be skipped in case of BillingErrors

1.4.0

15 Nov 17:12
8f036e8
Compare
Choose a tag to compare

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 a Result<Unit> that can be used to check for success or failure
    • handleDeepLink now returns a Result<Boolean>
    • getAssignments now returns a Result<List<ConfirmedAssignments>>
    • confirmAllAssignments now returns a Result<List<ConfirmedAssignments>>
    • getPresentationResult now returns a Result<PresentationResult>
    • getPaywallComponents now returns a Result<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. where P4W2D 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

07 Nov 12:31
b63bc36
Compare
Choose a tag to compare

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

06 Nov 20:05
4216e0c
Compare
Choose a tag to compare

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. where P4W2D 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

18 Oct 17:36
be27a0f
Compare
Choose a tag to compare
  • Updates methods to return kotlin.Result instead of relying on throwing exceptions
  • This introduces some minor breaking changes:
    • configure completion block now provides a Result<Unit> that can be used to check for success or failure
    • handleDeepLink now returns a Result<Boolean>
    • getAssignments now returns a Result<List<ConfirmedAssignments>>
    • confirmAllAssignments now returns a Result<List<ConfirmedAssignments>>
    • getPresentationResult now returns a Result<PresentationResult>
    • getPaywallComponents now returns a Result<PaywallComponents>