How to Configure Android Push Strategy
As Android device manufacturers tighten vendor-level QPS and message quota limits, the delivery rate and speed of push notifications can be affected. To improve delivery effectiveness, EngageLab provides a configurable Push Delivery Strategy. You can customize the delivery priority of different push channels during each push. See the details below.
🚪 Channel Overview
Delivery strategy settings are only effective for Android devices that have integrated vendor push channels. For integration instructions, refer to the Manufacturer Channel SDK Integration Guide.
Channel | Description | Supported Device Types |
---|---|---|
EngageLab Channel | A self-built long-connection channel. Requires the device to be online. No delivery if the device is offline. | All devices that successfully register the EngageLab channel |
Vendor Channels | System-level channels that support offline delivery. Includes Xiaomi, Huawei, OPPO, vivo, Meizu, and FCM. | Xiaomi, Huawei, OPPO, vivo, Meizu, Google phones, etc. |
⚙️ Android Push Strategy Instructions
🔧 Server-Side Configuration
Configure the
third_party_channel.distribution_new
field in theoptions
object during a push request. If omitted, it defaults topns_mtpush
.
📌 Field Definition
Field | Type | Required | Meaning | Notes |
---|---|---|---|---|
distribution_new | String | ✅ Yes | Sets the delivery priority between EngageLab and vendor channels | Must be a non-empty string |
🎯 Supported Values
Value | Description |
---|---|
mtpush |
Always use the EngageLab channel, no vendor fallback. |
pns_mtpush |
Prefer vendor channels (Xiaomi, Huawei, Meizu, OPPO, vivo, Honor). Fallback to EngageLab if vendor fails. |
mtpush_pns |
Prefer EngageLab. If offline or fails, fallback to vendor channel. |
fcm_mtpush |
Prefer FCM. If fails, fallback to EngageLab. |
mtpush_fcm |
Prefer EngageLab. Fallback to FCM if not online. |
⚠️ Note: For the strategies
pns_mtpush
,fcm_mtpush
,mtpush_pns
, andmtpush_fcm
:
- If the device only supports one push channel (either FCM or vendor), the system ignores the strategy and uses the available valid channel.
🧾 Sample Request
{
"third_party_channel": {
"distribution_new": "pns_mtpush",
"xiaomi": {
"channel_id": "*******",
"small_icon_uri": "http://f6.market.xiaomi.com/download/MiPass/x/x.png",
"small_icon_color": "#ABCDEF"
},
"huawei": {
"importance": "NORMAL",
"small_icon_uri": "https://xx.com/xx.jpg",
"only_use_vendor_style": true
},
"oppo": {
"channel_id": "*******",
"large_icon": "3653918_5f92b5739ae676f5745bcbf4"
},
"vivo": {
"pushMode": 0
}
}
}
🖥 Console Configuration
Go to:
AppPush → Create Push → Notification Message → Android Platform → Advanced Settings → Delivery Strategy
Here, you can:
- Choose the preferred delivery strategy
- View the current integration status of vendor channels
- Apply the strategy only to devices that support vendor channels
📊 Recommended Android Push Channel Strategy Table (by Device Region & System Support Capability)
The table below provides recommended push strategies based on device type, geographic region, and channel support. It helps developers decide when to prioritize EngageLab, vendor channels, or FCM.
Device Type | Region | FCM Reachability | EngageLab Reachability and Path | Remarks and Recommendations |
---|---|---|---|---|
Mainland China Version Mobile Phones | Mainland China | |||
Hong Kong, China | ||||
Hong Kong Version Mobile Phones | Hong Kong, China | |||
Mainland China |
✅ Optimization Suggestions
- ✅ For all devices that cannot integrate FCM or vendor channels, it's recommended to use the EngageLab channel.
- ✅ For devices with successfully integrated vendor channels, we recommend setting
pns_mtpush
(prefer vendor channels). - ✅ For overseas Android devices (especially with stock Google Android), prioritize FCM.
- ✅ For Mainland China users, strongly recommend a hybrid strategy combining vendor channels + EngageLab.