All Products
Search
Document Center

Mobile Platform as a Service:Vendor message classification

Last Updated:Jan 21, 2026

To improve the push notification experience for end users and create a healthy, sustainable notification ecosystem, major vendors have started to impose quotas and frequency limits on messages based on their classification.

Introduction

Classify and manage messages based on their content by defining a custom Channel ID.

  • This applies to all Android channels.

  • You can create a custom channel on the client.

  • You can pass the corresponding channel ID when pushing messages.

    Parameter

    Type

    Required

    Example

    Description

    channelId

    String

    No

    channelId: "channelIdTest"

    The channel ID for Android notifications.

  • To send important messages through vendor channels, see the user guides for message classification for each vendor.

Huawei classification

Vendor's explanation of message classification

Based on message content, Huawei Push classifies notifications into two main categories: Service and Communication and Information and Marketing. It manages the alert methods and message styles for each category differently.

Message type

Service and Communication

Content Marketing

Push content

Includes social communication messages and service reminders.

Includes informational and marketing messages, such as operational activities, content recommendations, and news sent to users.

Alert method (EMUI 10.0 and later)

Lock screen, ringtone, and vibration

Silent notification. The message is only displayed in the notification drawer.

Message style

Text + small image

Text only

Push quantity

Unlimited

Starting from January 5, 2023, a daily push limit is applied to Information and Marketing messages based on the application type. For specific requirements, see Push Quota Details for Different App Categories

Configuration method

You must apply to Huawei for self-classification permissions. After approval, Huawei trusts the classification information you provide, and messages will not undergo smart classification.

Default

Classification methods

Smart message classification

The smart classification algorithm automatically categorizes your messages based on classification standards, using multiple factors such as the content you send.

Message self-classification

Since July 1, 2021, Huawei Push Service has allowed developers to apply for self-classification permissions. After your application is approved, you can classify messages yourself according to Huawei Push classification standards.

Apply for Huawei message classification

For more information about applying for self-classification, see Huawei Message Classification Management Solution.

  • If an application does not have self-classification permissions, its push messages are automatically categorized by smart classification.

  • If an application has self-classification permissions, the classification information provided by the developer is trusted, and messages do not undergo smart classification.

Parameter enumeration for Huawei message classification on mPaaS MPS (thirdChannelCategory.hms)

Parameter (String)

Meaning

1

IM: Instant messaging

2

VOIP: Audio/video call

3

SUBSCRIPTION: Subscription

4

TRAVEL: Travel

5

HEALTH: Health

6

WORK: Work reminders

7

ACCOUNT: Account updates

8

EXPRESS: Orders and logistics

9

Finance

10

DEVICE_REMINDER: Device reminders

11

SYSTEM_REMINDER: System prompts

12

MAIL: Mail

13

PLAY_VOICE: Voice broadcast (only supported for pass-through messages)

14

MARKETING: Content recommendation, news, financial updates, lifestyle information, social updates, surveys, product promotions, feature recommendations, and operational activities (this only identifies the content and does not speed up message delivery)

Parameter enumeration for HMS message alert level on mPaaS MPS (notifyLevel.hms)

Parameter (String)

Meaning

1

LOW: The expected alert method for the notification message is a silent alert. The phone does not ring or vibrate when the message arrives.

2

NORMAL: The expected alert method for the notification message is a strong alert. The phone rings or vibrates to alert the user when the message arrives. The actual alert method on the device is adjusted based on the value of the category field or the smart classification result (default).

Parameter examples

Parameter

Type

Required

Example

Description

thirdChannelCategory

Map

No

thirdChannelCategory: {"hms": "9"}

An example value of "9" indicates a Huawei FINANCE message. For details about other values, see Vendor message classification

notifyLevel

Map

No

notifyLevel: {"hms": "1"}

An example value of "1" indicates that the expected alert method for the notification message is a silent alert. The phone does not ring or vibrate when the message arrives.

Honor classification

Vendor's explanation of message classification

Huawei Push classifies notifications into two main categories based on message content: Service & Communication and News & Marketing.

Message type

Service and Communication

Content Marketing

Push content

Includes social communication messages and service reminders.

Includes informational and marketing messages, such as operational activities, content recommendations, and news sent to users.

Alert method

Displayed on the lock screen and in the notification drawer. Supports ringtones and vibration.

Silent notification. The message is only displayed in the notification drawer.

Message style

Text + small image

Text only

Push quantity

Unlimited

A daily push limit is applied to Information and Marketing messages based on the application type:

Classification methods

Smart message classification

The smart classification algorithm automatically categorizes your messages based on classification standards, using multiple factors such as the content you send.

Message self-classification

This feature allows developers to classify messages themselves according to message classification standards.

Parameter enumeration for Honor message classification on mPaaS MPS (thirdChannelCategory.honor)

Parameter (String)

Meaning

1

Service and Communication

2

Information and Marketing

Parameter example

Parameter name

Type

Required

Example

Description

thirdChannelCategory

Map

No

thirdChannelCategory: {"honor": "1"}

An example value of "1" indicates an Honor Service and Communication message.

Xiaomi message classification

Vendor's explanation of message classification

According to the New Rules for Xiaomi Push Message Classification, Xiaomi Push divides messages into two categories: private messages and public messages. If an application does not use private or public channels, it will use the default channel.

Message type

Default

Public messages

Private messages

Push content

Follow Xiaomi's Public Message Scenarios

Content applicable to many users, such as hot news, new product promotions, platform announcements, community topics, and prize-winning events.

Content related to private notifications, such as chat messages, personal order updates, delivery notifications, transaction alerts, and IoT system notifications.

Alert method

None

None

Ringtone, vibration

Push quantity limit

2× to 3×. For specific rules, see "Public Message Limit Rules

Unlimited

User receive limit

1 message per application per device per day

5 to 8 messages per application per device per day

Unlimited

Application method

No application required

You must apply on the Xiaomi Push platform. For more information, see Channel Application and Connection Method

Apply for Xiaomi message classification

For more information about the application method, see the official Xiaomi document Channel Application and Connection Method.

Parameter example for Xiaomi message classification on mPaaS MPS

Parameter Name

Type

Required

Example

Description

miChannelId

String

No

miChannelId:"miChannelIdTest"

The channelId for the Xiaomi vendor push channel.

OPPO message classification

Old message classification

Vendor's explanation of message classification

Message type

Private

Credibility

Push content

For information that users are interested in and want to receive promptly, such as instant chat messages, personal order updates, delivery notifications, subscription updates, comment interactions, and member point changes.

Public messages are for content that users are less interested in and do not expect to receive, such as hot news, new product promotions, platform announcements, community topics, and prize-winning events.

Push quantity limit

Unlimited

The number of pushes is shared across public channels. If the daily push limit is reached, no more messages can be sent through any public channel. Push limit: If the cumulative number of users is < 50,000, the limit is calculated as 100,000. If the cumulative number of users is ≥ 50,000, the limit is calculated as cumulative users × 2.

Per-user push limit (messages/day)

Unlimited

  • News (level 3 category is News): 5 messages

  • Other application types: 2 messages

    The application category is based on the "Software Category" submitted when the application was created. To modify the application category, update the application information in the application details within the mobile application list.

Configuration method

  • Create a custom channel on the client.

  • After your application email for a private channel is approved, register the channel on the OPPO Push platform and set its attribute to "Private".

Enabled by default

Apply for an OPPO private channel

Parameter example for OPPO message classification on mPaaS MPS

Parameter Name

Type

Required

Example

Description

channelId

String

No

channelId:"channelIdTest"

OPPO Private Message Channel ID

New message classification

Vendor's explanation of new message classification

OPPO Push divides messages into two main categories and provides corresponding permissions based on user interest in each category:

Message type

Scope

Push content focus

Alert method

Push volume

Communication and Service

  • Chat messages, calls, and other information between users.

  • Important notification reminders that are highly relevant to the user and that the user expects to receive.

  • Peer-to-peer chat messages (or private messages), group chat messages, and audio/video call reminders.

  • Changes to personal accounts and assets, personal device reminders, and personal order/logistics status updates.

The default alert method is <Notification drawer, Lock screen>. This can be upgraded to a strong alert method of <Notification drawer, Lock screen, Banner, Ringtone, Vibration>, which requires an application.

Both sending and receiving volumes are unlimited.

Content and Marketing

Notifications actively sent by developers to promote content or products to users.

Content recommendations, platform activities, social updates, and more.

Displayed only in the notification drawer.

The daily push volume and the number of messages a single user can receive are limited. For more information, see Push Service Restriction Details.

Important
  • The new message classification feature currently supports OS 13 and later. It will gradually become compatible with OS 12 and earlier.

  • The default alert method for Communication and Service messages is <Notification drawer, Lock screen>. You can apply for the strong alert method of <Notification drawer, Lock screen, Banner, Ringtone, Vibration> based on rules and requirements. Strong alerts can disturb users, so apply for and use them with caution.

Enable OPPO new message classification

To enable OPPO new message classification, see New Message Classification Connection Process.

Parameter enumeration for OPPO message classification on mPaaS MPS (thirdChannelCategory.oppo)

Parameter (String)

Meaning

1

IM: Instant messaging, audio, and video calls

2

ACCOUNT: Changes to personal accounts and assets

3

DEVICE_REMINDER: Personal device reminders

4

ORDER: Personal order/logistics status updates

5

TODO: Personal schedule/to-do items

6

SUBSCRIPTION: Personal subscriptions

7

NEWS: News and information

8

CONTENT: Content recommendations

9

MARKETING: Platform activities

10

SOCIAL: Social updates

Parameter enumeration for OPPO message alert level on mPaaS MPS (notifyLevel.oppo)

Parameter (String)

Meaning

1

Notification drawer

2

Notification drawer + Lock screen

16

Notification drawer + Lock screen + Banner + Vibration + Ringtone

Important
  • If OPPO new message classification is not enabled, you do not need to set this field.

  • If OPPO new message classification is enabled and you pass the notifyLevel.oppo parameter, the corresponding thirdChannelCategory.oppo parameter cannot be empty.

Parameter example

Parameter Name

Type

Required

Example

Description

thirdChannelCategory

Map

No

thirdChannelCategory: {"oppo": "7"}

An example value of "7" indicates news and information. For details about other values, see Vendor message classification.

notifyLevel

Map

No

notifyLevel: {"oppo": "2"}

An example value of "2" indicates "Notification drawer + Lock screen". For details about other values, see Notification bar messages.

vivo message classification

Vendor's explanation of message classification

  • Active users with notifications enabled: Users for whom the integrated push SDK has successfully subscribed and whose devices have connected to the internet within the last 14 days.

  • If the number of active users with notifications enabled is less than 10,000, the default volume for operational messages is 10,000.

  • You can query the number of active users with notifications enabled and the available volume for operational messages in the push operations console.

  • The push quota is calculated based on the number of delivered messages. If the daily delivery count exceeds the limit, control measures are triggered.

Message type

System messages

Operational messages

Push content

Messages that users need to know promptly, such as instant messages, emails, user-set reminders, and logistics notifications.

Messages that users are less interested in, such as content recommendations, event promotions, and social updates.

Notification drawer permissions

  • Ringtone, vibration, and message display by default.

  • Lock screen and floating notifications by default.

  • No ringtone or vibration by default. Messages are stored in a message box if the application is not active.

  • No floating notifications or lock screen display by default.

Push quantity limit

3× the number of active users with notifications enabled. You can apply for unlimited message permissions by email. For more information, see Push Message Restriction Details.

  • News (level 3 category is News): 3× the number of active users with notifications enabled.

  • Other categories: 2× the number of active users with notifications enabled.

User receive limit

Unlimited

  • News (level 3 category is News): 5 messages

  • Other categories: 2 messages

Parameter enumeration for vivo level 2 message classification on mPaaS MPS (thirdChannelCategory.vivo)

Parameter (String)

Meaning

1

IM: Peer-to-peer chat messages between users (private messages, group chats, etc.), including images, file transfers, and audio/video calls within chats. This does not include private messages from unfollowed users, or private messages or ads sent in batches to users from official accounts or businesses. Also includes email reminders.

2

ACCOUNT: Account changes, such as account sign-in/sign-out, status changes, information verification, membership expiration, renewal reminders, and balance changes.

Asset changes: Changes to real assets under the account, transaction alerts, and typical carrier reminders such as phone bill balance, data allowance, voice minutes, and text message quotas.

3

TODO: Related to personal schedules, reminding users to handle a specific task.

  • Meeting reminders, class start reminders, appointment reminders, and travel-related messages such as flights.

  • For service providers: Workflow messages such as ticket processing and status flow reminders. Order messages for merchants such as order acceptance, shipping, and after-sales reminders.

  • Merchant operational reminders such as low stock, out of stock, product delisting, withdrawal limits, customer complaint warnings, store restrictions, product blacklisting, and notifications for transactions involving violations, suspected counterfeits, or fraud.

4

DEVICE_REMINDER

  • Reminder messages from IoT devices about device status, information, prompts, or alerts.

  • Reminders from health devices, including exercise data (steps, cycling distance, swimming distance, etc.) and body data (heart rate, weight, body fat, calories burned, etc.).

  • Prompts and status reminders related to phone operation.

5

ORDER: Order-related information for various products and services, such as e-commerce shopping and group food purchases, sent to users.

  • Order success, order details, order status, and after-sales progress.

  • Logistics messages such as package shipped, in transit, signed for, and ready for pickup.

6

SUBSCRIPTION: Messages that users actively subscribe to and expect to receive at specific times:

  • Actively subscribed special topics, reminders for booked events, user-set reminders for live stream starts, and book updates.

  • User-set alerts for price drops on products or flights, and reminders for group purchases.

  • Actively followed market trend reminders.

  • User-set check-in reminders.

  • Reminders for updates to paid subscription content.

Important

To apply for subscription messages, you must meet the following conditions and provide complete proof:

  • The application must support "Subscribe/Unsubscribe". The user interface must display words such as "Subscribe" or "Book".

  • Subscription is an active user behavior. Do not send messages to users who have not subscribed.

  • After a user subscribes, the application's user interface must clearly state that the user will receive push messages related to the subscription. For example: "You will receive push notifications for xx."

  • The scope of subscription messages should not be too broad or vague. For example, "Subscribe to market news" is too broad and vague.

  • The push content must indicate that it is a subscription message. For example, include "Subscription message" or "Your subscription to..." in the message title or body.

7

NEWS: Valuable, recent factual news content.

8

CONTENT: Content-based information recommendations, including top searches, reviews, ads, books, music, videos, live streams, courses, shows, game promotions, and community topics. Also includes:

  • Related content and information for various vertical categories.

  • Weather forecasts: Including various weather forecasts, weather warnings, and more.

  • Travel information: Including traffic rule announcements, driving test information, navigation traffic conditions, railway ticket purchase announcements, pandemic news, and road closures.

9

MARKETING

  • Reminders for activities that require user participation but were not actively set by the user, such as mini-game reminders and service or product review reminders. Examples include lucky draws, points, check-ins, tasks, sharing, "stealing vegetables," and collecting gold coins.

  • Product recommendations, including coupons, discounts, service updates, and new store arrivals. Examples include notifications for "You might be interested in," product price drops, spend-and-save promotions, rebates, coupons, vouchers, red envelopes, and credit score increases.

  • Other messages: User surveys, feature introductions, invitations, and version updates.

10

SOCIAL

  • Social interaction reminders between users, such as friend updates, new followers, friend requests, likes, @mentions, saves, comments, messages, follows, replies, forwards, and messages from strangers.

  • User recommendations: People nearby, influencers, streamers, potential matches, people you may know, and more.

Parameter example for vivo message classification on mPaaS MPS

Parameter

Type

Required

Example

Description

classification

String

No

classification:"1"

Used to pass the message type for the vivo push channel:

  • 0 - Operational message

  • 1 - System message

If not specified, the default is 1.

thirdChannelCategory

Map

No

thirdChannelCategory: {"vivo": "1"}

An example value of "1" indicates a vivo IM message.

Note

Passing "0" for the classification parameter indicates an operational message. This message does not undergo secondary correction by smart classification. The quota is directly deducted from the total operational message volume and is subject to frequency control based on the number of messages a user can receive.

Passing "1" for the classification parameter indicates a system message. This message undergoes secondary correction by smart classification. If smart classification identifies it as an operational message, it is automatically corrected, and the quota is deducted from the operational message volume. If it is identified as a system message, the quota is deducted from the total system message volume.

Java code example for vendor message classification on MPS

We recommend uploading push parameters for all vendor message classifications. MPS will encapsulate the appropriate vendor classification parameters based on the device type.

import com.alibaba.fastjson.JSON;
import com.aliyun.mpaas20201028.Client;
import com.aliyun.mpaas20201028.models.PushSimpleRequest;
import com.aliyun.mpaas20201028.models.PushSimpleResponse;
import com.aliyun.teaopenapi.models.Config;
import java.util.HashMap;
import java.util.Map;

public static void main(String[] args) throws Exception {
    // Your Alibaba Cloud account AccessKey has full access to all APIs. We recommend using a RAM user for API calls and daily O&M.
    // We strongly recommend that you do not hard-code your AccessKey ID and AccessKey secret in your project code. Otherwise, your AccessKey may be leaked, which compromises the security of all resources in your account.
    // This example shows how to store the AccessKey ID and AccessKey secret in environment variables. You can also store them in a configuration file as needed.
    // We recommend configuring environment variables first.
    Config config = new Config();
    // Required. Your AccessKey ID.
    config.setAccessKeyId(System.getenv("MPAAS_AK_ENV"));
    // Required. Your AccessKey secret.
    config.setAccessKeySecret(System.getenv("MPAAS_SK_ENV"));
    // The REGION_ID and Endpoint for mPaaS. The example uses a non-financial region in Hangzhou.
    config.setRegionId("cn-hangzhou");
    config.setEndpoint("mpaas.cn-hangzhou.aliyuncs.com");
    Client client = new Client(config);

    // Create an API request and set parameters
    PushSimpleRequest request = new PushSimpleRequest();
    request.setAppId("ONEX570DA89211721");
    request.setWorkspaceId("default");
    request.setTenantId("xxx");
    request.setTaskName("Test Task");
    request.setTitle("Test");
    request.setContent("Test");
    request.setDeliveryType(3L);
    Map<String,String> extendedParam = new HashMap<String, String>();
    extendedParam.put("key1","value1");
    request.setExtendedParams(JSON.toJSONString(extendedParam));
    request.setExpiredSeconds(300L);

    request.setPushStyle(2);
    String imageUrls = "{\"defaultUrl\":\"https://pre-mpaas.oss-cn-hangzhou.aliyuncs.com/tmp/test.png\",\"oppoUrl\":\"https://pre-mpaas.oss-cn-hangzhou.aliyuncs.com/tmp/test.png\",\"miuiUrl\":\"https://pre-mpaas.oss-cn-hangzhou.aliyuncs.com/tmp/test.png\",\"fcmUrl\":\"https://pre-mpaas.oss-cn-hangzhou.aliyuncs.com/tmp/test.png\",\"iosUrl\":\"https://pre-mpaas.oss-cn-hangzhou.aliyuncs.com/tmp/test.png\"}";
    String iconUrls = "{\"defaultUrl\":\"https://pre-mpaas.oss-cn-hangzhou.aliyuncs.com/tmp/test.png\",\"hmsUrl\":\"https://pre-mpaas.oss-cn-hangzhou.aliyuncs.com/tmp/test.png\",\"oppoUrl\":\"https://pre-mpaas.oss-cn-hangzhou.aliyuncs.com/tmp/test.png\",\"miuiUrl\":\"https://pre-mpaas.oss-cn-hangzhou.aliyuncs.com/tmp/test.png\"}";
    request.setImageUrls(imageUrls);
    request.setIconUrls(iconUrls);

    Map<String,String> target = new HashMap<String, String>();
    String msgKey = String.valueOf(System.currentTimeMillis());
    target.put("push_test",msgKey);
    request.setTargetMsgkey(JSON.toJSONString(target));

    // Vendor message classification fields

    // Encapsulate the level 1 classification for vivo messages
    request.setClassification("1");
    // Encapsulate the level 2 classification for Huawei, Honor, and vivo messages
    Map<String, String> map = new HashMap<>();
    map.put("hms", "2");
    map.put("vivo", "3");
    map.put("honor", "1");
    request.setThirdChannelCategory(map);
    // Encapsulate the classification for Xiaomi messages
    request.setMiChannelId("miChannelIdTest");
    // Encapsulate the classification for OPPO messages
    request.setChannelId("channelIdTest");

    // Initiate the request and handle the response or exceptions
    PushSimpleResponse response = client.pushSimple(request);
    System.out.println(JSON.toJSONString(response));
}