All Products
Search
Document Center

Mobile Platform as a Service:FAQ

Last Updated:Jun 21, 2022

This topic summarizes the common problems that may appear in the process of integrating and using Message Push Service, and provides the corresponding solutions to solve those problems.

General questions

Description on permissions

For Android 6.0 and later versions, users need to manually grant permissions to the phone, such as reading/writing SD cards. To send messages more precisely, we recommend that developers provide a guide to users on how to grant the required permissions for the notifications.

Logs cannot be printed

For Meizu phones, if log.d and log.i cannot be printed, you can choose Settings > Accessibility Options > Developer Options and turn on Advanced Log Output.

In case of development issues, you can set tag=mpush to filter logs.

Android related questions

Port resolution problems in baseline versions 10.1.60.5 ~ 10.1.60.7

In private cloud environments, for the message push using ports other than 443, the resolution of server configurations will fail, and cause connection errors.

Solution:

  • If you use the config file for packaging, modify the config file as follows:

      //Ignore the rest of the config file and add \\{white space} before the custom port number.
      {
          "pushPort":"\\ 8000",
      }
  • If you do not use the config file for packaging, change the value of rome.push.port in AndroidManifest.xml as follows:

      //Add \{white space} before the port number.
      <meta-data
          android:name="rome.push.port"
          android:value="\ 8000" />

Failed to push messages after accessing Huawei, Xiaomi and other third-party channels

You need to turn on the settings for the corresponding channels in the mPaaS Message Push Service console. Refer to Code sample for sample code, usage and notes.

Notes on the generation of push ad-token (deviceId)

The server generates deviceId with dependency on IMSI and IMEI. So, you are suggested guide the users to grant the “READ_PHONE_STATE” permission.

Does message push on the notification bar have version restrictions for EMUI and Huawei mobile services?

There are version restrictions for Emotion UI and Huawei mobile services. Emotion UI, EMUI for short, is an emotional operating system based on Android and is developed by Huawei.

For detailed version requirements, see Conditions for devices to receive Huawei notifications.

Cannot print logs for Huawei phones

In the dialing UI of the phone, enter *#*#2846579#*#* to enter Project menu > Background settings > LOG settings and select AP Logs. After the phone restarts, Logcat will start to take effect.

What should I do when my Huawei phone receives a push error code?

For more information about error codes, see Client error code description and Server error code description on Huawei official website.

Models and system versions supported by OPPO Push

Currently, OPPO phone models running ColorOS 3.1 and newer systems, OnePlus 5/5T and newer phone models, and all realme phone models are supported.

ColorOS is a highly-customized, efficient, intelligent, and richly-designed Android-based mobile OS by OPPO.

What should I do when my OPPO phone receives a push error code?

When OPPO push does not work, you can search for “OPPO onRegister error =” in client logs to obtain the error code. Then find the corresponding causes by referring to OPPO error codes.

Models and system versions supported by vivo Push

The models and oldest system versions supported by vivo Push are listed in the following table. For other questions on vivo push, see vivo Push FAQs.

1

What should I do when my vivo phone receives a push error code?

When vivo Push does not work, you can search for "fail to turn on vivo Push state =" in client logs to obtain the status code and find the specific causes by referring to Public status codes.

Troubleshooting procedure for common Android problems

  1. Check whether the Manifest file is configured correctly.

  2. Check whether the appId (Huawei, Xiaomi, or vivo), appSecret (Xiaomi or OPPO), appKey (OPPO or vivo), and ALIPUSH_APPID (mPaaS) are consistent with the app registration information on the corresponding development platform.

  3. Check the Logcat logs tagged as mpush.

Whether there will be a banner or sound alert for messages when the app runs in the foreground

The default mechanism for Apple is that when an app is in foreground, the messages can arrive but will be not shown. In order to show messages in foreground, you need to implement it manually.

Message status is NoBindInfo

NoBindInfo means the user pushes messages by UserId, but no corresponding information is found based on the UserId. Please check if the client has called the binding API, and if the corresponding appId and workspaceId are consistent.

Message status is BadDeviceToken

This status will only appear for iOS pushes, indicating that the actually pushed token is invalid. First, check if the environment of the certificate is correct.

  • If the app is packaged with a development certificate, the push console configuration requires a development environment certificate, while Xcode requires a developer certificate for debugging in real devices.

  • If the app is packaged with a production certificate, the push console configuration requires a production environment certificate.

Message status is DeviceTokenNotForTopic

This status will only appear for iOS pushes, indicating that the token is inconsistent with the BundleId of the certificate used in the push. Please check if the certificate is correct and if the BundleId of the certificate is consistent with the BundleId used in client packaging.

The iOS phone cannot receive messages, but the message status is ACKED

For iOS pushes, if the message status is ACKED, it means that the message has been successfully pushed to Apple Push Notification service. Please check if the push permission is enabled and whether you have switched the app to the background.

The default mechanism for Apple is that when an app is in foreground, the messages can arrive but will be not shown. In order to show messages in foreground, you need to implement it mannually.

RPC call exceptions

If an exception occurs when you call a resource through a remote procedure call (RPC) request, troubleshoot the problem with reference to Security Guard error codes or Gateway result codes.