react-native-module

Introduction: React Native module for Urban Airship
More: Author   ReportBugs   
Tags:

npm version License: Apache 2.0

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 launchMode to launcher in your app.json for expo-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:

  1. React Native Upgrades: A new React Native release requires breaking changes to the module.
  2. Airship SDK Upgrades: The underlying native Airship SDKs (iOS/Android) introduce breaking changes or major architecture updates.
  3. 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:

  1. It is superseded by a newer major release targeting the same React Native versions, or
  2. The React Native versions it supports reach End of Cycle or Unsupported in the official React Native policy.

  3. Duration: The maintenance window lasts for 6 months from the date the trigger occurs.

  4. Includes: Updates include critical bug fixes and security patches, provided they can be resolved without breaking changes.
  5. 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).
  6. 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

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools