Android使用google Firebase Cloud Messaging的云推送发送通知
Posted 雪の星空朝酱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android使用google Firebase Cloud Messaging的云推送发送通知相关的知识,希望对你有一定的参考价值。
android使用google Firebase Cloud Messaging的云推送发送通知
关于
首先是Firebase的官网地址,然后我们使用google账号登陆并开始使用:
新建一个项目,这里我用我之前的测试的项目了,然后在项目里面点击添加应用,并选择对应平台-Android进入如下页面:
然后输入Android项目的包名,其余别名和sha证书选填,然后点击注册应用,点击下一步,然后我们会下载一个叫google-services.json文件,将它下载后放到moudle的根目录里,我们可以点开这个json文件查看里面clientid是不是我们moudle的applicationid:
然后我们下一步里面会有提示添加依赖的api,这里我们在工程的build里面添加如下:
dependencies
classpath 'com.google.gms:google-services:4.3.13'
然后修改对应的模块的build引用:
plugins
id 'com.google.gms.google-services'
implementation 'com.google.firebase:firebase-messaging:23.0.6'
implementation platform('com.google.firebase:firebase-bom:30.3.1')
接下来我们可以通过Android studio的firebase连接网页控制台看下配置是否成功,单击 Tools > Firebase. (这会将项目添加到 Firebase),单击 Set up Firebase Cloud Messaging,这里选择第一个即可,选择kotlin版的就是messaging的引用和一些类用法不一样,最终结果一致的:
单击 Connect to Firebase,会跳出弹框提示我们已经连接到了某个项目,就说明已经配置成功了:
接下来我们想收到云消息推送,还需要编写一个类继承FirebaseMessagingService
:
class MyFirebaseInstanceIDService : FirebaseMessagingService()
override fun onNewToken(token: String)
super.onNewToken(token)
"token内容$token".printLog() //这个刷新token会在第一次以及一些重置刷新的时候重新返回一个token
override fun onMessageReceived(message: RemoteMessage)
super.onMessageReceived(message)
"当前接收到的数据$message.data".printLog()
平时的token获取可以调用:
FirebaseMessaging.getInstance().token.addOnCompleteListener
然后我们还需要在androidmanifest.xml里面把service声明一下:
<service
android:name=".MyFirebaseInstanceIDService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
好了,现在android接收这一块已经简单配置好了,我们运行一下app(最好是卸载重新安装一下),然后可以在控制台看到token的打印(第一次运行firebase会上传我们的设备信息,这个可以在logcat里面通过regex firebase查看到):
然后我们打开Firebase的网页控制台,在项目左侧找到cloud messaging,然后点击制作,在弹出框中选择制作通知消息:
然后我们首先需要输入通知栏标题和内容等,这和一些极光推送等一样用法:
点击下一步,需要我们定位要发送的app,通过选择对应application id的特定设备:
然后选择发送的时间,一般都是立即发送。下一步转化事件我们不管,继续下一步,android8.0的通知需要有渠道,我们输入一些测试数据,用于返回观察:
最后点击审核发布,然后我们可以在网页上看到发布状态:
我们在Android studio的logcat里面可以看到收到的通知消息数据:
注意,这个推送消息有时候会有一定时间的延迟。到此,本篇就结束了,有问题欢迎留言
以上是关于Android使用google Firebase Cloud Messaging的云推送发送通知的主要内容,如果未能解决你的问题,请参考以下文章
Android使用google Firebase Cloud Messaging的云推送发送通知
Android使用google Firebase Cloud Messaging的云推送发送通知
如果在 Firebase Android 初始注册期间帐户已与 google 关联,则使用 Facebook 登录