Notification Delivery Strategy

Last updated:2022-05-07
Notification Delivery Strategy

As vendor servers gradually tighten vendor quota and QPS limits, push arrival rate and delivery speed are also affected. To better improve arrival rate and delivery speed, JPush provides the notification delivery strategy feature. You can customize notification delivery strategies for different channels when sending pushes. See the details below.

Channel Description

The notification delivery strategy is valid only for Android devices that have integrated vendor channels. To integrate vendor channels, see Vendor Channel SDK Integration Guide.

Channel Description Supported Phone Types
Jiguang channel The Jiguang channel is a self-built channel and depends on a long connection to receive pushes. Messages are not delivered when the device is offline. All models that can successfully register with the Jiguang channel.
Vendor channel
  • Vendor channels are system channels, and pushes can still be received when the device is offline.
  • Supports Xiaomi, Huawei, OPPO, vivo, Honor, Meizu, FCM, ASUS, HarmonyOS, and NIO channels.
  • Xiaomi, Huawei, OPPO, vivo, Meizu, Honor, HarmonyOS, Google, NIO phones, and others.

    Usage

    Server-Side Usage

    When sending, configure the third_party_channel field under the options field, and configure strategy parameters under the corresponding vendor key to push according to the strategy.

    • options.third_party_channel: the key only supports users of the xiaomi, huawei, honor, meizu, oppo, vivo, fcm, nio, asus, and hmos types. The key can be one or more of the above 10 types. Vendor keys that are not passed use the default delivery logic.

      Special note 1: If an fcm key is specified, the allowed strategy fields are distribution and distribution_fcm. The distribution field applies to pure Google system devices (devices that can obtain only an FCM token). The distribution_fcm field applies to Google + domestic vendor combined systems (devices that can obtain both an FCM token and a domestic Android vendor token). The specified strategy takes effect for both notification messages (notification) and custom messages (message). Special note 2: If an hmos key is specified, the only allowed strategy field is distribution. The value range of the distribution field is described below. The distribution field takes effect for both HarmonyOS platform notification messages (notification) and custom messages (message). If no message delivery strategy is specified, the default strategy is first_ospush.

    • Default delivery logic

    • Free users: the default value of distribution is secondary_push, and the default value of distribution_fcm is secondary_fcm_push.

    • VIP users: the default value of distribution is first_ospush, and the default value of distribution_fcm is fcm.

    • The three strategy parameters corresponding to each vendor-type KEY are as follows:

    Keyword Type Option Meaning Description
    distribution string Optional Notification bar message delivery logic The value cannot be an empty string.
  • first_ospush (VIP): devices that successfully register with a vendor channel use the vendor channel; devices that register only with the Jiguang channel use the Jiguang channel.
  • ospush (VIP): means the push is forced to be delivered through the vendor channel. Pay special attention: as long as the quota of the vendor corresponding to this value is insufficient, the push request will fail and return error code 1012.
    Example: assume you push to the RegistrationID of a Xiaomi user, and specify "ospush" for Xiaomi, OPPO, and other vendor channels in the request. If the OPPO vendor channel quota has already been used up, the push will also return error 1012, indicating that the vendor quota is insufficient.
  • jpush: means the push is forced to be delivered through the Jiguang channel.
  • secondary_push: means the push uses Jiguang first, and if Jiguang is offline, uses the vendor channel as a secondary channel (recommended).
  • Special attention 1: this field takes effect for both FCM notification messages (`notification`) and custom messages (`message`). If no message delivery strategy is specified, the default strategy is `first_ospush`.
  • Special attention 2: this field takes effect for both HarmonyOS platform notification messages (`notification`) and HarmonyOS platform custom messages (`message`). If no message delivery strategy is specified, the default strategy is `first_ospush`.
  • distribution_fcm string Optional Delivery logic for notification bar messages of the FCM + domestic vendor combined type The value cannot be an empty string.
  • jpush: means the push is forced to be delivered through the Jiguang channel.
  • fcm (VIP): means the push is forced to be delivered through the FCM channel.
  • pns (VIP): means the push is forced to be delivered through Xiaomi / Huawei / Honor / Meizu / OPPO / vivo channels.
  • secondary_fcm_push: for FCM + domestic vendor combined users, the push uses Jiguang first, and if Jiguang is offline, uses the FCM channel as a secondary channel.
  • secondary_pns_push: for FCM + domestic vendor combined users, the push uses Jiguang first, and if Jiguang is offline, uses the vendor channel as a secondary channel.
  • distribution_customize string Optional Custom message delivery logic for domestic Android vendor types Defines the logic for delivering custom messages to domestic Android vendor-type users. This feature supports only Huawei and Honor channels and requires Android Push SDK >= V3.9.0.
    Note: Xiaomi Push stopped providing passthrough message delivery service from 00:00 on September 12, 2022. From then on, you cannot send passthrough messages through the Xiaomi channel. Adjust the delivery strategy accordingly. For details, see the Xiaomi official announcement .
  • jpush: means the push is forced to be delivered through the Jiguang channel.
  • first_ospush (VIP): devices that successfully register with a vendor channel use the vendor channel; devices that register only with the Jiguang channel use the Jiguang channel.
  • secondary_push: means the push uses Jiguang first, and if Jiguang is offline, uses the vendor channel as a secondary channel.
  • API Example

    "third_party_channel":{ "xiaomi":{ "distribution":"jpush", "distribution_fcm":"fcm", "distribution_customize":"first_ospush", }, "huawei":{ "distribution":"secondary_push", "distribution_fcm":"jpush", "distribution_customize":"first_ospush", }, "honor":{ "distribution":"secondary_push", "distribution_fcm":"jpush", "distribution_customize":"first_ospush" }, "meizu":{ "distribution":"jpush", "distribution_fcm":"pns" }, "fcm":{ // This parameter does not support the distribution_fcm field. "distribution":"jpush" }, "oppo":{ "distribution":"ospush", "distribution_fcm":"secondary_fcm_push", }, "vivo":{ "distribution":"jpush", "distribution_fcm":"secondary_pns_push", }, "hmos":{ // This parameter only supports the distribution field. The delivery strategy takes effect for both HarmonyOS platform notifications (notification) and HarmonyOS platform custom messages (message). "distribution":"jpush" } }
              "third_party_channel":{
     "xiaomi":{
     "distribution":"jpush",
     "distribution_fcm":"fcm",
     "distribution_customize":"first_ospush",
     },
     "huawei":{
     "distribution":"secondary_push", 
     "distribution_fcm":"jpush", 
     "distribution_customize":"first_ospush",
     },
     "honor":{
     "distribution":"secondary_push", 
     "distribution_fcm":"jpush", 
     "distribution_customize":"first_ospush"
     },
     "meizu":{
     "distribution":"jpush",
     "distribution_fcm":"pns" 
     },
     "fcm":{ // This parameter does not support the distribution_fcm field.
     "distribution":"jpush" 
     },
     "oppo":{
     "distribution":"ospush", 
     "distribution_fcm":"secondary_fcm_push", 
     },
     "vivo":{
     "distribution":"jpush",
     "distribution_fcm":"secondary_pns_push", 
     },
     "hmos":{ // This parameter only supports the distribution field. The delivery strategy takes effect for both HarmonyOS platform notifications (notification) and HarmonyOS platform custom messages (message).
     "distribution":"jpush" 
     }
    }
    
            
    This code block is shown in the floating window

    Console Usage

    Notification Message

    Go to [JPush] - [Create Push] - [Notification Message], click [Android Platform] - [Advanced Settings] - [Notification Delivery Strategy], and select the notification delivery strategy to configure.

    The vendor channel status shows the current app's vendor channel activation and configuration status. The notification delivery strategy is valid only for devices that have integrated vendor channels.

    Custom Message

    Go to [JPush] - [Create Push] - [Custom Message], click [Android Platform] - [Advanced Settings] - [Notification Delivery Strategy], and select the notification delivery strategy to configure.

    The vendor channel status shows the current app's vendor channel activation and configuration status. The notification delivery strategy is valid only for devices that have integrated vendor channels.

    Was this document helpful?

    Copyright 2011-2026, jiguang.cn, All Rights Reserved. 粤ICP备12056275号-13 Shenzhen Hexun Huagu Information Technology Co., Ltd.

    Open in Docs Center