结合自定义Notification优雅的实现消息透传
来源:互联网 发布:淘宝 延长收货 几天 编辑:程序博客网 时间:2024/06/16 22:16
1.总得先说两句
项目需求新增移动端消息推送,要求如下:
- 消息透传
- 指示灯闪烁
- 根据消息级别改变通知音效
- 自定义通知振动频率
- 通知开关用户可控
- 点击通知跳转对应页面
2.相关技术储备
推送:个推(透传消息)
通知:自定义Notification
2.1 先来创建个推账户吧
个推官网:http://www.getui.com/cn/index.html (Ps:个人账户和公司账户均可)
2.2 个推开发者中心
1.登记应用
2.填写项目信息
3.获取项目配置
2.3 Studio快速集成个推SDK
1.添加Maven库地址(Project build.gradle文件)
2.添加依赖(Module build.gradle文件)
3.so库与参数配置(gradle.properties与 Module build.gradle)
4.导入通知栏图标
下载官网的demo找到对应的res文件导入即可
5.配置自定义服务
该服务用于调用个推服务的生命周期,别忘了在AndroidManifest.xml中添加该Service
2.4 现在开始编写代码吧
1.首先在程序启动后初始化个推服务
PushManager.getInstance().initialize(context,DemoPushService.class);
2.创建GTIntentService类用于接收推送的消息,别忘了在AndroidManifest.xml中添加该Service
做完以上步骤你就可以在手机上收到服务器发来的消息啦,不过要想对服务器发来的数据进行解析并对通知进行个性修改还远远不足。
3.个推官方消息通知栏太low怎么办
由于个推透传消息不支持通知栏的相关修改,官方的又不足以满足项目需求,所以这里采用自定义Notification来代替。
3.1 怎么说都得先拿服务器传来的数据吧
在onReceiveMessageData()方法中有一个参数GTTransmitMessage,它是服务器发来的数据对象,对他进行解析获取想要的json数据。
通过mGTTransmitMessage.getPayload()方法拿到payload对象,他就是我们需要的json数据的字节码数组形式。
JSONObject obj = new JSONObject(new String(payload))将这个字节码数组转换为json串。对json进行解析获取你想要的数据。
3.2 数据都有了也是时候给用户展示了
做完以上所有步骤,你就可以在服务器发来消息时,个性化的提示用户,实现了上述所有需求。
4.最后的优化每个人都不一样了
个推是针对在线的clientId进行推送消息(离线的会在上线后收到有效时间内的消息)
本地sp存储用户的个性化设置,在程序开始运行时进行判断
重复调用个推的初始化与开启服务方法不会有副作用,api自身有相关判断
多端登陆要注意clientId的存储与销毁
- 结合自定义Notification优雅的实现消息透传
- 实现自定义布局的Notification
- Notification消息栏通知的实现
- Notification消息通知 通知栏的实现
- Notification实现消息通知
- Android自定义Notification的具体实现
- Service与Notification的结合使用实现文件下载
- android 接受消息广播,简单的自定义notification样式弹出
- 优雅的自定义TabLayout
- Notification.Builder实现发送一个普通的消息通知
- 自定义的窗口消息实现
- Android 自定义Notification消息通知样式并实现与Activity简单交互
- 自定义的Notification
- 使用自定义的 Notification
- Android 自定义的notification
- 自定义的Notification布局
- android自定义的notification
- 自定义的Notification布局
- 插入排序
- Tencent面试题(iOS)
- Additions HNUST 1713(矩阵快速幂模板 )
- java poi操作word模版文件生成表单和修改
- 回归CSDN
- 结合自定义Notification优雅的实现消息透传
- Oracle就是个坑
- 加密猫比加菲猫还有趣!区块链虚拟猫咪也能基因遗传!
- [知了堂学习笔记] javascript入门
- 关于vim复制粘贴命令总结
- C++中检查浮点数值有效性
- 蓝桥杯练习题之回文数
- 一些Unity 小提示
- Liunx Zookeeper集群安装