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里面可以看到收到的通知消息数据:
在这里插入图片描述
  注意,这个推送消息有时候会有一定时间的延迟。到此,本篇就结束了,有问题欢迎留言

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用Firebase应用内消息传递可以让你的Android应用实现实时通信和消息推送功能。下面是一些步骤来帮助你在Android应用上使用Firebase应用内消息传递: 1. 首先,在Firebase控制台中创建一个新的Firebase项目,并在项目设置中启用Firebase Cloud Messaging服务。 2. 在你的Android应用中,添加Firebase Core和Firebase Cloud Messaging依赖项。你可以通过Gradle文件来添加这些依赖项,例如: ``` implementation 'com.google.firebase:firebase-core:17.2.1' implementation 'com.google.firebase:firebase-messaging:20.0.0' ``` 3. 在你的AndroidManifest.xml文件中添加以下代码以注册Firebase Cloud Messaging服务: ``` <service android:name=".MyFirebaseMessagingService" android:exported="false"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT" /> </intent-filter> </service> ``` 4. 创建一个MyFirebaseMessagingService类并继承FirebaseMessagingService。在这个类中,你可以处理接收到的消息并执行相应的操作,例如: ``` public class MyFirebaseMessagingService extends FirebaseMessagingService { @Override public void onMessageReceived(RemoteMessage remoteMessage) { // 处理接收到的消息 String message = remoteMessage.getData().get("message"); // 执行相应的操作 } } ``` 5. 最后,在你的应用中发送消息,你可以使用Firebase Cloud Messaging API来发送消息,例如: ``` FirebaseMessaging.getInstance().send(new RemoteMessage.Builder("SENDER_ID" + "@gcm.googleapis.com") .setMessageId(Integer.toString(msgId.incrementAndGet())) .addData("message", "这是一条测试消息") .build()); ``` 以上是在Android应用上使用Firebase应用内消息传递的一些基本步骤,你可以根据你的需求进行相关的配置和定制化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪の星空朝酱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值