服务端问题汇总

1. Android推送消息怎么设置通知的基本样式?

notification_basic_style:只有notification_builder_id为0时有效,可以设置通知的基本样式包括(响铃:0x04;振动:0x02;可清除:0x01;),这是一个flag整形,每一位代表一种样式,如果想选择任意两种或三种通知样式,notification_basic_style的值即为对应样式数值相加后的值。

2. 百度推送消息体支持的最大字符数是多少?

百度推送消息体msg(array | string)消息内容可参见消息/通知数据格式,当消息体类型为一个array时,将自动调用json_encode方法来将array转换为一个string类型,对于Android整个消息体不大于4KB,对于iOS整个消息不大于2KB。

3. 不管发送什么消息,都是收到"Message From BaiDu Cloud Push-Service"是怎么回事?

如果推送的消息格式不正常,就会显示默认的格式,消息内容就会是"Message From BaiDu Cloud Push-Service",参考文档中心—消息/通知数据格式http://push.baidu.com/doc/restapi/msg_struct , 检查下推送的格式是否有问题。

4. 怎么使用api推送基于地理位置信息和富媒体类型的消息?

“基于地理位置的推送”和“富媒体的推送”暂时只支持使用控制台推送,不支持使用api推送。

5. iOS是否支持批量单播?

暂不支持批量单播,只支持单播、组播、广播。

6. 老官网服务端2.0版本是否继续支持?

服务端2.0版本推送服务是支持的,但建议使用最新版本的Server SDK,使用我们的3.0版本,3.0版本为用户提供了更多的功能和更好的服务质量。

7. 推送返回"error_code":30602,"error_msg":"Request Params Not Valid,require parameter csrf_token is null"怎么解决?

如果您是使用Server SDK进行推送的,出现这种问题是因为没有指定user-agent是SDK,默认是console造成的。请参考文档中心http://push.baidu.com/doc/restapi/sdk_developer HTTP请求Header中User-Agent用法进配置行。

8. 推送返回errorCode: 30602, errorMessage: Request Params Not Valid,request header content_type charset should set to be UTF-8怎么解决?

  • 您在使用新版的rest API接口时,引用了1.1.2版本的jar包,导致UTF-8没有添加到content_type中。请确保1.1.2版本jar包在引用路径上与新版不产生冲突。
  • 新的推送接口,即restAPI,会对content_type的属性进行判断,如果设置了UTF-8,则请求会接收,否则sdk抛异常。 java sdk1.1.2版本的content_type被设置为“application/x-www-form-urlencoded” ,没有添加UTF-8属性。

3.0.1版本设置了UTF-8,如图

9. 推送频率限制是多少?

对推送的频率限制为:单播:没有限速;组播:100条/秒,1000条/分,5000条/时;广播默认:4秒内2条,100条/时;组合运算:10条/分;批量单播:10条/分;LBS推送:4秒内2条,10条/分。

10. 怎么删除已经创建的应用?

为了防止误删应用导致无法推送的事件发生,官网现不提供删除已创建应用的功能,此前提供的删除应用链接也不再提供此功能,给大家带来的不便请谅解。

11. 是否支持一个appid对应Android和iOS两个平台?

  • 3.0版本的云推送服务,为了更好的统计数据及简化使用,在创建应用时对应用的支持平台进行区分,进行应用配置时只能选择一种设备平台进行配置,即每个appid仅支持一个设备平台(Andriod或iOS)。
  • 2.0版本中的每个应用在升级至3.0后,将拆分为两种设备平台,但appid相同,调用3.0接口进行推送、查询等操作时必须传入device_type(3:Andriod,4:iOS),以区分是对哪种设备进行操作,不支持同时对两种设备平台进行操作的情况。

12. 对于单播消息通过SDK推送的不支持哪些功能?

用SDK推送单播不支持通过调用query_msg_status接口查询单播推送状态,如果在官网控制台进行推送的单播消息支持查询其状态,且官网页面有显示。其他推送如广播、批量单播、组播用SDK推送支持查询其消息状态。

13. 百度云推送离线消息保留多长时间?

  • Android消息:默认5小时,单播、广播、组播最长可保存7天,批量单播最长可保存1天。
  • iOS消息:只保存最新一条,离线消息只会拉取到最新一条。

14. 推送消息返回30603,Authentication Failed怎么办?

出现该错误的三种可能原因如下,请逐一进行仔细排查:

  • apikey和secretkey不对应;
  • 用户上传的title或content字段里面有特殊字符;
  • sign值计算错误了,请仔细阅读官网中3.0接口关于sign值计算的文档(http://push.baidu.com/doc/restapi/sdk_developer )。

15. 百度云推送提供的REST API中各查询接口支持查询各推送模式汇总。

 推送模式
SDK官网控制台
单播 广播 组播 批量单播
(Android)
单播 广播 组播 批量单播
(Android)
接口 查询消息的发送状态(report/query_msg_status)
是否支持查询 不支持支持支持支持 支持支持支持支持
接口 查询定时消息的发送记录(report/query_timer_records)
是否支持查询 无定时功能支持支持无定时功能 无定时功能支持支持无定时功能
接口 查询指定分类主题的发送记录(report/query_topic_records)
是否支持查询 支持无topic无topic支持 支持无topic无topic支持
接口 查询标签组列表(app/query_tags)
是否支持查询 ----支持-- ----支持--
接口 查询标签组设备数量(tag/device_num)
是否支持查询 ----支持-- ----支持--
接口 查询定时任务列表(timer/query_list)
是否支持查询 --支持---- --支持----
接口 查询分类主题列表(topic/query_list)
是否支持查询 支持----支持 支持----支持
接口 查询分类主题统计信息(report/statistic_topic)
是否支持查询 支持----支持 支持----支持