全部产品

常见问题

KB: 150877

 · 

更新时间:2021-07-02 12:55

Android 相关问题

在 10.1.60.5 ~ 10.1.60.7 版本基线中存在的端口解析问题

如果是专有云环境,对于非 443 端口的推送服务器配置会出现解析失败导致连接错误。

解决方法

  • 如果使用 config 文件打包,请在 config 文件中按如下方式修改:

    1. //config 文件中其他部分省略,在自定义端口号前加上\\{空格}
    2. {
    3. "pushPort":"\\ 8000",
    4. }
  • 如果不使用 config 文件打包,请在 AndroidManifest.xml 中将 rome.push.port 的值按如下方式修改:

    1. //在端口号前加上\{空格}
    2. <meta-data
    3. android:name="rome.push.port"
    4. android:value="\ 8000" />

魅族手机无法打印日志

使用魅族手机测试时,如 log.dlog.i 日志无法打印,您可在 设置 > 辅助功能 > 开发者选项 中打开 高级日志输出,设置允许日志输出。

如遇开发问题,可设置 tag=mpush,对日志进行过滤。

iOS 相关问题

当 App 处于前台时, 消息推送是否会有横幅或声音提示

苹果的默认机制是,当 App 在前台时,消息可以达到,但是不会展示。如果需要在前台实现展示,需要自己做处理。

消息状态是 NoBindInfo

NoBindInfo 表示用户通过 UserId 去推送,但根据 UserId 没有找到对应的信息。请先确认客户端是否有调用绑定接口,并且对应的 appId 和 workspaceId 是否一致。

消息状态是 BadDeviceToken

此状态只会出现在 iOS 的推送,表示实际推送的 token 非法。先检查证书的环境是否正确。

  • 如果 App 打包使用开发证书,那么 push 控制台配置需使用开发环境证书;Xcode 连真机调试,需要使用开发者证书。
  • 如果 App 打包使用生产证书,那么 push 控制台配置需要使用生产环境证书。

消息状态是 DeviceTokenNotForTopic

此状态只会出现在 iOS 的推送,表示此 token 与推送的证书的 BundleId 不匹配。先检查证书是否正确,并且与客户端打包的 BundleId 是否一致。

iOS 手机无法收到消息,但消息状态是 ACKED

对于 iOS 的推送,如果消息状态是 ACKED,表示已经成功推送给苹果的推送服务。请先确认是否开启推送权限,是否有将应用切到后台。

苹果的默认机制是,当 App 在前台时,消息可以达到,但是不会展示。如果需要在前台实现展示,需要自己做处理。