集成 FCM

更新时间:2024-03-04 08:47:31

本文主要介绍如何集成 Google 的 FCM (Firebase Cloud Messaging) 推送服务。本文适用于中国大陆以外的国家或地区的用户。

准备工作

配置 FCM 信息

请参考 申请谷歌 FCM 推送Sender IDServer Keygoogle-services.json 文件配置到 涂鸦 IoT 开发平台 对应应用配置的 Push(谷歌) 中。

建议复制内容到输入框中,谨防误填 Sender IDServer Key

集成 FCM

注册 Token

继承 FirebaseInstanceIdService 类的 onTokenRefresh 方法,监控注册令牌的生成,并将令牌注册到涂鸦。

ThingHomeSdk.getPushInstance().registerDevice(String token, String pushProvider, new IResultCallback() {
    @Override
    public void onError(String code, String error) {
    }

    @Override
    public void onSuccess() {

    }
});

参数说明

参数 说明
token FCM 生成的 Token
pushProvider 注册 Push 的类别 FCM 时,设置为 fcm

接收处理消息

继承 FirebaseMessagingService 的类中的 onMessageReceived 方法,接收处理消息。message.getData() 中的内容就是收到的推送信息。

public class MyFcmListenerService extends FirebaseMessagingService {
    public static final String TAG = "MyFcmListenerService";
    public static HashMap<String, Long> pushTimeMap = new HashMap<>();

    @Override
    public void onMessageReceived(RemoteMessage message) {
        Log.d(TAG, "FCM message received" + message.getData().toString());
    }
}

解绑用户

在用户退出登录等需要解除应用和用户关系的操作下,调用 FCM 的移除注册令牌的方法。

FirebaseInstanceId.getInstance().deleteInstanceId();

当前文档中展示的接口基于 20.1.6 版本,目前已经不推荐使用。如果您已集成更高版本,请参考 FirebaseInstanceId

发送 Push

集成 Push 能力后,您就可以在涂鸦 IoT 开发平台针对每次 Push 推送进行设置。

新增运营 Push

涂鸦 IoT 开发平台营销推送 页面,新建 App 消息推送。用户会在 App 上接收到您的推送提醒,包括新品上市推荐或者生活温馨提醒等信息,方便有效营销您的用户。

集成 FCM

新增设备消息

涂鸦 IoT 开发平台消息推送 页面,完成设备信息推送。更多详细操作,请参考 推送设备信息

集成 FCM