更新时间:2023-05-25 06:23:49
本文主要介绍如何集成 Google 的 FCM (Firebase Cloud Messaging) 推送服务。本文适用于中国大陆以外的国家或地区的用户。
项目配置:参考谷歌文档 将 Firebase 添加到您的 Android 项目。
客户端配置:参考谷歌文档 在 Android 上设置 Firebase Cloud Messaging 客户端应用。
使用 FCM 时,用户的手机需要安装谷歌服务,还要保证能够正常连接到谷歌服务。
请参考 申请谷歌 FCM 推送 将 Sender ID、Server Key、google-services.json
文件配置到 涂鸦 IoT 开发平台 对应应用配置的 Push(谷歌) 中。
建议复制内容到输入框中,谨防误填 Sender ID 和 Server Key。
继承 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 能力后,您就可以在涂鸦 IoT 开发平台针对每次 Push 推送进行设置。
在 涂鸦 IoT 开发平台 的 营销推送 页面,新建 App 消息推送。用户会在 App 上接收到您的推送提醒,包括新品上市推荐或者生活温馨提醒等信息,方便有效营销您的用户。
在 涂鸦 IoT 开发平台 的 消息推送 页面,完成设备信息推送。更多详细操作,请参考 推送设备信息。
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈