Customizing notifications
Custom small notification icon
Small icons appear in the Android notification bar and allow users to recognize your app when they receive a notification. Before releasing a new version of your app on the Store, you should make sure you've set a custom small icon for your notifications.

The small icon should be opaque white, using only the alpha channel and 24x24dp. You can easily create one using the Android Assets Studio.
If you use a colored small icon, Android will display it as a white square:

In order to set it up with Batch Push, you have to do three things:
Step 1.
Put your small icon drawables in the Android project's res
folder, for all screen densities. Your projet folder architecture should look like that:
res
├── drawable-hdpi
│ └── ic_notification_icon.png
├── drawable-mdpi
│ └── ic_notification_icon.png
├── drawable-xhdpi
│ └── ic_notification_icon.png
└── drawable-xxhdpi
└── ic_notification_icon.png
Step 2.
Once you did that, add the following in your manifests' <application>
tag:
<meta-data
android:name="com.batch.android.push.smallicon"
android:resource="@drawable/ic_notification_icon" />
Your notifications will now automatically use that icon. Please note that you are not forced to use ic_notification_icon
for the icon's name. The name in the manifest simply needs to match the filenames.
Step 3.
For your Android 5.0 users (and newer), you should set a color to your notification, which will be shown behind the small icon.

Simply add this in your manifest, just like the small icon metadata:
<meta-data
android:name="com.batch.android.push.color"
android:value="#FF00FF00" />
You can also use android:resource
instead of android:value
and point to a color defined in an XML ressource file.
Disabling foreground notifications
By default, the Batch Cordova plugin will always show foreground notifications on both platforms and will trigger a batchPushReceived
event when tapped.
The SDK exposes a method on the push
module to change this behaviour on iOS:
// This should be right after batch.start()
batch.push.setiOSShowForegroundNotifications(false);
On Android, simply add the following to your manifest:
<meta-data android:name="com.batch.android.push.foreground_push_handling" android:value="true" />
Disabling foreground notifications will automatically trigger mobile landings when attached to a push received while the App is in foreground.
Managing Android notification display
You can restrict notification display on Android by calling :
batch.push.setAndroidShowNotifications(false);
Re-enabling notifications:
batch.push.setAndroidShowNotifications(true)
Managing iOS notification display
Just like Android, you can set the notification types you want on iOS.
The enum is batch.push.iOSNotificationTypes
, and contains BADGE, SOUND, ALERT.
For example, if you want to disable sound:
batch.push.setiOSNotificationTypes(batch.push.iOSNotificationTypes.ALERT |
batch.push.iOSNotificationTypes.BADGE);
Last updated