Install & Setup the Cordova Plugin

How to install the Airship Cordova plugin.

Requirements

  • cordova-ios 7.0.0 or higher
  • cordova-android 12.0.0 or higher
  • iOS 15+ (Xcode 16+)
  • Android API 23+

Setup

Install the plugin using Cordova CLI:

cordova plugin add @ua/cordova-airship

For HMS support, you will also need the HMS module:

cordova plugin add @ua/cordova-airship-hms

iOS

Modify the app’s config.xml to enable swift support and set the min iOS version:

<!-- Deployment target must be >= iOS 15  -->
<preference name="deployment-target" value="15.0" />

<!-- Must be >= 5.0 -->
<preference name="SwiftVersion" value="5.0" />

Initialize Airship

Before you can access any of the module’s API, the Airship module needs to be initialized. This can be accomplished by calling takeOff when the device is ready.

Calling takeOff
// TakeOff
Airship.takeOff({
  production: {
    appKey: "<APP_KEY>",
    appSecret: "<APP_SECRET>"
  },
  development: {
    appKey: "<APP_KEY>",
    appSecret: "<APP_SECRET>"
  },
  inProduction: true, 
  site: "us", // use "eu" for EU cloud projects
  urlAllowList: ["*"],
  android: {
      notificationConfig: {
          icon: "ic_notification",
          accentColor: "#00ff00"
      }
  }
})

Takeoff can be called multiple times, but the config passed in takeOff won’t be applied until the next app init.

For a complete list of configuration options, see the AirshipConfig reference.

Test the integration

After completing the setup, verify your integration:

  1. Build and run your app on your iOS or Android device/simulator/emulator.
  2. Check the console output for Airship channel creation:
    • iOS: Look for a log message in Xcode console: Channel ID: <CHANNEL_ID>
    • Android: Look for a log message in logcat: Airship channel created: <CHANNEL_ID>
    • The channel ID confirms successful SDK initialization.
    • For more detailed logging, see Logging.

If you see the channel ID in the console and no errors, your integration is successful.

Next steps

If you don’t see a channel ID or encounter errors during initialization, see the Troubleshooting guide for common problems and solutions.