https://github.com/urbanairship/android-library
Urban Airship Android SDK
https://github.com/urbanairship/android-library
android urban-airship-sdk urbanairship
Last synced: 2 months ago
JSON representation
Urban Airship Android SDK
- Host: GitHub
- URL: https://github.com/urbanairship/android-library
- Owner: urbanairship
- License: other
- Created: 2016-05-16T22:39:25.000Z (about 10 years ago)
- Default Branch: main
- Last Pushed: 2026-04-15T00:23:10.000Z (3 months ago)
- Last Synced: 2026-04-15T01:41:55.126Z (3 months ago)
- Topics: android, urban-airship-sdk, urbanairship
- Language: Kotlin
- Homepage:
- Size: 26 MB
- Stars: 114
- Watchers: 29
- Forks: 122
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Airship Android SDK
[](https://search.maven.org/search?q=g:com.urbanairship.android)
[](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`:
```kotlin
val airshipVersion = ""
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:
```kotlin
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`:
```xml
```
### 2. Configure a Push Provider
Add the FCM module and Google Services plugin to your `build.gradle`:
```groovy
dependencies {
implementation("com.urbanairship.android:urbanairship-fcm:")
}
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
- **[Getting Started Guide](https://docs.airship.com/platform/android/)** - Complete setup guide
- **[API Reference](https://docs.airship.com/reference/libraries/android/latest/)** - Full API documentation
- **[Migration Guides](documentation/migration/README.md)** - Comprehensive migration documentation
- **[Sample Apps](https://github.com/urbanairship/android-sample-apps)** - Example implementations
## Support
- 📚 [Documentation](https://docs.airship.com/)
- 🐛 [Report Issues](https://github.com/urbanairship/android-library/issues)
## License
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.