android-library

Introduction: Urban Airship Android SDK
More: Author   ReportBugs   
Tags:

Maven Central License

The Airship SDK for Android provides a comprehensive way to integrate Airship's customer experience platform into your Android applications.

Features

  • Push Notifications - Rich, interactive push notifications with deep linking (FCM, HMS, ADM)
  • In-App Experiences - Contextual messaging, automation, and Scenes
  • Message Center - Inbox for push notifications and messages
  • Preference Center - User preference management with customizable UI
  • Feature Flags - Dynamic feature toggles and experimentation
  • Live Updates - Real-time content updates
  • 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
  • Jetpack Compose Support - Modern Compose UI components

Installation

Add the Airship Android SDK to your project using Gradle. In your app's build.gradle.kts:

val airshipVersion = "<latest_version>"

dependencies {
    // Core SDK - Required for all features
    implementation("com.urbanairship.android:urbanairship-core:$airshipVersion")

    // --- Push Providers ---
    // Choose one or more
    implementation("com.urbanairship.android:urbanairship-fcm:$airshipVersion")   // Firebase Cloud Messaging
    implementation("com.urbanairship.android:urbanairship-hms:$airshipVersion")   // Huawei Mobile Services
    implementation("com.urbanairship.android:urbanairship-adm:$airshipVersion")   // Amazon Device Messaging

    // --- In-App Automation & Scenes ---
    implementation("com.urbanairship.android:urbanairship-automation:$airshipVersion")
    // Optional - For Jetpack Compose support in Scenes
    implementation("com.urbanairship.android:urbanairship-automation-compose:$airshipVersion")

    // --- Message Center ---
    // Choose one UI implementation
    implementation("com.urbanairship.android:urbanairship-message-center:$airshipVersion")   // View-based UI
    implementation("com.urbanairship.android:urbanairship-message-center-compose:$airshipVersion") // Compose UI

    // --- Preference Center ---
    // Choose one UI implementation
    implementation("com.urbanairship.android:urbanairship-preference-center:$airshipVersion")  // View-based UI
    implementation("com.urbanairship.android:urbanairship-preference-center-compose:$airshipVersion") // Compose UI

    // --- Feature Flags ---
    implementation("com.urbanairship.android:urbanairship-feature-flag:$airshipVersion")

    // --- Live Updates ---
    implementation("com.urbanairship.android:urbanairship-live-update:$airshipVersion")

    // --- Debug ---
    // Optional - For development builds only
    debugImplementation("com.urbanairship.android:urbanairship-debug:$airshipVersion")
}

Quick Start

1. Initialize Airship

Create an Autopilot class to automatically initialize Airship:

class MyAutopilot : Autopilot() {
    override fun createAirshipConfigOptions(context: Context): AirshipConfigOptions {
        return airshipConfigOptions {
            setAppKey("YOUR_DEFAULT_APP_KEY")
            setAppSecret("YOUR_DEFAULT_APP_SECRET")
            setInProduction(!BuildConfig.DEBUG)
        }
    }

    override fun onAirshipReady(context: Context) {
        // Airship is ready! Configure additional settings here.
        Airship.push.userNotificationsEnabled = true
    }
}

Register your Autopilot in your AndroidManifest.xml:

<application>
    <meta-data
        android:name="com.urbanairship.autopilot"
        android:value="com.example.MyAutopilot" />
</application>

2. Configure a Push Provider

Add the FCM module and Google Services plugin to your build.gradle:

dependencies {
    implementation("com.urbanairship.android:urbanairship-fcm:<latest_version>")
}

apply plugin: 'com.google.gms.google-services'

Add your google-services.json file to your app directory.

Requirements

  • Minimum SDK 23+ (Android 6.0+)
  • Compile SDK 36+ (Android 15+)

Documentation

Support

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools