Skip to content

Update native SDKs (iOS 4.16.1, Android 2.7.20) + surface new API#219

Draft
claude[bot] wants to merge 2 commits into
mainfrom
update-native-sdk-versions
Draft

Update native SDKs (iOS 4.16.1, Android 2.7.20) + surface new API#219
claude[bot] wants to merge 2 commits into
mainfrom
update-native-sdk-versions

Conversation

@claude

@claude claude Bot commented Jul 6, 2026

Copy link
Copy Markdown

Requested by Ian Rumac · Slack thread

What changed

Bumps the bundled native SDKs to their latest stable releases and surfaces the API that landed between the old and new versions.

Native SDK versions

  • iOS: SuperwallKit 4.15.34.16.1
  • Android: superwall-android 2.7.162.7.20

New API

  • eventTrackingBehavior on SuperwallOptions ("all" | "superwallOnly" | "none") — GDPR event-collection control. Supersedes isExternalDataCollectionEnabled, which is now deprecated (kept working; an explicit eventTrackingBehavior wins). Added a runtime setter setEventTrackingBehavior(...) too.
  • singularDeviceId integration attribute (iOS IntegrationAttribute.singularDeviceId, Android AttributionProvider.SINGULAR_DEVICE_ID).
  • getStoreFrontCountryCode() — reads the storefront country code. There is no public accessor on the Superwall class on either platform, so it reads the existing storeFrontCountryCode device attribute (populated on both iOS and Android).

Not included

  • PaywallOptions.loadingColor — deliberately omitted. iOS 4.16.1 exposes no public loadingColor, and the Android property is an @ColorRes resource id (not a color value), so it doesn't map cleanly to a JS/hex API.

How

  • TS: option type + field in src/SuperwallOptions.ts; native-module signature in src/SuperwallExpoModule.ts; store actions in src/useSuperwall.ts; IntegrationAttribute union in src/SuperwallExpoModule.types.ts; compat mirrors in src/compat/. eventTrackingBehavior is optional and intentionally left out of DefaultSuperwallOptions, so a caller that sets only the legacy isExternalDataCollectionEnabled keeps working.
  • iOS: option mapping in ios/Json/SuperwallOptions+Json.swift (applied after the legacy flag so an explicit value wins); singularDeviceId case in ios/Json/IntegrationAttribute+Json.swift; setter in ios/SuperwallExpoModule.swift.
  • Android: mirrors in android/.../json/SuperwallOptions.kt, IntegrationAttribute.kt, and SuperwallExpoModule.kt.
  • Added a minor changeset.

@pkg-pr-new

pkg-pr-new Bot commented Jul 6, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/expo-superwall@219

commit: 69c86c0

@claude claude Bot changed the title Update native SDKs: iOS 4.16.1, Android 2.7.20 Update native SDKs (iOS 4.16.1, Android 2.7.20) + surface new API Jul 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant