服务端常见问题

服务端常见问题

1. 服务端接口推送返回 appid_error

  • Appid_error表示推送指定的appid和clientid绑定的appid不一致
  • 原因应该您修改过应用appid,导致clientid绑定在之前的appid上,你需要的操作:删除sd卡libs目录,应用清除数据或者卸载重装,再启动应用重新获取clientid

2. 服务端接口推送返回 tokenMD5noUser

  • clientID输入错误,或者是个无效的clientID(clientID无效,意味着用户3个月未登陆)

3. 服务端接口推送返回 appidNoUser

  • 客户端还未集成sdk,或者集成后未获取到clientID,导致服务端任务该appid下没有用户
  • 查看服务端是否写错APPID
  • 查看客户端配置文件中配置的APPID和服务端配置的是否一致。

4. 服务端接口推送返回 DuplicatedContentId

  • 第三方服务端推送消息,个推服务端接收到消息,但是发送的回执第三方服务端没有收到而超时导致服务端SDK再次发送,个推服务端会再次接收到,但不会再次下发的,会返回错误信息给第三方服务端。

5. 服务端接口推送返回 sign_error

  • 请确认编码是否是UTF-8,不是则修改为UTF-8
  • 检测APPID,APPKEY,MASTERSECRET相关的值,尤其MASTERSECRET不要与APPSECRET搞混。
  • 服务端出口ip是否有多个,若无法固定出口ip,可使用restAPI。

6. 服务端调用API接口返回值是成功的,但客户端没有接收到

  • 如{taskId=OSS-052X_VuS4***M5KgDQ4, result=ok, status=successed_online},这样的返回值中,result=ok,是说明已经成功提交到个推服务端。
  • status=successed_online,status有三种状态:online,offline,ignore,分别是在线下发,离线下发,无效用户三种状态。
  • 先确认客户端和服务端配置的APPID等参数信息是否一致,一致的话把clientid提供给技术支持人员,让他们协助排查。
  • 如果推送的透传消息,在客户端是没有任何提示的,透传消息个推SDK接收到后直接广播给客户端,不做任何处理,需要客户端自己去处理。确认客户端是否有对透传消息进行处理。
  • 推送给iOS应用的消息,如果是online状态,则是用个推通道推送的透传消息,如果是offline状态则是用APN通道推送的,会有通知栏消息提示的,消息接收不及时有可能是APN延迟导致的。

7. 其他常见服务端问题

(1)novalidpush的问题

有两种可能性
第一:推送的列表里有无效的clietnid,会返回这个错误,但是正常的clientid还是会正常发送
第二:服务端推送的appid和clientid对应的appid不一致也会返回novalidpush

(2)taskgrouperror

  • 报这个错,主要是任务组名太长,或者格式不对。
  • 有效taskGroupName为:字母(大小写都可)、数字、下划线、汉字
  • taskGroupName的utf8最大字节为40

(3)api推送返回成功了,为什么api上看不到推送记录

  • API推送,如果是tosingle接口推送的,平台上是不记录的,只有tolist(推送的clientID大于等于2个)和toapp接口推送的才会记录。并且这个接口推送的记录不实时统计的,隔天将在平台上看到统计数据。

(4)推送接口中离线和离线时间的设置有什么作用

  • 针对Android用户,设置了离线和离线时间,当推送任务下发后,检测到要推送的用户处于离线状态,会先将该消息存在离线库里,当用户在设置的离线时间内在线,离线消息将会下发。
  • 针对iOS的离线用户,会直接向苹果APNs发起请求。