个推推送 产品SDK常见问题检查

作者:Hong Jack
链接:https://zhuanlan.zhihu.com/p/20733333
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

通知和消息有什么区别?
通知:发送后会在系统通知栏收到展现,同时响铃或振动提醒用户.
消息:发送后不会在系统通知栏展现,SDK将消息传给第三方应用后需要开发者写展现代码才能看到.

什么是标签tag?
标签是用户的一种属性,在给某些用户设置某类标签后就可以针对推送。比如给喜欢“足球”打上“足球”标签,就可以只给他们精准推送。可以在应用管理页面管理每个应用的标签,每个应用最多打100个标签

Android平台SDK对手机和操作系统有哪些要求?
SDK支持Android 1.6及以上版本的手机系统
手机必须要有网络(GPRS、3G或Wifi网络等)
手机可以没有SIM卡,但可能导致部分功能缺失 手机可以不挂载SD卡,但会使部分功能无法正常工作

SDK是否对电量和流量消耗如何?
SDK特意针对手机优化,空载耗电每日15-50毫安,空载流量0.8-1.2M/月

发送消息和通知手机没有收到?
•服务端推送消息、通知的格式是否正确(格式可以参考服务端接口文档;用个推开放平台()推送不需要确认)
•手机网络是否正常 ( 可以用浏览器多点几个网页 )
•请检查SDK是否成功初始化并获得ClientID(详见《个推平台客户端SDK接入文档》- 扩展功能 – 获取透传消息
•如果发送的是消息,需要开发者写接收处理展现代码,请确认是否写了相应的处理代码
•已成功初始化并获得ClientID的情况下,通过个推开放平台-故障排查-已有clientid进行一键监测

SDK没有得到clientid应该怎么办?
• 请确认手机是否正常启动应用
• 请确认手机是否打开移动网络(GPRS、3G)或Wifi网络
• 请强行停止应用后重新启动并等待几分钟
• 如果按照以上步骤仍旧没有取到ClientID,请卸载重装应用

是否提供了服务端API?
是的,服务端提供了三个API接口供开发者调用,详细的用法参见《个推平台服务端接口文档

为什么我调用服务端接口显示“result=sign_error”?
请确认编码是否是UTF-8,不是则修改为UTF-8
检测appid,appkey,masterSecret相关的值,尤其masterSecret不要与appsecret搞混。

为什么有时候服务端API推送手机没有收到?
以下情况手机收到消息在通知栏不会显示,需要开发者写接收处理数据代码展现
用pushmessage推送消息
用pushSpecifyMessage推送消息,同时pushType值为“TransmissionMsg”
用pushGroupMessage推送消息,同时pushType值为“TransmissionMsg”

个推开放平台页面特定用户中请上传正确的用户名单是指什么?
Clientid列表,格式为txt文件,每行一个clientid,回车换行,大小上限为20M

应用详情处 注册用户数和在线数都是0,是什么原因?
查看客户端是否拿到clientid
注册用户数延迟到第二天统计,在线用户数延迟15分钟左右
可能您修改过应用appid,导致clientid绑定在之前的appid上,你需要的操作:删除sd卡libs目录,应用清除数据或者卸载重装,再启动应用重新获取clientid
接入引导中的三个测试推送按钮无法收到,但故障排查能收到
您应该修改过应用appid,导致clientid绑定在之前的appid上,你需要的操作:删除sd卡libs目录,应用清除数据或者卸载重装,再启动应用重新获取clientid

clientid在什么情况下会改变呢
在手机没有sd卡的情况下,应用卸载重装或者清除数据是会变化clientid的,不排除其他异常情况,但目前未发现.

我本来启动了我的应用,接着我点击通知,他又启动了我的应用,等于我启动了两个,这是为什么?
通过服务端接口推送参数transmissionType设置为1或者通过个推开放平台高级设置选择立即启动选项时,确实会出现这种情况。
如果需要避免此现象,建议通过服务端接口推送时参数transmissionType设置为2,并填写透传消息;通过个推开放平台推送时,高级设置中设置立即启动选项为否,并填写透传消息。客户端获取透传消息判断应用当前状态,再根据状态做相应的处理。

原文地址:https://www.cnblogs.com/evakang/p/5735795.html