logo
当前页

FCM 集成指南

说明

本文适用于 Android 端集成 FCM。

概述

Google 推送 FCM(Firebase Cloud Messaging)是一种跨平台消息传递解决方案,支持海外用户推送离线消息,可供开发者可靠地传递消息。

开发者使用 ZIM 提供的“离线推送”功能之前,请参考本文,接入 Google FCM 厂商的离线推送通道。

注意

启用 Google 推送后,ZPNs SDK 会直接使用 Google 推送通道,其他厂商的推送通道将会失效。

前提条件

使用 FCM 成功推送需要以下条件:

  1. 移动设备(如手机)支持 “谷歌移动服务 GMS”。
  2. 移动设备(如手机)连接的网络属于海外网络。

在接入 FCM 的离线推送通道之前,请确保:

  • 已集成最新版本的 ZIM SDK,详情请参考 快速开始 - 实现基本收发消息

  • 已完成如下步骤:

    1. 前往 Firebase 平台,登录自己的 Google 账号

    2. 登录成功后,在页面中,选择 “添加项目”,输入项目名称及相关信息。

    3. 添加项目完成后,点击,进入项目详情。

    4. 在界面中点击如图的按钮,创建 Android 应用。

    5. 填写 Android 应用的相关信息,然后点击 “注册应用”。

    6. 注册完成后,点击 “下载 google-services.json” 文件。集成 SDK 时,需要将此文件配置至项目的 app 目录下。

使用步骤

  1. 在项目级 “build.gradle”(文件路径:项目/build.gradle)文件中,配置 Google 的 maven 仓库,拉取 Google 的依赖。

    Untitled
    buildscript {
        repositories {
            // 请检查代码是否有以下内容(若无,请添加):
            google()  // Google 的 Maven 库
            mavenCentral()
        }
        dependencies {
            ...
            // 添加此行
            classpath 'com.google.gms:google-services:4.3.5'
    
        }
    }
    
    allprojects {
        ...
        repositories {
            // 请检查代码是否有以下内容(若无,请添加):
            google()  // Google 的 Maven 库
            mavenCentral()
            ...
        }
    }
    
    1
    Copied!
  2. 在应用级 “build.gradle”(文件路径:项目/应用模块/build.gradle)文件中,增加 Firebase 相关依赖。

Untitled
apply plugin: 'com.android.application'

// 添加此行
apply plugin: 'com.google.gms.google-services'

dependencies {
    // 引入 Firebase BoM
    implementation platform('com.google.firebase:firebase-bom:31.0.2')

    // 添加 Firebase SDK 用于 Google Analytics 和 FCM 的依赖。 
    // 使用 BoM 时,请勿在 Firebase 依赖中指明版本
    implementation 'com.google.firebase:firebase-analytics'
    implementation 'com.google.firebase:firebase-messaging:23.2.1' 

    // 为任何其他所需的 Firebase 产品添加依赖
    // https://firebase.google.com/docs/android/setup#available-libraries
}
1
Copied!
  1. 以上配置完成后,请在 ZEGO 控制台 自助配置 ZIM 离线推送证书(详情请参考 项目管理 - 即时通讯 - 离线推送配置),若无法配置,请联系 ZEGO 技术支持处理。

  2. 防止混淆代码

    在“proguard-rules.pro”文件中,为 FCM SDK 添加 -keep 类的配置,这样可以防止混淆 FCM SDK 公共类名称:

    Untitled
    -dontwarn com.google.**
    -keep class com.google.** {*;}
    
    1
    Copied!

Previous

vivo 推送集成指南

Next

Web 推送集成指南