OneSignal Help & Documentation

Welcome to the OneSignal New IA developer hub. You'll find comprehensive guides and documentation to help you start working with OneSignal New IA as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    Discussions

Android SDK Setup

OneSignal Android SDK Setup Guide. Also for Amazon apps using Android Studio.

For Developers

Required For Setup


1. Adding OneSignal Dependencies

1.1 Open your app/build.gradle (Module: app) file, add the following to the very top.

buildscript {
    repositories {
        maven { url 'https://plugins.gradle.org/m2/'}
    }
    dependencies {
        classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.4, 0.99.99]'
    }
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

repositories {
    maven { url 'https://maven.google.com' }
}

1.2 Add the following to your dependencies section.

dependencies {
    implementation 'com.onesignal:OneSignal:[3.11.2, 3.99.99]'
}

1.3 Add the following in your android > defaultConfig section.

  • Update PUT YOUR ONESIGNAL APP ID HERE with your OneSignal app id
android {
   defaultConfig {
      manifestPlaceholders = [
          onesignal_app_id: 'PUT YOUR ONESIGNAL APP ID HERE',
          // Project number pulled from dashboard, local value is ignored.
          onesignal_google_project_number: 'REMOTE'
      ]
    }
 }

Sync Gradle

Make sure to press "Sync Now" on the banner that pops up after saving!


2. Add Required Code

2.1 Add the following to the onCreate method in your Application class.

import com.onesignal.OneSignal;

public class YourAppClass extends Application {
   @Override
   public void onCreate() {
      super.onCreate();
     
      // OneSignal Initialization
      OneSignal.startInit(this)
        .inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification)
        .unsubscribeWhenNotificationsAreDisabled(true)
        .init();
   }
}
import com.onesignal.OneSignal

class YourAppClass : Application() {
   override fun onCreate() {
      super.onCreate()
      
      // OneSignal Initialization
      OneSignal.startInit(this)
         .inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification)
         .unsubscribeWhenNotificationsAreDisabled(true)
         .init()
   }
}

3. Create a Default Notification Icon

3.1 By default, notifications will be shown with a bell icon in the notification shade. Follow the Customize Notification Icons guide to create your own small notification icon for your app.


Troubleshooting

If run into any issues please see our Android troubleshooting guide, or our general Troubleshooting section.


Notification Features

To configure notifications features, go to Features Setup.

Notification Handlers

NotificationOpenedHandler - This will be called when a notification is tapped on.
See our setNotificationOpenedHandler documentation to add one.

NotificationReceivedHandler - This will be called when a notification is received.
See our setNotificationReceivedHandler documentation to add one.

NotificationExtenderService

Set up the NotificationExtenderService if you want to do one of the following:

  • Receive data in the background with or without displaying a notification.
  • Override specific notification settings depending on client side app logic such as custom accent color, vibration pattern, or other any other NotificationCompat options available.

AndroidX Migration

If your project is using AndroidX you will need to make sure Jetifier is enabled to be compatible with OneSignal.
In your gradle.properties file, set the following two flags to true

android.useAndroidX=true
android.enableJetifier=true

You're Done!

Next up: Send your first push notification via the OneSignal Dashboard

Android SDK Setup


OneSignal Android SDK Setup Guide. Also for Amazon apps using Android Studio.

For Developers

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.