From 072ecbc9dca047232f5a8b43ca00089b53b51898 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 19 Oct 2026 16:48:26 +0000 Subject: [PATCH] Bump Android SDK to 2.8.7 --- CHANGELOG.md | 3 +++ Plugins/Android/SuperwallSDK.androidlib/build.gradle | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 68a99da..4fab638 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ All notable changes to this package will be documented in this file. * `SuperwallEventInfo.EventType` was never populated: iOS serialized `String(describing: event)`, which on SuperwallKit versions without a `CustomStringConvertible` conformance dumps the case together with its associated values (`transactionComplete(transaction: ..., product: ...)`), and Android sends the snake_case `rawName` (`transaction_complete`). Neither matched the `EventType` enum, so every delegate event arrived as the default `FirstSeen` and any `switch` on it was dead. iOS now emits only the case name, and the C# parser accepts both camelCase and snake_case, logging a warning instead of failing silently when a name is still unknown. `EventType` gains the members both native SDKs already emit but C# lacked (`PaywallPageView`, `TestModeModalOpen`/`Close`, `CelExpressionResult`, `ErrorThrown`, `ReviewGranted`/`Denied`, `AttributionMatch`, `StripeCheckoutStart`/`Submit`/`Complete`/`Fail`), and the two placement names whose member is spelled differently (`deepLink_open` → `DeepLink`, `paywallWebviewLoad_processTerminated` → `PaywallWebviewProcessTerminated`) are mapped explicitly. * `SuperwallEventInfo.Product`, `.Transaction`, `.PaywallInfo`, `.Error` and `.RestoreType` were never populated on either platform: the bridges forwarded only `eventType` and the flattened `params`. The store transaction (and with it the store transaction id) was therefore unreachable from `handleSuperwallEvent`. Both bridges now serialize the associated values of the paywall and transaction events (`paywallOpen/Close/Decline`, `transactionStart/Abandon/Complete/Fail/Restore/Timeout`, `subscriptionStart`, `freeTrialStart`, `nonRecurringProductPurchase`), and the C# side reads them. Transaction dates are ISO 8601 strings, matching the existing `StoreTransaction` model. +### Dependencies +* Android: pins the native SDK to 2.8.7 (was `2.7.23`). [View Android SDK release notes](https://github.com/superwall/Superwall-Android/releases/tag/2.8.7). + ## [0.2.6] ### Dependencies diff --git a/Plugins/Android/SuperwallSDK.androidlib/build.gradle b/Plugins/Android/SuperwallSDK.androidlib/build.gradle index 762f955..1ac950c 100644 --- a/Plugins/Android/SuperwallSDK.androidlib/build.gradle +++ b/Plugins/Android/SuperwallSDK.androidlib/build.gradle @@ -21,7 +21,7 @@ if (agpMajor < 9) { // Follow the host project's compile SDK (Unity writes unity.compileSdkVersion // into the exported project's gradle.properties from Player Settings) so this -// module never pins consumers to a stale SDK. superwall-android 2.7.23 pulls +// module never pins consumers to a stale SDK. superwall-android 2.8.7 pulls // androidx.activity 1.10.1, which requires compileSdk >= 35 — hence the fallback. def unityCompileSdk = (findProperty('unity.compileSdkVersion') ?: '35') as int @@ -43,7 +43,7 @@ android { dependencies { // Pinned exactly: a floating range (2.+) lets a Maven-side release break // consumer builds overnight. Bump deliberately with each Unity SDK release. - api 'com.superwall.sdk:superwall-android:2.7.23' + api 'com.superwall.sdk:superwall-android:2.8.7' api 'com.android.billingclient:billing:8.0.0' implementation 'com.google.android.material:material:1.12.0' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0'