1,集成firebase 基础
1>googleService文件
2>项目级gradle
3>app级gradle
4>setting
2,推送相关
重点:
源文档:设置 Firebase Cloud Messaging 客户端应用 (Android) (google.com)
/** * 监听推送的消息 * 三种情况: * 1,通知时: * 当应用处于前台的时候,推送的消息会走onMessageReceived方法,处于后台时走系统托盘。 * 2,数据时: * 当应用处于前、后台的时候,会走onMessageReceived方法。 * 3,通知且携带数据: * 当应用处于前台的时候,推送的消息会走onMessageReceived方法,处于后台时,通知走系统托盘,数据走Intent 的 extra 中(点击通知栏后)。 */
1>清单文件
2>MyFirebaseMessagingService类
/**
* 推送数据对通知的影响
* 1,如果我们推送的数据 notification 对应的数据 不为空,那么我们接收消息就需要分为两种情况,
* 前台和后台,如果App当前状态为前台,那么 onMessageReceived 方法就会被调用,
* 后续我们自己拿到对用的数据进行通知栏的显示,如果App当前状态为后台的话 那么我们无需自己写 sdk会自己弹出。
*
*,2,如果我们推送的数据 notification 对应的数据为空,把所有的数据放置到data 字段里面,
* 那么sdk不会为我们弹出通知,这时候无论App在前台还是后台都会调用 onMessageReceived ,
* 这时候我们自己需要处理通知栏的ui 显示。这种情况一般用于自定义通知栏ui 的时候。
*/
public class MyFirebaseMessagingService extends FirebaseMessagingService {
/**
* 监听推送的消息
* 三种情况:
* 1,通知时:
* 当应用处于前台的时候,推送的消息会走onMe