Skip to content

Migrating from v11 to v12#

React Native SDK 12.0.2 upgrades the Android core SDK and the optional GAM, VAST and IMA modules to native version 12.0.2. iOS core, GAM and VAST use native version 11.7.1. IMA remains Android-only.

Android build configuration#

Use Kotlin 2.1.0 and a matching Kotlin Compose compiler plugin. Android dependencies use Compose BOM 2026.06.01. Update any host overrides that still select Kotlin 2.0.x or older Storyteller artifacts.

For a React Native host with a Groovy root android/build.gradle:

buildscript {
    ext {
        kotlinVersion = "2.1.0"
        minSdkVersion = 24
        compileSdkVersion = 35
    }
    dependencies {
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
    }
}

Keep the rest of your React Native build configuration. If your app directly uses Compose, apply org.jetbrains.kotlin.plugin.compose at the same version as Kotlin and align its Compose dependencies through BOM 2026.06.01. The Storyteller core and GAM packages already configure their own Compose plugin. Do not add an old kotlinCompilerExtensionVersion workaround.

The React Native minimum Android API remains 24. The repository consumer baseline uses React Native 0.79.5, compile SDK 35, AGP 8.8.2, and Gradle 8.10.2 or 8.13. Use a JDK supported by that Gradle version; CI uses JDK 17. Preserve your existing target SDK policy independently of the minimum SDK and compile SDK requirements.

Native SDK and ads versions#

All installed Android Storyteller artifact families must resolve to 12.0.2:

React Native package Native Maven artifact
Core com.getstoryteller:sdk:12.0.2
GAM com.getstoryteller:ads:12.0.2
VAST com.getstoryteller:ads-vast:12.0.2
IMA com.getstoryteller:ads-ima:12.0.2

Use mavenCentral() and google() in your repositories. The GAM integration continues to use classic Google Mobile Ads 23.4.0; no migration to ads24 or adsnextgen is required. IMA remains Android-only. Optional ad modules can coexist; retain your current module setup and provider ordering.

Remove old root sdkVersion overrides or update them to 12.0.2. Inspect the resolved graph from your Android project with:

./gradlew :app:dependencyInsight \
  --configuration debugRuntimeClasspath \
  --dependency com.getstoryteller

iOS VAST setup#

setupVASTModule and setupGAMVASTModule now preserve an existing GAM or AdMob module. If your app relied on VAST setup removing the Google ads module, call disableGoogleAdsModule() before configuring VAST. See Ads for module setup and removal examples.

Validate the upgrade#

Rebuild your app after updating native dependencies. Check Stories, Search, full-screen and Embedded Clips, callbacks, and your installed ad modules. Include Clips scrubbing and opening links because the Android upgrade also changes the underlying Compose stack. See Ads, Themes and Analytics for optional API additions.