目录
1.FCM的开发初衷
最近刚刚毕业,在公司接到的第一个正式任务是要求我将消息推送到firebase服务器上从而实现消息推送到安卓客户端。由于该产品面向海外用户,所以需要通过谷歌提供的服务器进行消息推送。至于fcm的概念,大家可以自行百度,我不再重复。直接讲述整个代码的coding过程,代码我是已经跑通了的,可以根据我的文档进行参数设置就可以进行简单的消息推送测试了。当然,如果在了解我的代码后,也可以进行代码的重写,我提供的只是一个很简单的demo。
2.设计思路
在解释我的代码前,作为开发者,你需要向安卓端的开发获取一个json格式文件,这个文件是他们在谷歌的官网进行注册时从控制台上进行下载的文件。文件的名字是和安卓注册的app名称有关系的,大概的格式内容如下
{
"type": "service_account",
"project_id": ,
"private_key_id":,
"private_key": ,
"client_email": ,
"client_id": ,
"auth_uri": ,
"token_uri": ,
"auth_provider_x509_cert_url": ,
"client_x509_cert_url":
}
这个json格式的文件作为开发者而言是需要将它放置在某个目录下的,因为google提供的原生api要获取这个文件的输入流来解析这个文件,具体过程我会在之后讲解到。
除此之外,安卓客户端还需要提供给客户端一个packageName,这个包名同样也是在google提供的控制台中可以查找到的以及安卓需要提供一个有效channelId,这个channelId在安卓8以上是需要提供给谷歌服务器进行通道识别,从而实现消息推送的。
以上三个部分都准备完毕后,就可以进行进一步的api开发了。
3.FCM官方API开发
官方api的github地址https://github.com/firebase/firebase-admin-java
这个代码里面提供了很多种发送请求的方式。在该项目中,我只用到了其中的一种,向多个用户群发消息。
在开发过程中,我们可以通过业务逻辑编写,对一条消息需要发送的用户进行筛选,之后向这些用户进行消息群发操作。</