即时通讯
  • iOS
  • Android : Java
  • macOS
  • Windows
  • Web
  • 小程序
  • Flutter
  • Unity3D
  • uni-app
  • React Native
  • 产品简介
  • 下载
  • 快速开始
    • 跑通示例源码
    • 实现基本消息收发
  • 用户相关
  • 房间相关
  • 群组相关
  • 消息相关
  • 呼叫邀请
  • 会话管理
  • 缓存管理
  • 离线推送
  • 客户端 API
  • 服务端 API
  • 迁移方案
  • SDK 错误码
  • 常见问题
  • 文档中心
  • 即时通讯
  • 离线推送
  • Android 推送集成指南
  • Google 推送集成指南

Google 推送集成指南

更新时间:2023-09-15 20:20

概述

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

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

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

前提条件

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

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

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

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

  • 已完成如下步骤:

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

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

      /Pics/ZIM/Android/add_project.png

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

      /Pics/ZIM/Android/project_info.png

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

      /Pics/ZIM/Android/create_app.png

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

      /Pics/ZIM/Android/add_app_info.png

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

      /Pics/ZIM/Android/download_google_json.png

使用步骤

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

    buildscript {
        repositories {
            // Check that you have the following line (if not, add it):
            google()  // Google's Maven repository
    
        }
        dependencies {
            ...
            // Add this line
            classpath 'com.google.gms:google-services:4.3.10'
    
        }
    }
    
    allprojects {
        ...
        repositories {
            // Check that you have the following line (if not, add it):
            google()  // Google's Maven repository
    
            ...
        }
    }
  2. 在应用级 “build.gradle”(文件路径:<项目>/<应用模块>/build.gradle)文件中,增加 Firebase 相关依赖。

    apply plugin: 'com.android.application'
    
    // Add this line
    apply plugin: 'com.google.gms.google-services'
    
    dependencies {
        // Import the Firebase BoM
        implementation platform('com.google.firebase:firebase-bom:29.3.1')
    
        // Add the dependency for the Firebase SDK for Google Analytics
        // When using the BoM, don't specify versions in Firebase dependencies
        implementation 'com.google.firebase:firebase-analytics'
    
        // Add the dependencies for any other desired Firebase products
        // https://firebase.google.com/docs/android/setup#available-libraries
    }
  3. 在应用级 “build.gradle”(文件路径:<项目>/<应用模块>/build.gradle)文件中,配置 Google 推送依赖。

    implementation 'com.google.firebase:firebase-messaging:21.1.0'
  4. 以上配置完成后,请在 ZEGO 控制台 自助配置 ZIM 离线推送证书(详情请参考 项目管理 - 即时通讯 - 离线推送配置),若无法配置,请联系 ZEGO 技术支持处理。

  1. 防止混淆代码

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

    -dontwarn com.google.**
    -keep class com.google.** {*;}
本篇目录