Web Push需从FCM旧版API迁移至V1吗?Chrome推送受影响吗?
问题
我当前向Google Chrome(使用FCM端点)发送Web Push通知。请问Firebase移除FCM旧版API后,是否需要采取相关措施?还是仅影响APP推送通知?
以下是订阅示例(FCM端点+密钥):
{ "endpoint": "https://fcm.googleapis.com/fcm/send/dpH5lCsTSSM:APA91bHqjZxM0VImWWqDRN7U0a3AycjUf4O-byuxb_wJsKRaKvV_iKw56s16ekq6FUqoCF7k2nICUpd8fHPxVTgqLunFeVeB9lLCQZyohyAztTH8ZQL9WCxKpA6dvTG_TUIhQUFq_n", "keys": { "p256dh": "BLQELIDm-6b9Bl07YrEuXJ4BL_YBVQ0dvt9NQGGJxIQidJWHPNa9YrouvcQ9d7_MqzvGS9Alz60SZNCG3qfpk=", "auth": "4vQK-SvRAN5eo-8ASlrwA==" } }
回答
FCM旧版API(如Legacy HTTP API)的移除不仅影响APP推送,也会波及你当前的Web Push推送——你示例里的https://fcm.googleapis.com/fcm/send/正是旧版Legacy API的核心端点,一旦旧版API被移除,这个端点会停止服务,你的Web Push通知将无法正常发送。
你需要立刻采取以下措施:
- 切换API端点:改用FCM v1 API的端点
https://fcm.googleapis.com/v1/projects/[你的Firebase项目ID]/messages:send - 更新认证方式:旧版使用的服务器密钥(Server Key)将失效,需改用服务账号密钥生成OAuth2访问令牌完成请求认证
- 调整请求格式:v1 API的请求体结构与旧版差异较大,需适配新格式——比如要在请求中明确指定
webpush字段,包含Web Push的payload、headers等内容 - 无需重新订阅用户:你现有的订阅端点(示例里的
endpoint字段值)可继续使用,只要发送通知时切换到v1 API即可
内容的提问来源于stack exchange,提问作者Habiba Gamal
相关产品推荐
相关产品推荐

