2 个回答
✓ 已被采纳新手上路,请多包涵

API接口是异步的,返回结果是成功的,只是表明友盟服务器端接受了当次推送指令,不一定表示成功下发到设备。 API接口只会做一些基本的校验,比如接口鉴权判断、检查是否漏掉了必填的参数等,API请求接受成功之后,会把要发送的任务投递到发送队列,由后续的处理程序从队列中拉取出来后,进行发送。

一般来说,如果设备的长连接在线的话,因为我们服务器的并发处理能力非常强大,基本上可以做到设备能第一时间收到消息,即发即到。

设备没有收到消息,可能存在多种原因:
对于Android来说,最常见的原因就是设备长连接不在线了(长连接在线的含义是: 设备联网&后台的PushService存在&PushService与服务器端建立了长连接),这种情况可以按照常见的步骤来排查: 安卓设备状态离线现象剖析_U盟友盟消息推送论坛 && 集成友盟推送安卓SDK收不到消息的进!_U盟友盟消息推送论坛
对于iOS来说,一般的原因都是APNs的两套开发环境搞错了,苹果严格区分开发环境(sandbox)和生产环境(prod),在开发测试阶段,只能用开发环境测试, 只有App Store上线后,才可以用生产模式发消息,对应的API后台参数是: prod_mode.

如若问题没有得到解决,可在官网底部点击联系我们,进行咨询解答。

首先,推送本来就是有成功率的,返回success只是说明成功把推送信息发送到苹果服务器了,并不表示已经成功推送到手机端。
然后,请确认手机端已经成功注册推送服务,并且已经允许APP获得推送权限。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏