Android push notification channels

Updated 🎉New in v2.4

Starting in Android 8.0, you can set up “notification channels,” which categorize notifications for your Android app. Every notification now belongs to a channel and the channel determines the behavior of notifications—whether they play sounds, appear as heads-up notifications, and so on. Channels also give users control over which channels they want to see notifications from. For example, if you had a news app, you might have different channels for sports, entertainment, and breaking news, giving users the ability to pick the channels they care about.

Today, Customer.io supports a single channel per app, and it has three settings, listed in the table below. You can customize your channel when you first set up the Customer.io SDK, but you cannot change the channel ID or importance level after you’ve created a channel. You can only change the channel name. Learn more from the official Android developer docs.

Channels are created on the audience’s side when they receive their first push from Customer.io. Users can see your channel in their device settings.

Channel settingDefaultDescription
Channel ID[your package name]The ID of the channel.
Channel name[your app name] NotificationsThe name of the channel.
Importance3The importance of the channel. Acceptable values are 0 (min), 1 (low), 2 (medium), 3 (default/high), and 4 (urgent). See the Android developer documentation for more about the behavior of each importance level.

Channel configuration

When you first integrate with the Customer.io SDK, you can set up your Android channel. Remember, after you’ve released a version of your app with channel settings, you can only change the channel name. Changes to other settings have no effect.

You’ll customize your channel in your app’s app.json file. See Configuring the plugin for more information about these fields.

{
  "plugins": [
    [
      "expo-build-properties",
      {}
    ],
    [
      "customerio-expo-plugin",
      {
        "android": {
          "googleServicesFile": "./files/google-services.json",
          "setHighPriorityPushHandler": true,
          "pushNotification": {
            "channel": {
              "id": "channel_id_value",
              "name": "Channel Name",
              "importance": 4
            }
          }
        },
        "ios": {}
      }
    ]
  ]
}

What channel settings can I change?

When you first set up the Customer.io Expo SDK, you can customize your channel. But after you release a version of your app with the Customer.io SDK, you cannot change the channel ID or importance level. After that, you can only change the channel name. (This is a limitation imposed by Android, not Customer.io.)

If you released your app with a version of the Customer.io Expo SDK prior to 2.4.0, you can delete your old channel and create a new one with completely new settings per Android’s developer documentation.

The chart below shows what channel settings you can or can’t change:

flowchart TD a{Is this a new integration
with Customer.io?} a-->|yes|b{Are you migrating channels
from another platform?} a-->|no|c{Were you integrated with
Customer.io React Native SDK
v4.5.0 or earlier?} c-->|yes|d(You can delete your current
channel and customize a new one.) b-->|no|e(You can customize
your channel) b-->|yes|f(You can set your channel
name. You cannot change your
channel ID or importance.) c-->|no|f
Copied to clipboard!
  Contents
Version
Is this page helpful?