Android 6.0 后,需要用户手动授予手机权限,如读写 SD 卡。为了更加精准的发送推送,建议开发者引导获取消息推送所需权限。
使用魅族手机测试时,如 log.d
和 log.i
日志无法打印,您可通过在 设置 > 辅助功能 > 开发者选项 中打开 高级日志输出。如遇开发问题,可设置 tag=mpush
,对日志进行过滤。
如果是专有云环境,对于非 443 端口的推送服务器配置会出现解析失败导致连接错误。
解决方法:
如果使用 config 文件打包,请在 config 文件中按如下方式修改:
//config 文件中其他部分省略,在自定义端口号前加上\\{空格}
{
"pushPort":"\\ 8000",
}
如果不使用 config 文件打包,请在 AndroidManifest.xml
中将 rome.push.port
的值按如下方式修改:
//在端口号前加上\{空格}
<meta-data
android:name="rome.push.port"
android:value="\ 8000" />
这是由于没有打开 mPaaS 推送控制台的渠道的设置开关。请参见 代码示例 以获取代码示例以及使用方法和注意事项。
服务端依赖 IMSI 和 IMEI 生成 deviceId。因此,建议开发引导用户获取所需的 READ_PHONE_STATE
权限。
对 Emotion UI(简称 EMUI,是华为基于 Android进行开发的情感化操作系统)和华为移动服务有版本限制,详细版本要求请参见 设备接收华为推送消息的条件。
在手机拨号界面输入 *#*#2846579#*#* 进入工程菜单 > 后台设置 > LOG 设置 > 选中 AP 日志。重启手机后,logcat 开始生效。
如需了解错误码详情,请至华为官网查看 客户端错误码详解 及 服务端错误码详解。
目前支持 ColorOS 3.1 及以上系统的 OPPO 机型,一加 5/5T 及以上机型以及 realme 所有 机型。
ColorOS 是由 OPPO 推出的基于 Android 系统深度定制并优化的手机操作系统。
当 OPPO 推送不生效时,您可在客户端日志中搜索 OPPO onRegister error =
,获取错误码,并对照 OPPO 错误码 查询相应的错误原因。
目前,SDK 支持的机型和最低系统版本如下表所示。有关 vivo 推送的其它相关问题,请参见 vivo 推送常见问题汇总。
当 vivo 推送不生效时,您可在客户端日志中搜索 fail to turn on vivo push state =
,获取状态码,并对照 公共状态码 定位具体原因。
Manifest
文件是否配置正确。苹果的默认机制是,当 App 在前台时,消息可以达到,但是不会展示。如果需要在前台实现展示,需要自己做处理。
NoBindInfo 表示用户通过 UserId 去推送,但根据 UserId 没有找到对应的信息。请先确认客户端是否有调用绑定接口,并且对应的 appId 和 workspaceId 是否一致。
此状态只会出现在 iOS 的推送,表示实际推送的 token 非法。先检查证书的环境是否正确。
此状态只会出现在 iOS 的推送,表示此 token 与推送的证书的 BundleId 不匹配。先检查证书是否正确,并且与客户端打包的 BundleId 是否一致。
对于 iOS 的推送,如果消息状态是 ACKED,表示已经成功推送给苹果的推送服务。请先确认是否开启推送权限,是否有将应用切到后台。
苹果的默认机制是,当 App 在前台时,消息可以达到,但是不会展示。如果需要在前台实现展示,需要自己做处理。
在文档使用中是否遇到以下问题
更多建议
匿名提交