美文网首页极光推送
Android极光推送通知问题

Android极光推送通知问题

作者: HelloJP | 来源:发表于2018-10-11 14:48 被阅读0次

    环境:

    AndroidStudio3.2 + JPush SDK 3.0.8

    需求:

    项目要求根据不同的逻辑推送不同的内容到手机,手机状态栏显示通知(app未运行时)或弹窗提示(app正在运行),根据不同的内容点击通知或弹窗选项后跳转到相应的页面。

    现状:

    根据官方文档集成后后台推送消息到极光服务器,后台推送代码如下:

    极光推送后台代码

    根据官方文档的说明和调试发现,Android端集成好JPush SDK后,在不配置自己定义的Receiver,Android设备可以接收到服务器推送过来的Notificatio(见上面的第一张图:极光推送后台代码中的setNotification方法),并在Android设备状态栏生成一条Notification,该Notification的样式可以自定义(通过JPushInterface.setPushNotificationBuilder方法来设置),但是点击该Notification只能打开应用的主页面。

    极光说明文档

    配置好自己定义的MyReceiver:

    极光推送Android接收器代码 Receiver配置

    此时发送推送消息时Android端会收到两条推送:

    日志

    由极光默认生成的Notification还是无法更改,不能实现点击后根据需求跳转,于是咨询了极光支持团队,得到如下答复:

    极光答复

    解决:

    根据极光的答复,初步的解决方案应该是要修改后台代码,生成PushPayload时只生成Message,不要Notification,或者推送的Notification中Message或Alert为空,这样极光SDK就不会在状态栏生成Notification,然后Android设备在Action为 cn.jpush.android.intent.MESSAGE_RECEIVED 的Receive中根据业务逻辑生成相应的Notification并设置相应的PendingIntent。

    问题:

    以上是我想到的初步解决方案,还需要和后台、iOS的同事沟通协调,上述记录一是为整理思路,二是作个记录,如果其他人遇到相似问题了可以做个参考,或者自己以后再遇到此问题时可以快速解决,后面和后台、iOS的同事沟通之后再更新。

    相关文章

      网友评论

        本文标题:Android极光推送通知问题

        本文链接:https://www.haomeiwen.com/subject/tfcbaftx.html