您的位置:

FCM推送:让你的应用消息快速到达用户设备

在今天的移动应用市场,应用推送消息是与用户进行全天候沟通的一种重要途径。无论是新闻提醒、广告活动、好友邀请还是其他重要的应用事件,实时通知用户是增加用户活跃度和留存率的重要手段。然而,在传统的推送消息技术中,如长连接、轮询和单播等方法,都存在消息推送不及时、不准确、不稳定等一系列问题,这些问题都导致了用户体验下降和推送效果不佳。FCM(Firebase Cloud Messaging) 是 Google 提供的一款全新推送服务,能够将消息及时、准确、可靠地推送给用户的设备,成为现代应用推送的不二之选。

一、FCM推送的流程

FCM推送是一种基于 HTTP 和 XMPP 协议的异步应用通信方式。FCM包含以下三种主要的部分:

  • FCM服务器:负责发送和维护移动应用的推送消息,并且存储这些消息。
  • 移动应用:需要添加 FCM SDK,以便设备可以将自己注册到 FCM 服务器并与之建立通信。
  • 客户端(Web应用):可以想要向移动应用推送消息的任何 Web 应用。

以下是 FCM 推送的流程:

  1. FCM KIT 组件:FCM SDK 负责处理应用程序中与 FCM 相关的操作,例如设备到 FCM 服务器的注册、收到新消息并处理等。
  2. 移动设备:将自己注册到 FCM 服务器。
  3. FCM 服务器:将设备注册到 FCM 服务器的信息和 ID 存储在 FCM 数据库中,并将设备的注册 ID 发送回移动设备。
  4. 移动设备:将该设备的注册 ID 发送到应用服务器(Web 应用)上。
  5. 应用服务器:发送消息到 FCM 服务器。
  6. FCM 服务器:向具有该注册 ID 的移动设备的应用程序发送推送消息。
  7. 移动设备:通过 FCM SDK 接收和处理消息。

通过上述流程,FCM推送成功地将消息发送到了指定的设备。

二、FCM推送的具体实现

1.使用 Firebase 来创建 FCM 项目

要使用 Firebase FCM 消息传递,首先需要创建一个 FCM 项目。前往 Firebase 控制面板并创建一个 Firebase 项目。在 Firebase 控制面板中添加一个新应用并完成您的设置,以便在 Firebase 控制面板中创建可以使用的项目证书。

2.添加 Firebase FCM SDK 依赖

将以下依赖项添加到应用级别的 build.gradle 文件中,在项目中启用 Firebase FCM SDK:

dependencies {
  implementation 'com.google.firebase:firebase-messaging:20.2.4'
}

3.注册 BroadcastReceiver 来处理未读消息

对于 Android 应用程序,消息传递是通过在 Android 操作系统中注册使用 BroadcastReceiver 来实现的。使用以下代码创建 NotificationBroadcasterReceiver 广播接收器,以及在 AndroidManifest.xml 文件中添加以下代码来声明广播接收器:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="YOUR_PACKAGE_NAME">

    <receiver
        android:name=".services.NotificationBroadcasterReceiver"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </receiver>
  
</manifest>

4.在应用中启用 FCM

下面是在 Application 类中启用 Firebase SDK 的代码。在这个例子中,我们是通过将其添加到 AndroidManifest.xml 文件中来实现的。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="YOUR_PACKAGE_NAME">

    <application
        android:name=".SampleApplication"
        ...
        <!-- Add this line -->
        android:usesCleartextTraffic="true">
    </application>
  
</manifest>

以下为启用 FCM 的 Java 代码实现:

public class SampleApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        if (BuildConfig.DEBUG) {
            FlutterMain.startInitialization(this);
        }

        FirebaseMessaging.getInstance().setAutoInitEnabled(true);
    }
}

三、FCM推送的优势

1.支持多平台、多个应用

FCM 支持向多个应用程序推送异步消息。因此,如果有多个 Web 应用需要使用同一设备的推送消息服务,可以使用 FCM 实现。此外,即使要推送消息的应用不同,您仍然可以使用同一个 FCM 项目来实现推送消息的编码。

2.更好的消息分发率

FCM使用优化的多路发现算法,准确识别了丢失的消息和重复的消息,并尽可能优化消息的投放效率,从而确保了消息的高即时性和实时性。

3.能够 customization 个性化定制

FCM 允许自定义推送消息的内容、类型或样式,让开发者和业务可以根据不同的应用场景提供不同的提醒方式,提高用户粘性和留存率。

总而言之,FCM 推送服务为用户提供了更加快速、准确、稳定的消息推送服务,从而大大提高了移动应用的用户体验和使用效果。

FCM推送:让你的应用消息快速到达用户设备

2023-05-17
让您的Android应用程序更轻松,使用Firebase推送

2023-05-14
Android消息推送:提高应用的用户留存和活跃度

2023-05-14
包含cocojs2d的词条

本文目录一览: 1、cocos2d 跟 cocos creator有什么区别吗 2、怎样看待越来越多cocos2dx程序员转unity3d,unity是否是大势所趋 3、一文秒懂厂商推送 4、目前做2

2023-12-08
Android应用开发中的消息推送实现

2023-05-14
php推送不成功(php消息推送技术)

2022-11-12
java消息推送,java消息推送到app

2023-01-04
java推送,java推送用户消息到页面

2022-11-30
php服务器推送成功(php消息推送服务器搭建)

2022-11-12
包含安卓phpmysql消息推送的词条

2022-11-12
Android MQTT:实现设备间快速消息传递

MQTT是一种基于发布/订阅模型的网络协议,被广泛使用于各种机器间通信领域,如物联网(IoT)。MQTT在低带宽、不稳定的网络环境中表现良好,已经成为了一种极为成熟的协议标准。在Android平台上,

2023-12-08
java消息推送,java消息推送实现

2023-01-09
极光推送java,极光推送java服务端 给指定用户推送

2023-01-08
java推送,java推送消息到app

2022-11-28
php集成apns推送(apns 推送)

2022-11-16
深入了解消息推送平台

2023-05-23
如何通过微信小程序推送消息给用户

2023-05-20
极光推送java,极光推送原理

2023-01-09
java极光推送,极光推送 java

2023-01-09
java极光推送,极光推送demo

2023-01-09