MassPush

更新时间:
复制 MD 格式

Push different messages/notifications to different devices in batch.

Operation description

Before using this API, make sure you fully understand the billing methods and pricing of the EMAS Mobile Push service.

In certain business scenarios, you may need to push different messages to different devices in a very short time. When the number of devices and messages is extremely large, this can generate high QPS and reach the QPS limit per source IP, causing some pushes to fail.

This API is designed to address this problem. It supports up to 100 independent push tasks in a single call, effectively reducing QPS through request aggregation and improving the stability and success rate of large-scale unicast pushes. Batch push is limited to 500 calls per second per account.

Each independent push task only supports three types of push targets: device, account, and alias, and does not currently support SMS integration configuration.

Note

The SDK must be upgraded to version 3.11.0 or later.

PushTask Properties

  • The PushTask property format is: PushTask.N.Property. It includes:
    • Push target (destination)

    • Push configuration (config)

    • iOS notification task configuration

    • Android notification task configuration

    • Android auxiliary popup configuration

    • HarmonyOS notification task configuration

    • Push control

  • Each PushTask represents an independent push task, with a maximum of 100 supported. Push-related configurations are consistent with the Push API.

  • The PushTask.N.Target parameter only supports three types: DEVICE, ACCOUNT, and ALIAS.

  • PushTask does not support SMS integration configuration.

  • The product of parent nodes and child nodes cannot exceed 10,000; otherwise, the parameters are considered invalid.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

mpush:MassPush

none

*全部资源

*

None None

Request parameters

Parameter

Type

Required

Description

Example

AppKey

integer

Yes

AppKey information.

23267207

PushTask

array<object>

Yes

An array of independent push tasks.

array<object>

No

An independent push task.

PushType

string

Yes

Push type. Valid values:

  • MESSAGE: indicates a message.

  • NOTICE: indicates a notification.

Valid values:

  • MESSAGE :

    MESSAGE

  • NOTICE :

    NOTICE

MESSAGE

DeviceType

string

Yes

Device type. Valid values:

  • HARMONY: HarmonyOS device

  • iOS: iOS device

  • ANDROID: Android device

  • ALL: When the AppKey is for a legacy dual-platform app, this pushes to both Android and iOS devices simultaneously. When the AppKey is for a new single-platform app, the effect is the same as specifying the device type corresponding to the app type.

Valid values:

  • ALL :

    ALL

  • ANDROID :

    ANDROID

  • iOS :

    iOS

HARMONY

Target

string

Yes

Push target. Valid values:

  • DEVICE: push by device.

  • ACCOUNT: push by account.

  • ALIAS: push by alias.

Valid values:

  • ACCOUNT :

    ACCOUNT

  • ALIAS :

    ALIAS

  • DEVICE :

    DEVICE

DEVICE

TargetValue

string

Yes

Set based on Target. Multiple values are separated by commas. If the limit is exceeded, you need to split the push into multiple calls.

  • Target=DEVICE: values such as deviceid1,deviceid2 (up to 1,000 supported).

  • Target=ACCOUNT: values such as account1,account2 (up to 1,000 supported).

  • Target=ALIAS: values such as alias1,alias2 (up to 1,000 supported).

deviceid1,deviceid2

StoreOffline

boolean

No

Whether to store offline messages/notifications. StoreOffline defaults to false.

If stored, when the user is offline during push, the message will be resent when the user comes online within the expiration time (ExpireTime). ExpireTime defaults to 72 hours. iOS notifications are delivered through the APNs channel and are not affected by StoreOffline.

true

SendChannels

string

No

Specify sending channels. Valid values:

  • accs: Alibaba Cloud proprietary channel

  • huawei: Huawei channel

  • honor: Honor channel

  • xiaomi: Xiaomi channel

  • oppo: OPPO channel

  • vivo: vivo channel

  • meizu: Meizu channel

  • gcm: Google GCM channel (legacy HTTP)

  • fcm: Google Firebase channel (HTTP v1 API)

  • apns: APNs channel

  • harmony: HarmonyOS channel

Note
  • If this parameter is not configured, all channels are available.

  • If this parameter is configured, only the specified channels are used.

  • If the configured channels conflict with the sending strategy (e.g., iOS notifications only go through the APNs channel, but this parameter does not include apns), the push will not be sent.

  • If gcm is configured, both Google GCM and FCM channels can be used. If fcm is configured, only the Google FCM channel can be used.

accs,huawei,xiaomi

PushTime

string

No

Used for scheduled sending. If not set, the default is immediate sending.

The time format follows the ISO 8601 standard and must use UTC time in the format YYYY-MM-DDThh:mm:ssZ.

2019-02-20T00:00:00Z

ExpireTime

string

No

Expiration time of offline messages/notifications. Used together with StoreOffline. Expired messages will no longer be sent. The maximum retention period is 72 hours. The default is 72 hours.

The time format follows the ISO 8601 standard and must use UTC time in the format YYYY-MM-DDThh:mm:ssZ. The expiration time cannot be earlier than the current time or the scheduled push time plus 3 seconds (ExpireTime > PushTime + 3 seconds). The 3-second buffer accounts for network and system latency. We recommend at least 1 minute for unicast pushes and at least 10 minutes for broadcast and batch pushes.

2019-02-20T00:00:00Z

JobKey

string

No

Custom identifier for the push task. When JobKey is not empty, this field will be included in the receipt logs. For receipt log details, see Receipt Logs.

123

Title

string

No

Title of the notification/message during push. Length limit: 200 bytes. Required for Android and HarmonyOS pushes. Optional for iOS push notifications. If provided:

  • iOS 10+: the notification displays the title.

  • iOS 8.2 <= iOS version < iOS 10: replaces the notification app name.

title

Body

string

No

Content of the notification/message for Android and HarmonyOS pushes; iOS message/notification content. The push content size is limited. See Product Limits.

hello

Trim

boolean

No

Whether to automatically truncate titles and content that are too long. Note: This only applies to vendor channels that explicitly limit title and content length. It does not apply to channels like APNs, Huawei, and Honor that do not limit title and content individually but only limit the total request body size.

false

iOSApnsEnv

string

No

iOS notifications are sent through the APNs center. You need to specify the corresponding environment information.

  • DEV: Development environment, applicable to apps installed and debugged directly via Xcode.

  • PRODUCT: Production environment, applicable to apps distributed through App Store, TestFlight, Ad Hoc, and enterprise distribution.

Valid values:

  • DEV :

    DEV

  • PRODUCT :

    PRODUCT

DEV

iOSRemind

boolean

No

When the device is offline during message push (i.e., the persistent connection channel to the Mobile Push server is disconnected), this push will be delivered as a notification through Apple's APNs channel once.

Note

Offline message-to-notification conversion only applies to the production environment.

true

iOSSubtitle

string

No

iOS notification subtitle content (iOS 10+).

subtitle

iOSRemindBody

string

No

iOS notification content used when converting iOS messages to notifications. Only valid when iOSApnsEnv=PRODUCT and iOSRemind is true.

ios通知body

iOSMusic

string

No

iOS notification sound. Specify the name of an audio file stored in the app bundle or the sandbox Library/Sounds directory. See: How to set notification sound for iOS push.

If set to an empty string (""), the notification is silent. If not set, the default system alert sound is used.

””

iOSBadge

integer

No

iOS app icon badge number in the upper-right corner.

Note

If iOSBadgeAutoIncrement is set to True, this field must be empty.

0

iOSBadgeAutoIncrement

boolean

No

Whether to enable badge auto-increment. Defaults to false.

Note

When this is set to true, iOSBadge must be empty.

The badge auto-increment feature is maintained by the push server for each device's badge count. Users must use SDK version V1.9.5 or later and actively sync the badge number to the server.

true

iOSSilentNotification

boolean

No

Whether to enable iOS silent notification.

true

iOSMutableContent

boolean

No

iOS notification processing extension flag (iOS 10+). If set to true, APNs push notifications can reach the Extension for processing before being displayed. Must be set to true for silent notifications.

true

iOSNotificationCategory

string

No

Specify the iOS notification Category (iOS 10+).

ios

iOSNotificationCollapseId

string

No

When a device receives messages with the same CollapseId, they are merged into one. When the device is offline, consecutive messages with the same CollapseId will show only one notification in the notification bar. Supported on iOS 10+.

ZD2011

iOSNotificationThreadId

string

No

Groups iOS remote notifications using this property, marking the group identifier for collapsed notifications. Only supported on iOS 12.0+.

abc

iOSInterruptionLevel

string

No

Interruption level. Valid values:

  • passive: The system adds the notification to the notification list without lighting up the screen or playing sound.

  • active: The system immediately displays the notification, lights up the screen, and can play sound.

  • time-sensitive: The system immediately presents the notification, lights up the screen, and can play sound, but does not break through system notification controls.

  • critical: The system immediately displays the notification, lights up the screen, and plays sound bypassing the mute switch.

Valid values:

  • critical :

    critical

  • time-sensitive :

    time-sensitive

  • active :

    active

  • passive :

    passive

active

iOSRelevanceScore

number

No

Summary highlight score. Value range: a floating-point number in [0,1].

0.01

iOSExtParameters

string

No

Extended properties of iOS notifications.

On iOS 10+, you can specify the resource URL for rich media push notifications here: {"attachment": "https://xxxx.xxx/notification_pic.png"} . This parameter must be passed in JSON map format; otherwise, parsing errors will occur.

{"attachment": "https://xxxx.xxx/notification_pic.png"}

iOSLiveActivityEvent

string

No

Start, update, or end a Live Activity.

  • Enum: start | update | end

start

iOSLiveActivityId

string

No

The Live Activity ID reported by the device to the user's server. A unique identifier for the Live Activity.

66B94673-B32E-4CA7-863C-3E523054FD46

iOSLiveActivityAttributesType

string

No

The type of Live Activity to start.

Note

Required when iOSLiveActivityEvent is start.

OrderActivityAttributes

iOSLiveActivityAttributes

string

No

JSON string. Static pass-through parameters for Dynamic Island push. Contains static user-defined information such as product ID and order information.

Note

Required when iOSLiveActivityEvent is start.

{"orderId": "12345", "product": "Shoes"}

iOSLiveActivityContentState

string

No

Dynamic pass-through parameters for Dynamic Island push. Contains real-time update information such as price and inventory changes.

{"status": "delivered", "estimatedArrival": "2023-12-31T12:00:00Z"}

iOSLiveActivityDismissalDate

integer

No

The ended Live Activity will remain on the lock screen until the specified time, up to a maximum of 4 hours.

1743131967

iOSLiveActivityStaleDate

integer

No

Timestamp in seconds, marking the expiration time of the activity content.

1743131967

AndroidNotifyType

string

No

Notification alert type. Valid values:

  • VIBRATE: Vibration (default)

  • SOUND: Sound

  • BOTH: Sound and vibration

  • NONE: Silent

Valid values:

  • SOUND :

    SOUND

  • NONE :

    NONE

  • VIBRATE :

    VIBRATE

  • BOTH :

    BOTH

VIBRATE

AndroidRemind

boolean

No

When the push type is message and the device is offline, this push will use the auxiliary popup feature. Defaults to false. Only takes effect when PushType=MESSAGE.

If the message-to-notification conversion push is successful, the notification displays the data set by the server's AndroidPopupTitle and AndroidPopupBody parameter values. The data obtained when clicking the notification in the auxiliary popup's onSysNoticeOpened method is the server-set Title and Body parameter values.

true

AndroidOpenType

string

No

Action after clicking the notification. Valid values:

  • APPLICATION: Open the app (default)

  • ACTIVITY: Open an Android Activity

  • URL: Open a URL

  • NONE: No navigation

Valid values:

  • APPLICATION :

    APPLICATION

  • NONE :

    NONE

  • ACTIVITY :

    ACTIVITY

  • URL :

    URL

APPLICATION

AndroidActivity

string

No

Specify the Activity to open from the notification.

Only applicable when PushTask.N.AndroidOpenType="Activity", e.g., com.alibaba.cloudpushdemo.bizactivity.

com.alibaba.cloudpushdemo.bizactivity

AndroidOpenUrl

string

No

The URL to open after Android receives the push. Only applicable when PushTask.N.AndroidOpenType="URL".

https://xxxx.xxx

AndroidPopupActivity

string

No

Specify the Activity to navigate to when the notification is clicked.

com.alibaba.cloudpushdemo.bizactivity

AndroidPopupTitle

string

No

Title content in auxiliary popup mode. Required when the AndroidPopupActivity parameter is not empty.

Length limit: 50 characters (both Chinese and English characters count as one character each).

When using vendor channels, you must also comply with the vendor channel restrictions. For details, see Android Auxiliary Channel Push Limits.

hello

AndroidPopupBody

string

No

Body content in auxiliary popup mode. Required when the AndroidPopupActivity parameter is not empty.

Length limit: 200 characters (both Chinese and English characters count as one character each).

When using vendor channels, you must also comply with the vendor channel restrictions. For details, see Android Auxiliary Channel Push Limits.

hello

AndroidRenderStyle

string

No

Notification style. Valid values:

  • 0: Standard mode (default)

  • 1: Long text mode (supported by Huawei, Honor, Xiaomi, OPPO, Meizu, and proprietary channels)

  • 2: Big picture mode (supported by proprietary channel, not supported on Xiaomi devices)

  • 3: List mode (supported by Huawei, Honor, Xiaomi, OPPO, and proprietary channels)

Note

This parameter is required when using non-standard modes.

1

AndroidBigTitle

string

No

Title in long text mode. Length limit: 200 bytes (1 Chinese character counts as 3 bytes).

  • Currently only supported by the Honor channel and Huawei channel EMUI 11 and later.

  • If this parameter is not provided in long text mode, the first non-empty value from Title and AndroidPopupTitle is used.

示例长标题

AndroidBigBody

string

No

Body in long text mode. Length limit: 1,000 bytes (1 Chinese character counts as 3 bytes). Subject to specific vendor channel restrictions when sending.

Currently supported:

  • Huawei: EMUI 10 and later

  • Honor: Magic UI 4.0 and later

  • Xiaomi: MIUI 10 and later

  • OPPO: ColorOS 5.0 and later

  • Meizu: Flyme

  • Proprietary channel: Android SDK 3.6.0 and later

If this parameter is not provided in long text mode, the first non-empty value from Body and AndroidPopupBody is used.

示例长文本

AndroidBigPictureUrl

string

No

Image URL in big picture mode. Currently supported: Proprietary channel: Android SDK 3.6.0 and later.

https://imag.example.com/image.png

AndroidXiaomiBigPictureUrl deprecated

string

No

This parameter has been deprecated. Since August 2023, Xiaomi has officially discontinued support for dynamically setting small icons, right-side icons, and big pictures during push on new devices/systems.

https://f6.market.xiaomi.com/download/MiPass/aaa/bbb.png

AndroidImageUrl

string

No

Right-side icon URL. Currently supported:

  • Huawei EMUI (only applicable in long text mode and Inbox mode)

  • Honor Magic UI (only applicable in long text mode)

  • Proprietary channel: Android SDK 3.5.0 and later

https://imag.example.com/image.png

AndroidXiaomiImageUrl deprecated

string

No

This parameter has been deprecated. Since August 2023, Xiaomi has officially discontinued support for dynamically setting small icons, right-side icons, and big pictures during push on new devices/systems.

https://imag.example.com/image.png

AndroidInboxBody

string

No

Body content in Inbox mode. The content must be a valid JSON Array with no more than 5 elements. Currently supported:

  • Huawei: EMUI 9 and later

  • Honor: Magic UI 4.0 and later

  • Xiaomi: MIUI 10 and later

  • OPPO: ColorOS 5.0 and later

  • Proprietary channel: Android SDK 3.6.0 and later

["第一行","第二行"]

AndroidNotificationBarType

integer

No

Android custom notification bar style. Value range: 1-100.

2

AndroidNotificationBarPriority

integer

No

Priority of the notification position in the Android notification bar. Valid values: -2, -1, 0, 1, 2.

0

AndroidNotificationNotifyId

integer

No

Unique identifier for each message displayed in the notification bar. Different notification bar messages can share the same NotifyId, allowing new notifications to replace old ones.

100001

AndroidNotificationChannel

string

No

The channelId of the Android app. Must match the channelId configured in the app.

  • Set the NotificationChannel parameter. For specific usage, see FAQ: Notifications not received on Android 8.0+ devices.

  • Since the OPPO notification private channel's channel_id is the same as the app's channelId, the channel_id takes this value when pushing through the OPPO channel.

  • For Huawei, FCM, and Alibaba Cloud proprietary channel pushes, the channel_id takes this value.

1

AndroidNotificationHuaweiChannel

string

No

Set the Huawei notification message classification importance parameter, which determines the notification behavior on user devices. Valid values:

  • LOW: Information and marketing messages

  • NORMAL: Service and communication messages

Note
  • The Huawei channel now recommends using AndroidMessageHuaweiCategory for notification classification. AndroidNotificationHuaweiChannel is no longer required.

  • Application is required on the Huawei platform. Application link.

Valid values:

  • LOW :

    LOW

  • NORMAL :

    NORMAL

LOW

AndroidNotificationHonorChannel

string

No

Set the Honor notification message classification importance parameter, which determines the notification behavior on user devices. Valid values:

  • LOW: Information and marketing messages

  • NORMAL: Service and communication messages

Application is required on the Honor platform. Application link.

Valid values:

  • LOW :

    LOW

  • NORMAL :

    NORMAL

LOW

AndroidNotificationXiaomiChannel

string

No

Set the channelId for Xiaomi notification types. Application is required on the Xiaomi platform. See: Application link.

Note
  • A single application on the Xiaomi channel can apply for up to 8 channels. Please plan ahead.

michannel

AndroidNotificationVivoChannel

string

No

Set the vivo notification message classification. Valid values:

  • 0: Operational messages (default)

  • 1: System messages

Note
  • The vivo channel now recommends using AndroidMessageVivoCategory for notification classification. AndroidNotificationVivoChannel is no longer required.

  • Application is required on the vivo platform. See: Application link.

Valid values:

  • 0 :

    0

  • 1 :

    1

0

AndroidNotificationGroup

string

No

Message grouping. Messages in the same group display only the latest one and the total count of messages received in that group in the notification bar. All messages are not displayed and cannot be expanded. Currently supported:

  • Huawei vendor channel

  • Honor vendor channel

  • Proprietary channel: Android SDK 3.9.1 and earlier

Note

The proprietary channel no longer supports this parameter on Android SDK 3.9.2 and later.

group-1

AndroidNotificationThreadId

string

No

Message grouping. Messages in the same group are displayed collapsed in the notification bar and can be expanded. Notifications from different groups are displayed separately. Currently supported:

  • Proprietary channel: Android SDK 3.9.2 and later

thread-1

AndroidExtParameters

string

No

Set notification extended properties. This property does not take effect when the push type PushType is set to MESSAGE.

This parameter must be passed in JSON map format; otherwise, parsing errors will occur.

{"key1":"value1","api_name":"PushNoticeToAndroidRequest"}

AndroidMessageHuaweiUrgency

string

No

Huawei channel notification delivery priority. Valid values:

  • HIGH

  • NORMAL

Permission application is required. See: Application link.

Valid values:

  • HIGH :

    HIGH

  • NORMAL :

    NORMAL

HIGH

AndroidMessageHuaweiCategory

string

No

Purpose 1: After completing the self-classification privilege application, this is used to identify the message type, determine the notification alert method, and speed up delivery for specific message types. For valid values, refer to the Huawei Push official documentation's Message Classification Standard. Use the "Cloud notification category value" or "Local notification category value" from the documentation table.

Purpose 2: After applying for special permissions, this is used to identify high-priority pass-through scenarios. Valid values:

  • VOIP: Audio/video calls

  • PLAY_VOICE: Voice playback

Note

For "Cloud notification category values" marked as "Not applicable", the Alibaba Cloud proprietary channel is used. For "Local notification category values" marked as "Not applicable", the Huawei channel is used.

SUBSCRIPTION

AndroidMessageOppoCategory

string

No

OPPO classifies messages into two categories: Communication & Service, and Content & Marketing.

Communication & Service (permission application required):

  • IM: Instant messaging, audio, and video calls

  • ACCOUNT: Personal account and asset changes

  • DEVICE_REMINDER: Personal device reminders

  • ORDER: Personal order/logistics status changes

  • TODO: Personal schedule/to-do items

  • SUBSCRIPTION: Personal subscriptions

Content & Marketing:

  • NEWS: News and information

  • CONTENT: Content recommendations

  • MARKETING: Platform promotions

  • SOCIAL: Social updates

For details, see OPUSH Message Classification Rules

MARKETING

AndroidMessageOppoNotifyLevel

integer

No

OPPO channel notification bar message alert level. Valid values:

  • 1: Notification bar

  • 2: Notification bar, lock screen, ringtone, and vibration (default notification level for Communication & Service messages)

  • 16: Notification bar, lock screen, ringtone, vibration, and banner (permission application required)

Note

When using the AndroidMessageOppoNotifyLevel parameter, the AndroidMessageOppoCategory parameter must also be provided.

1

AndroidMessageVivoCategory

string

No

vivo classifies messages into two categories: System messages and Operational messages.

System messages:

  • IM: Instant messages

  • ACCOUNT: Account and assets

  • TODO: Schedule and to-do items

  • DEVICE_REMINDER: Device information

  • ORDER: Orders and logistics

  • SUBSCRIPTION: Subscription reminders

Operational messages:

  • NEWS: News

  • CONTENT: Content recommendations

  • MARKETING: Operational campaigns

  • SOCIAL: Social updates

Note

For details, see Classification Description

TODO

AndroidTargetUserType

integer

No

Set the vendor channel notification type:

  • 0: Production notification (default).

  • 1: Test notification.

Note
  • Configuring this parameter is equivalent to simultaneously configuring the AndroidHuaweiTargetUserType, AndroidHonorTargetUserType, AndroidVivoPushMode, and AndroidOppoIntentEnv parameters. The corresponding parameter for a specific vendor channel can override this parameter.

  • Currently supported: Huawei channel, Honor channel, vivo channel, and OPPO Fluid Cloud.

1

AndroidHuaweiTargetUserType

integer

No

Set the Huawei channel notification type:

  • 0: Production notification (default).

  • 1: Test notification.

Note

Each application can send up to 500 test notifications per day, and this is not subject to the daily per-device push limit.

Valid values:

  • 0 :

    0

  • 1 :

    1

1

AndroidHonorTargetUserType

integer

No

Set the Honor channel notification type:

  • 0: Production notification (default).

  • 1: Test notification.

Note

Each application can send up to 1,000 test notifications per day, and this is not subject to the daily per-device push limit.

1

AndroidVivoPushMode

integer

No

Set the vivo channel notification type:

  • 0: Production push (default).

  • 1: Test push.

Note

For test pushes, configure test devices in the vivo console in advance. The test device RegId can be obtained by searching for "onReceiveRegId regId" in the device startup logs.

Valid values:

  • 0 :

    0

  • 1 :

    1

1

AndroidOppoIntentEnv

integer

No

Set the OPPO Fluid Cloud push environment:

  • 0: Production environment (default).

  • 1: Test environment.

Note

The OPPO Fluid Cloud test environment requires client-side setup. See Environment Setup.

1

AndroidHuaweiBusinessType

integer

No

Set the Huawei instant notification parameter:

  • 0: Send a regular Huawei notification (default).

  • 1: Send a Huawei instant notification.

1

AndroidHuaweiReceiptId

string

No

Huawei channel receipt ID. This receipt ID can be found in the receipt parameter configuration on the Huawei channel push operations platform.

Note

If the default receipt configuration on the Huawei channel push operations platform is set to Alibaba Cloud receipt, this is not required. If not, we recommend configuring the default Huawei channel receipt ID in the Alibaba Cloud EMAS Mobile Push console first.

RCP4C123456

AndroidVivoReceiptId

string

No

vivo channel receipt ID. This receipt ID can be found in the app information section of the push service on the vivo open platform.

Note

If the default receipt configuration on the vivo open platform is set to Alibaba Cloud receipt, this is not required. If not, we recommend configuring the default vivo channel receipt ID in the Alibaba Cloud EMAS Mobile Push console first.

123

AndroidBadgeClass

string

No

Full class name of the app entry Activity for badge settings.

Note

Only valid for Huawei/Honor vendor channel pushes.

com.alibaba.cloudpushdemo.bizactivity

AndroidBadgeAddNum

integer

No

Set the badge increment value. The value is added to the existing badge count. Value range: [1-99].

Note

Only valid for Huawei/Honor vendor channel pushes. When both AndroidBadgeAddNum and AndroidBadgeSetNum are present, AndroidBadgeSetNum takes precedence.

1

AndroidBadgeSetNum

integer

No

Set the badge to a fixed number. Value range: [0-99].

Note

For vendor channel pushes, this only takes effect on Huawei and Honor channels. For Alibaba Cloud proprietary channel pushes, this only takes effect on Huawei, Honor, and vivo devices.

5

AndroidMusic

string

No

Huawei vendor channel notification sound. Specify the name of an audio file stored in the client project's app/src/main/res/raw/ directory. The file extension is not required.

If not set, the default ringtone is used.

alicloud_notification_sound

HarmonyRemind

boolean

No

When the push type is message and the device is offline, this push will use the auxiliary popup feature. Defaults to false. Only takes effect when PushType=MESSAGE.

If the message-to-notification conversion push is successful, the notification displays the data set by the server's HarmonyRemindTitle and HarmonyRemindBody parameter values.

false

HarmonyRemindTitle

string

No

HarmonyOS notification title used when converting HarmonyOS messages to notifications. Only valid when HarmonyRemind is true.

新消息

HarmonyRemindBody

string

No

HarmonyOS notification content used when converting HarmonyOS messages to notifications. Only valid when HarmonyRemind is true.

您有一条新消息,请查收

HarmonyCategory

string

No

Notification message category. After completing the notification message self-classification privilege application, this is used to identify the message type. Different notification message types affect the display and alert methods. Valid values:

  • IM: Instant messaging

  • VOIP: Audio/video calls

  • SUBSCRIPTION: Subscriptions

  • TRAVEL: Travel

  • HEALTH: Health

  • WORK: Work task reminders

  • ACCOUNT: Account updates

  • EXPRESS: Orders & logistics

  • FINANCE: Finance

  • DEVICE_REMINDER: Device reminders

  • MAIL: Email

  • CUSTOMER_SERVICE: Customer service messages

  • MARKETING: News, content recommendations, social updates, product promotions, financial updates, lifestyle information, surveys, feature recommendations, and operational campaigns (only marks the content, does not speed up message delivery), collectively referred to as information and marketing messages

For details, see HarmonyOS official documentation Notification.category

IM

HarmonyNotificationSlotType

string

No

Use the specified type of notification slot. Only valid when the Alibaba Cloud proprietary channel is online.

  • SOCIAL_COMMUNICATION: Social communication.

  • SERVICE_INFORMATION: Service reminders.

  • CONTENT_INFORMATION: Content information.

  • CUSTOMER_SERVICE: Customer service messages. This type is used for customer service messages between users and merchants, and must be initiated by the user.

  • OTHER_TYPES: Others.

For details, see HarmonyOS official documentation SlotType

SOCIAL_COMMUNICATION

HarmonyNotifyId

integer

No

Unique identifier for each message displayed in the notification. When not provided, the push service automatically generates a unique identifier for each message. Different notification messages can share the same notifyId, enabling new messages to replace old ones.

For details, see HarmonyOS official documentation Notification.notifyId

0

HarmonyActionType

string

No

Action after clicking the notification. Valid values:

  • APP_HOME_PAGE: Open the app home page

  • APP_CUSTOM_PAGE: Open a custom app page

APP_HOME_PAGE

HarmonyAction

string

No

The action corresponding to the built-in page ability of the app.

Important When HarmonyActionType is APP_CUSTOM_PAGE, at least one of HarmonyUri and HarmonyAction must be provided.

For details, see HarmonyOS official documentation ClickAction.action

com.example.action

HarmonyUri

string

No

The URI corresponding to the built-in page ability of the app.

Important When HarmonyActionType is APP_CUSTOM_PAGE, at least one of HarmonyUri and HarmonyAction must be provided. When multiple Abilities exist, provide different action and URI values for each Ability. The action is prioritized when looking up the corresponding built-in app page.

For details, see HarmonyOS official documentation ClickAction.uri

https://www.example.com:8080/push/example

HarmonyRenderStyle

string

No

Notification message style:

  • NORMAL: Standard notification (default)

  • MULTI_LINE: Multi-line text style

NORMAL

HarmonyImageUrl

string

No

URL for the large icon on the right side of the notification. The URL must use the HTTPS protocol.

Note

Supported image formats: png, jpg, jpeg, heif, gif, bmp. Image dimensions must satisfy height × width < 25,000 pixels.

For details, see HarmonyOS official documentation Notification.image

https://example.com/xxx.png

HarmonyInboxContent

string

No

Content for multi-line text style. Required when HarmonyRenderStyle is MULTI_LINE. Up to 3 content items are supported.

["1.content1","2.content2","3.content3"]

HarmonyExtParameters

string

No

Set notification extended properties. This property does not take effect when the push type PushType is set to MESSAGE.

This parameter must be passed in JSON map format; otherwise, parsing errors will occur.

{"key1":"value1","api_name":"PushNoticeToAndroidRequest"}

HarmonyTestMessage

boolean

No

Test message flag:

  • false: Normal message (default)

  • true: Test message

For details, see HarmonyOS official documentation pushOptions.testMessage

true

HarmonyReceiptId

string

No

HarmonyOS channel receipt ID. This receipt ID can be found in the receipt parameter configuration on the HarmonyOS channel push operations platform.

Note

If the default receipt configuration on the HarmonyOS channel push operations platform is set to Alibaba Cloud receipt, this is not required. If not, we recommend configuring the default HarmonyOS channel receipt ID in the Alibaba Cloud EMAS Mobile Push console first.

For details, see HarmonyOS official documentation pushOptions.receiptId

RCPB***DFD5

HarmonyExtensionPush

boolean

No

When PushType is NOTICE, whether this is a HarmonyOS notification extension message.

  • true: Send a notification extension message

  • false: Send a regular notification (default)

Notification extension messages require permission to be applied for on the HarmonyOS side before sending. For details, see the HarmonyOS documentation Send Notification Extension Messages.
Supported from HarmonyOS SDK 1.2.0.

true

HarmonyExtensionExtraData

string

No

Extra data for notification extension messages.
Valid when sending HarmonyOS notification extension messages.
Conceptually equivalent to the extraData field of HarmonyOS notification extension messages. For the specific definition, see HarmonyOS ExtensionPayload Description.
Supported from HarmonyOS SDK 1.2.0.

示例额外数据

HarmonyBadgeAddNum

integer

No

HarmonyOS app badge increment number. See HarmonyOS badge addNum field description.
Supported from HarmonyOS SDK 1.2.0.

1

HarmonyBadgeSetNum

integer

No

HarmonyOS app badge set number. See HarmonyOS badge setNum field description.
Supported from HarmonyOS SDK 1.2.0.

1

SendSpeed deprecated

integer

No

This parameter has been deprecated.

0

AndroidXiaoMiNotifyTitle deprecated

string

No

This parameter has been deprecated. All third-party auxiliary popups are now supported by the new parameter AndroidPopupTitle.

AndroidXiaoMiNotifyBody deprecated

string

No

This parameter has been deprecated. All third-party auxiliary popups are now supported by the new parameter AndroidPopupBody.

AndroidXiaoMiActivity deprecated

string

No

This parameter has been deprecated. All third-party auxiliary popups are now supported by the new parameter AndroidPopupActivity.

AndroidMeizuNoticeMsgType

integer

No

Meizu message type

  • 0: Public message (default)

  • 1: Private message

Valid values:

  • 0 :

    Public message (default)

  • 1 :

    Private message

0

AndroidOppoPrivateMsgTemplateId deprecated

string

No

OPPO private message template ID

Warning The OPPO private message template feature is no longer supported by MaasPush. To use this feature, please use the Push, PushV2, or MassPushV2 API instead.

687557242b1634hzef3zd5013

AndroidOppoPrivateTitleParameters deprecated

object

No

OPPO private message template title parameters

string

No

Variable name and variable value in the OPPO private message template title

my_title

AndroidOppoPrivateContentParameters deprecated

object

No

OPPO private message template content parameters

string

No

Variable name and variable value in the OPPO private message template content

my_content

AndroidXiaomiTemplateId

string

No

Xiaomi private message template ID

P10645

AndroidXiaomiTemplateParams

string

No

Xiaomi private message template parameters, JSON string

{"keywords1":"Tom","keywords2":"phone"}

HarmonyLiveViewPayload

string

No

JSON string of the HarmonyOS Live View data structure LiveViewPayload. For development integration, see HarmonyOS Live View Push Guide

{ "activityId": 1, "operation": 0, "event": "TAXI", "status": "DRIVER_ON_THE_WAY", "activityData": { "notificationData": { "type": 3 } } }

AndroidHuaweiLiveNotificationPayload

string

No

JSON string of the Huawei Android Live Notification data structure LiveNotificationPayload. For development integration, see Huawei Live Notification Push Guide

{ "activityId": 1, "operation": 1, "event": "TAXI", "activityData": { "notificationData": { "type": 3 } } }

AndroidOppoIntelligentIntent

string

No

JSON string of the OPPO Fluid Cloud intent sharing data structure IntelligentIntent. For development integration, see OPPO Fluid Cloud Push Guide

{ "intentName": "Example.Progress", "identifier": "d71ebd3119877b12ecdb6c4fe96b068e", "timestamp": 1729485000989, "serviceId": { "launcher": "999800001", "fluidCloud": "999900001" }, "intentAction": { "actionStatus": 0 }, "intentEntity": { "entityName": "TAXI" } }

AndroidOppoDeleteIntentData

string

No

JSON string of the OPPO Fluid Cloud intent deletion data structure data. This parameter is ignored when the AndroidOppoIntelligentIntent parameter is already provided. For development integration, see OPPO Fluid Cloud Push Guide

{ "intentName": "Example.Progress", "entityIds": [ "A580202509130712" ], "serviceId": { "launcher": "999800001", "fluidCloud": "999900001" } }

AndroidVivoLiveMessage

string

No

JSON string of the vivo Atomic Island data structure liveMessage. For development integration, see vivo Atomic Island Push Guide

{ "operation": 0, "scene": "HEALTH_REGISTER", "templateType": 1, "showNotify": true, "changeRecord": 999, "capsuleData": { "bgColor": "#32d4d4" } }

AndroidXiaomiFocusParam

string

No

JSON string of the Xiaomi Super Island data structure miui.focus.param. For development integration, see Xiaomi Super Island Push Guide

{ "param_v2": { "business": "taxi", "updatable": true, "orderId": "A580202509130712", "param_island": { "islandProperty": 1, "bigIslandArea": { "imageTextInfoLeft": { "type": 1 } } } } }

AndroidXiaomiFocusPics

string

No

JSON string of the Xiaomi Super Island images miui.focus.pic_xxx. For development integration, see Xiaomi Super Island Push Guide

{ "miui.focus.pic_ticker": "https://example.com/ticker.jpg", "miui.focus.pic_aod": "https://example.com/aod.jpg", "miui.focus.pic_imageText": "https://example.com/imageText.jpg" }

IdempotentToken

string

No

An idempotency parameter used to prevent duplicate pushes caused by API caller retries. When calls are made with the same IdempotentToken within 15 minutes, only one push is performed, and subsequent calls return the result of the first successful push.

Note
  • The parameter format is a standard 36-character UUID (8-4-4-4-12). Each valid character is a hexadecimal digit in the range 0-9 or a-f, case-insensitive.

  • This parameter is only used to prevent duplicate pushes caused by retries and cannot prevent duplicate pushes caused by concurrent calls.

c8016d13-6e76-410c-9bda-769383d11787

Response elements

Element

Type

Description

Example

object

MessageIds

object

MessageId

array

List of batch message IDs. Each message ID corresponds to the push result of the input PushTask.

string

Message ID

501030

RequestId

string

Request ID.

9998B3CC-ED9E-4CB3-A8FB-DCC61296BFBC

Examples

Success response

JSON format

{
  "MessageIds": {
    "MessageId": [
      "501030"
    ]
  },
  "RequestId": "9998B3CC-ED9E-4CB3-A8FB-DCC61296BFBC"
}

Error codes

HTTP status code

Error code

Error message

Description

400 Invalid%s.Format The specified %s format is invalid. 参数格式错误。
400 AccountDisabled Your account is not enabled. 功能未启用。
400 FileNotExist The specified file does not exist. 指定的文件不存在。
400 IncorrectPassword The password is incorrect. 密码错误。
400 NotApnsCertificate The Certificate is not an APNs certificate. 不是APNs证书。
400 PermissionDenied The specified AppKey is not authorized.
400 SendSpeedNotSupported SendSpeed is not supported for specified Target. 制定目标不支持SendSpeed参数。
400 SmsProfileConfigFailed Failed to configure SMS profile. SMS配置失败。
400 SmsProfileGetFailed Failed to get SMS profile. SMS配置获取失败。
400 SmsRoleAuthorizeFailed Failed to authorize SMS role. SMS角色授权失败。
400 SmsRoleUnauthorized The SMS role is unauthorized. SMS角色没有授权。
400 TagsNumberBeyondLimit The number of tags bound to this app exceeds the limit. 当前app绑定的tag数量超过限制。
400 Invalid%s.LengthExceed The specified %s length cannot be greater than %s. 参数长度超限。
400 Invalid%s.BytesExceed The specified %s exceeds the %s bytes limit. 参数的字节数超限。
400 Invalid%s.Empty The specified %s cannot be empty. 参数不能为空。
400 Invalid.Parameter The specified parameter is invalid: %s. 参数%s无效。
400 TargetNotSupported Target is not supported for batch push. 批量推送不支持的Target。
500 InternalError The request processing has failed due to some unknown error. Please try again. If the error still exists, submit a ticket. 服务端错误,建议重试,仍然失败则提工单
500 Timeout The request processing is timeout. 请求处理超时。

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.