Install
The three peers are what the SDK already knows your app has:
| Package | What Gates uses it for |
|---|---|
expo-application | applicationId, nativeApplicationVersion, nativeBuildVersion |
expo-updates | runtimeVersion, updateId, isEmbeddedLaunch |
@react-native-async-storage/async-storage | Where the last-known-good snapshot and the installation id are persisted. |
The platform comes from React Native’s Platform.OS. There is no native module of Gates’ own to link.
Peer versions
@gates/expo declares react >= 18, react-native, expo-application, expo-updates and @react-native-async-storage/async-storage >= 2 as peer dependencies.
Without Expo modules
@gates/expo/core is the same client with no React, React Native or Expo imports. It runs in Node, on the web and under Jest or vitest. You pass runtime yourself; storage defaults to memory. See createGates.