[backcolor=transparent][font="][backcolor=transparent]Q1:我能否在MainActivity中调用cloudpushservice.register?在调用register接口以后,如何知道我注册成功还是失败了,失败的原因是什么?
必须在Application中调用cloudpushservice.register,而不要在Activity中调用。在Activity中调用,将无法有效启动推送的幽灵进程,会大大减少消息的到达率。另外,在未来,我们不确保你使用Activity启动的推送功能会是正常的。
在调用register接口时,你可以传入一个回调对象,即com.alibaba.sdk.android.push.CommonCallback,如果注册成功,及一次性回调CommonCallback.onSuccess,如果注册失败,会回调onFailed,启动带有错误码和错误信息。错误回调之后,我们会重试注册,并用相同的对象,继续给到你回调结果。
(所以错误回调,会有多次,不断重试,直到最后一次成功回调为止。)
失败的原因请参考 错误码列表。
[backcolor=transparent][font="][backcolor=transparent]Q2:调用一次cloudpushservice.register会有多次回调,是什么意思?如果register失败,我是否需要重试?
同问题1,注册失败之后,SDK会自动重新进行注册。所以你不需要在代码中重试,只需要等待onSuccess回调即可。
[backcolor=transparent][backcolor=transparent][font="]Q3:注册/鉴权失败(1056)的错误码是什么意思,我如何解决鉴权失败的问题?
鉴权失败的可能性有以下几个:
- appKey不正确
- appsecert不正确
[backcolor=transparent][backcolor=transparent][font="]Q4:我调用了cloudpushservice.register后获取DeviceId,发现DeviceId是空的,是什么原因?
调用cloudpushservice.register如不能正常获取DeviceId则说明注册没有成功,请重新获取到正确的cloudpushservice.register返回码以后,在使用cloudpushservice.getDeviceId方法获取。
[backcolor=transparent][backcolor=transparent][font="]Q5:我注册成功了,但是收不到推送的消息,我该如何去排查?
- 检查的的MessageReceiver是否在manifest中正确配置声明了。(以及根据快速配置手册,检查其他manifest配置是否正常)
- 检查你在服务端推送的是否是通知,如果是推送通知应该直接弹出;如果推送的是消息,是否有在复写方法onMessage中产生回调。
- 如果以上都正确,请打开debug日志,并在日志筛选中查找AgooFactory标签,看是否有接收到消息的日志展示。
- 如果没有相应消息展示,请检查服务器端配置是否正确。或咨询服务端客服。
- 如果有相应消息展示,请咨询客户端客服。
[backcolor=transparent][backcolor=transparent][font="]Q6:我继承了MessageReceiver接口,但是仍然收不到消息,怎么排查?
- 首先,你需要覆盖正确的接口方法。接口方法说明 请参照 API手册。
- 其次,确认你的Manifest中正确地注册了你自己的MessageReceiver 请参 照快速接入手册。
- 最后,确认你的MessageReceiver正常启动,并且能够收到其他的消息,方法为:
- 打开debuglog
- 切换网络状态(比如关闭wifi以后在打开)
- 查看关键字AgooMessageReceiver,看一下是否接收到相关网络事件。
- 如果你连网络切换事件也无法收到,请检查本地Manifest及相关工程配置是否正确。如果你能收到网络事件,却无法收到推送事件,请检查服务器端配置,以及覆盖的方法是否正确。
如果以上配置都正确,可人工咨询SDK相关问题。
[backcolor=transparent][backcolor=transparent][font="][backcolor=transparent]Q7:如何更有效地咨询SDK相关的问题?
在你的应用中加入debuglog,CloudPushService提供接口setLogLevel(logLevel)设置日志等级,logLevel等级定义ERROR = 0; INFO = 1; DEBUG = 2。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。