Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions content/docs/android/changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,27 @@ title: "Changelog"
description: "Release notes for the Superwall Android SDK"
---

## 2.7.10

## Potentially impactful changes
- Billing errors on register are now wrapped in `SubscriptionStatusTimeout` errors
- This is used to clarify that the status is timing out due to billing errors. If you are depending on the `NoPaywallView` to distinguish between these, ensure you are checking for the proper status.

## Enhancements
- Adds onboarding analytics
- Adds prioritized preloading support
- Improved error handling

## Fixes
- Prevents paywalls from dismissing on return from deep link
- Fixes deadlock in `SerialTaskManager`
- Fix issues with bottom sheet on certain Samsung devices

## 2.7.9

## Fixes
- Fix review dialog closing paywall

## 2.7.8

### Fixes
Expand Down
2 changes: 1 addition & 1 deletion content/docs/android/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,4 @@ If you have feedback on any of our docs, please leave a rating and message at th

If you have any issues with the SDK, please [open an issue on GitHub](https://github.com/superwall/superwall-android/issues).

<SdkLatestVersion version="2.7.8" repoUrl="https://github.com/superwall/Superwall-Android" />
<SdkLatestVersion version="2.7.10" repoUrl="https://github.com/superwall/Superwall-Android" />
6 changes: 3 additions & 3 deletions content/docs/android/quickstart/install.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,16 @@ can find the [latest release here](https://github.com/superwall/Superwall-Androi
<CodeGroup>

```gradle build.gradle
implementation "com.superwall.sdk:superwall-android:2.7.8"
implementation "com.superwall.sdk:superwall-android:2.7.10"
```

```kotlin build.gradle.kts
implementation("com.superwall.sdk:superwall-android:2.7.8")
implementation("com.superwall.sdk:superwall-android:2.7.10")
```

```toml libs.version.toml
[libraries]
superwall-android = { group = "com.superwall.sdk", name = "superwall-android", version = "2.7.8" }
superwall-android = { group = "com.superwall.sdk", name = "superwall-android", version = "2.7.10" }

// And in your build.gradle.kts
dependencies {
Expand Down
17 changes: 17 additions & 0 deletions content/docs/android/sdk-reference/SuperwallEvent.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ sealed class SuperwallEvent {
) : SuperwallEvent()

data class PaywallOpen(val paywallInfo: PaywallInfo) : SuperwallEvent()
data class PaywallPageView(
val paywallInfo: PaywallInfo,
val data: PageViewData
) : SuperwallEvent()
data class PaywallClose(val paywallInfo: PaywallInfo) : SuperwallEvent()
data class PaywallDecline(val paywallInfo: PaywallInfo) : SuperwallEvent()

Expand Down Expand Up @@ -138,6 +142,7 @@ sealed class SuperwallEvent {
Each event contains associated values with relevant information for that event type. Common parameters include:

- `paywallInfo: PaywallInfo` - Information about the paywall
- `data: PageViewData` - Metadata for multi-page paywall navigation, including the page name, position in the flow, navigation type, and previous-page timing when available
- `product: StoreProduct` - The product involved in transactions
- `url: String` - Deep link URLs
- `attributes: Map<String, Any>` - Device or user attributes
Expand All @@ -154,6 +159,10 @@ These events are received via [`SuperwallDelegate.handleSuperwallEvent(eventInfo

- `PaywallWebviewLoadTimeout` is deprecated. This event was causing confusion due to its naming and has been removed from internal tracking. It will no longer fire.

## New events in 2.7.10

- `PaywallPageView` fires when a user navigates within a multi-page paywall. Use `event.data.pageName`, `event.data.flowPosition`, and `event.data.navigationType` to understand how they moved through the flow, and inspect the optional previous-page fields when you need timing context.

## New events in 2.6.6+

- `CustomerInfoDidChange` fires whenever the SDK merges device, web, and external purchase controller data into a new [`CustomerInfo`](/android/quickstart/tracking-subscription-state#reading-detailed-purchase-history-2-6-6) snapshot. The event includes the previous and next objects so you can diff entitlements or transactions.
Expand Down Expand Up @@ -183,6 +192,14 @@ override fun handleSuperwallEvent(eventInfo: SuperwallEventInfo) {
is SuperwallEvent.PermissionDenied -> {
showPermissionHelpSheet(event.permissionName)
}
is SuperwallEvent.PaywallPageView -> {
analytics.track("paywall_page_view", mapOf(
"paywall_id" to event.paywallInfo.id,
"page_name" to event.data.pageName,
"flow_position" to event.data.flowPosition,
"navigation_type" to event.data.navigationType
))
}
is SuperwallEvent.PaywallPreloadComplete -> {
Logger.i("Superwall", "Preloaded ${event.paywallCount} paywalls")
}
Expand Down
2 changes: 1 addition & 1 deletion content/docs/android/sdk-reference/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ If you have feedback on any of our docs, please leave a rating and message at th

If you have any issues with the SDK, please [open an issue on GitHub](https://github.com/superwall/superwall-android/issues).

<SdkLatestVersion version="2.7.8" repoUrl="https://github.com/superwall/Superwall-Android" />
<SdkLatestVersion version="2.7.10" repoUrl="https://github.com/superwall/Superwall-Android" />
Loading