Firebase通道升级指南
背景
Firebase Cloud Messaging API旧版(原谷歌云消息传递,Google Cloud Messaging)将于2023年6月20日弃用。需在2024年6月20日之前迁移到最新的Firebase Cloud Messaging(简称:FCM) API HTTP v1。
阿里云EMAS移动推送已经正式支持FCM API HTTP v1,仅需进行几步操作就能支持新版API。
操作
1.申请和下载FCM 服务账号私钥文件。
a.在 Firebase 控制台中,打开设置 > 服务账号。
b.点击生成新的私钥,然后点击生成密钥进行确认。
c.妥善存储包含密钥的 JSON 文件。
注:
a.上述过程也可以参考:https://firebase.google.com/docs/cloud-messaging/migrate-v1?hl=zh&authuser=0#provide-credentials-manually。
b.下载的JSON文件可用文本编辑器打开,其中type对应的值应该为service_account,具有project_id键值。
c.可通过点击“管理服务账号权限”进入“IAM和管理”中对服务账号的权限进行管理。
2.上传FCM密钥到阿里云EMAS移动推送。
进入EMAS移动推送控制台,进入对应的app。点击应用配置→厂商通道,点击GCM/FCM对应的“编辑信息”,选择“新版HTTP v1”并上传从firebase下载的密钥文件,最后点击确定。
配置完成后,厂商通道界面会显示:“鉴权方式:新版HTTP v1”及“FCM服务账号密钥:已配置”字样。 此时即可使用FCM API HTTP v1进行推送。
3.更新Android SDK(可选)。
为了更好地使用FCM API HTTP v1,我们强烈建议您升级app的SDK,最新版本3.9.0对FCM的支持进行了全方位的升级。
说明
1.本次升级我们的服务器端程序有什么需要改动的?
本次升级为了更好地支持FCM,我们把通道名称从gcm改为了fcm,如果您接入了回执日志,需要注意event_channel将会出现新的值“fcm”。通过新版API推送的event_channel均会标记为“fcm”,但arrive、click、clean回执依赖于端侧上报,若SDK没有升级,将会继续返回gcm字样,即event_channel: gcm。
2.不升级Android SDK是否可以用FCM API HTTP v1进行推送?
可以。
3.有什么兼容性需要注意的。
a.若接入了回执日志,需要兼容event_type:sent and event_channel:fcm对应的回执可能是event_channel:gcm and (event_type:arrive or event_type:click or event_type:clean)。
b.上传密钥文件前,请检查密钥文件格式,密钥文件默认的下载文件名不是google-services.json,其内容应包含:“type”:“service_account”。
4.如果切到新版HTTP v1, 影响已经发出去的旧版HTTP吗?
新版HTTP v1上传不会失效,上传后鉴权方式切换到“新版HTTP v1”并确认后,正式修改推送API。所以点确认前检查一下各选项是否正确。
5.切到新版HTTP v1后还可以再切回旧版HTTP吗?
可以切回。
6.是否需要强制升级sdk到3.9.0?
建议您升级app的SDK,最新版本3.9.0对FCM的支持进行了全方位的升级。