Skip to main content
Version: React Native SDK

Pin the tag version

By default, the SDK loads the latest released version of the Screeb tag every time your app starts. You get improvements, new question types and bug fixes automatically, without shipping a new build of your app.

If your organization requires a fixed, auditable third-party payload, you can pin the SDK to one specific tag release.

Pinning freezes everything, not just the risk

A pinned version stops receiving all updates until you change the value and ship a new build of your app:

  • no bug fixes โ€” including crash fixes and privacy fixes
  • no security patches
  • no new features โ€” new question types, new targeting capabilities, new survey formats
  • no compatibility updates โ€” for new OS versions, new devices or new WebView releases

Surveys you design later in the Screeb app may not render correctly, or may not display at all, if the pinned tag predates the feature they use. Only pin if you have a policy that requires it, and plan to review the pinned version regularly.

How to pinโ€‹

Pinning is configured in your app's native projects, not in JavaScript: the iOS and Android SDKs read it from the host app. Nothing changes in your React Native code.

iOSโ€‹

Add the ScreebTagVersion key to ios/<YourApp>/Info.plist:

<key>ScreebTagVersion</key>
<string>0.43.0</string>

Androidโ€‹

Add the app.screeb.sdk.TAG_VERSION meta-data entry to android/app/src/main/AndroidManifest.xml, inside the <application> element:

<application>
<meta-data
android:name="app.screeb.sdk.TAG_VERSION"
android:value="0.43.0" />
</application>

The value must be an exact version, in MAJOR.MINOR.PATCH form (a leading v is accepted). Ranges, tags such as latest, and partial versions such as 0.43 are not supported. On Android, keep it a string: a value such as 0.43 would be read as a float by the build tools.

Pin both platforms, or don't pin

These are two independent settings. If you set only one, your iOS and Android users run different versions of the tag, which makes any bug report ambiguous and can make a survey behave differently per platform.

To go back to automatic updates, remove the key and the meta-data entry, then ship a new build.

How to verify it worksโ€‹

  1. Ship a build with the values set.
  2. Open the app on both platforms and display a survey.
  3. Check that everything you expect still renders.
An invalid version silently disables Screeb

The version is not validated against the list of published releases. If you pin a version that does not exist (a typo, or a version that was never released), the tag fails to load and Screeb stops working entirely in your app: no surveys, no messages, no session replay, and no error shown to your users.

There is no fallback to the latest version, by design: a pinned version is honored exactly as written. Always test a pinned build before releasing it.

Choosing a versionโ€‹

Published versions and what each one contains are listed in the tag changelog. Pick a version that already contains every feature used by the surveys you plan to run, and re-check the changelog whenever you design a survey with a newer capability, or when a fix you need is released.