react-native-module
The official Airship React Native module for iOS and Android.
Features
- Push Notifications - Rich, interactive push notifications with deep linking
- Live Activities & Live Updates - Real-time content updates on iOS Lock Screen and Android Live Content
- In-App Experiences - Contextual messaging, automation, and Scenes
- Embedded Content - Render Airship Scenes directly in your React Native app
- Custom Views - Extend Scenes with native content
- Message Center - Persistent inbox for rich messages with HTML, video, and interactive content
- Preference Center - User preference management
- Feature Flags - Dynamic feature toggles and experimentation
- Analytics - Comprehensive user behavior tracking
- Contacts - User identification and contact management
- Tags, Attributes & Subscription Lists - User segmentation, personalization, and subscription management
- Privacy Controls - Granular data collection and feature management
- Extensible & Hybrid Compatible - Works seamlessly in hybrid apps and supports native extensions
Quick Start
Standard React Native
Install the package:
npm install @ua/react-native-airship --save
or
yarn add @ua/react-native-airship
Expo
Apps using Expo can use the airship-expo-plugin to configure the project. You will need to use expo prebuild (custom dev client) or eas build since this package contains native code.
First, install the plugin and the main package:
expo install airship-expo-plugin
yarn add @ua/react-native-airship
Then, add the plugin to your app.json:
"plugins": [
[
"airship-expo-plugin",
{
"android": {
"icon": "./path/to/ic_notification.png"
},
"ios": {
"mode": "development"
}
}
]
]
Known Issues
- Expo SDK 50+ (Dev Builds): Tapping a foreground notification may cause the app to reload when running in a dev client. This can be resolved by setting the
launchModetolauncherin yourapp.jsonforexpo-dev-client. See issue #550 for more details."plugins": [ [ "expo-dev-client", { "ios": { "launchMode": "launcher" }, "android": { "launchMode": "launcher" } } ] ]
Initialization
Initialize Airship in your App.tsx:
import { useEffect } from 'react';
import Airship from '@ua/react-native-airship';
export default function App() {
useEffect(() => {
const takeOff = async () => {
try {
await Airship.takeOff({
default: {
appKey: "YOUR_APP_KEY",
appSecret: "YOUR_APP_SECRET"
},
});
await Airship.push.enableUserNotifications();
} catch (error) {
console.error("Failed to take off:", error);
}
};
takeOff();
}, []);
// ... your app code
}
For a more detailed setup guide, please see the full Getting Started Documentation.
Supported Versions
| Airship RN Version | Airship SDK Version | Supported RN Versions | Support Status |
|---|---|---|---|
| 26.x | 20.x | 0.82.x – 0.83.x | Active |
| 25.x | 19.x | 0.81.x – 0.82.x | Maintenance (Until Jun 8, 2026) |
| 24.x | 19.x | 0.79.x – 0.80.x | Maintenance (Until Feb 21, 2026) |
| 23.x | 19.x | 0.78.x | Unsupported |
| 21.x | 19.x | 0.70.x – 0.77.x | Unsupported |
Table last updated: December 8, 2025
Support Policy Definitions
Airship adheres to Semantic Versioning and the React Native Support Policy.
- Version Strategy: Breaking changes in React Native, Airship’s native SDKs, or the module’s public API may require a new major version.
- Compatibility: Only Active versions are evaluated for compatibility when new React Native versions are released. Compatibility with new React Native releases may require a new major Airship version.
- Backports: React Native compatibility updates are not backported to older Airship versions.
Active
Active versions are major releases of the Airship React Native Module that are currently in active development. These versions receive new features, bug fixes, and support for the React Native versions listed in the table above.
More than one major version may be Active at the same time when each targets a different React Native version range.
A new major version of the Airship React Native Module will be released if:
- React Native Upgrades: A new React Native release requires breaking changes to the module.
- Airship SDK Upgrades: The underlying native Airship SDKs (iOS/Android) introduce breaking changes or major architecture updates.
- Module API Changes: Breaking changes are made to the Airship React Native Module’s public API or packaging.
Maintenance (End of Cycle)
A major version enters a 6-month Maintenance window when either:
- It is superseded by a newer major release targeting the same React Native versions, or
The React Native versions it supports reach
End of CycleorUnsupportedin the official React Native policy.Duration: The maintenance window lasts for 6 months from the date the trigger occurs.
- Includes: Updates include critical bug fixes and security patches, provided they can be resolved without breaking changes.
- Excludes: Updates exclude new features or support for future React Native versions (e.g., RN 0.83+ will not be added to Airship 25.x).
- Goal: The goal is to provide a stable transition period for customers to migrate to an Active version.
Unsupported (End of Life)
Unsupported versions are releases that have passed their Maintenance window. No updates or support are provided for these versions.
Resources
- Documentation - Complete SDK integration guides and feature documentation
- API Reference - Detailed TypeScript API documentation
- GitHub Issues - Report bugs and request features
- Changelog - Release notes and version history
- Migration Guide - Upgrade guides between major versions
