All Products
Search
Document Center

Mobile Platform as a Service:FAQ

Last Updated:Feb 11, 2026

This topic lists frequently asked questions (FAQs) and provides solutions for using the Message Push Service component.

General questions

Permission requirements

On Android 6.0 and later, users must manually grant phone permissions, such as permission to read from and write to an SD card. To ensure push accuracy, guide users to grant the required permissions for the message push service.

Cannot print logs

During testing on a Meizu phone, logs such as log.d and log.i may fail to print. To resolve this issue, go to Settings > Accessibility > Developer options and enable Advanced log output. If you encounter development issues, you can set tag=mpush to filter the logs.

Android-related questions

Port parsing issue in baselines 10.1.60.5 to 10.1.60.7

In an Apsara Stack environment, configuring a push server on a port other than 443 causes a parsing failure and a connection error.

Solution:

  • If you package using a config file, modify the config file as follows:

      // Omit other parts of the config file. Add a backslash (\) and a space before the custom port number.
      {
          "pushPort":"\\ 8000",
      }
  • If you do not package using a config file, modify the value of rome.push.port in the AndroidManifest.xml file as follows:

      // Add a backslash (\) and a space before the port number.
      <meta-data
          android:name="rome.push.port"
          android:value="\ 8000" />

Cannot send pushes after integrating third-party channels such as Huawei and Xiaomi

This issue occurs because the channel switch in the mPaaS push console is disabled. For code samples, usage instructions, and important notes, see Code sample.

Generating a push ad-token (deviceId)

The server-side generates a deviceId based on the International Mobile Subscriber Identity (IMSI) and International Mobile Equipment Identity (IMEI). Therefore, you must guide users to grant the required READ_PHONE_STATE permission.

Version requirements for EMUI and Huawei Mobile Services for PUSH notifications

Push notifications have version requirements for Emotion UI (EMUI) and Huawei Mobile Services. EMUI is an operating system developed by Huawei based on the Android platform. For detailed version requirements, see Conditions for a device to receive Huawei push messages.

Cannot print logs on a Huawei phone

On the phone's dialer, enter *#*#2846579#*#* to open the engineering menu. Go to Background settings > LOG settings and select AP Log. Restart the phone for the changes to take effect.

Huawei push error codes

For more information about error codes, see Client-side error codes and Server-side error codes on the official Huawei website.

Supported models and system versions for OPPO push

Currently, OPPO push is supported on OPPO models with ColorOS 3.1 or later, OnePlus 5/5T and later models, and all realme models.

ColorOS is a mobile operating system developed by OPPO, based on the Android platform.

OPPO push error codes

If OPPO push does not work, search for OPPO onRegister error = in the client logs to retrieve the error code. Then, refer to the OPPO error code list to identify the cause.

Supported models and system versions for vivo push

The following table shows the supported models and minimum system versions for the SDK. For other questions about vivo push, see vivo Push FAQ.vivo supported list

vivo push error codes

If vivo push does not work, search for fail to turn on vivo push state = in the client logs to retrieve the status code. Then, refer to Public status codes to identify the cause.

Troubleshooting common Android issues

  1. Check whether the Manifest file is configured correctly.

  2. Check whether the appId (Huawei, Xiaomi, vivo), appSecret (Xiaomi, OPPO), appKey (OPPO, vivo), and ALIPUSH_APPID (mPaaS) are consistent with the applications registered on the respective developer platforms.

  3. View the logcat logs with the tag `mpush`.

iOS-related questions

Notifications when the app is in the foreground

By default, Apple delivers messages when an app is in the foreground but does not display them. To display notifications when the app is in the foreground, you must implement a custom solution.

Message status is NoBindInfo

The NoBindInfo status indicates that a push was sent using a UserId, but no binding information was found for that UserId. First, confirm that the client has called the binding interface. Also, check that the appId and workspaceId match.

Message status is BadDeviceToken

This status occurs only for iOS pushes. It indicates that the token used for the push is invalid. First, verify that the certificate environment is correct.

  • If the app is packaged with a development certificate, you must configure a development environment certificate in the push console. When you debug on a real device with Xcode, you must use a development certificate.

  • If the app is packaged with a production certificate, you must configure a production environment certificate in the push console.

Message status is DeviceTokenNotForTopic

This status occurs only for iOS pushes. It indicates that the token does not match the BundleId of the push certificate. First, verify that the certificate is correct and that it matches the BundleId of the packaged client.

Cannot receive messages on an iOS phone, but the message status is ACKED

For iOS pushes, a status of ACKED indicates that the message was successfully delivered to the Apple Push Notification service (APNs). First, confirm that push permissions are enabled and that the app is running in the background.

By default, Apple delivers messages when an app is in the foreground but does not display them. To display notifications when the app is in the foreground, you must implement a custom solution.

RPC call issues

If an exception occurs during a resource call through an RPC request, refer to Security Guard result codes or Gateway result codes to troubleshoot the issue.