如何仅使用Android SDK发送仅含数据的Android通知?
关于仅用Android SDK实现FCM仅数据消息推送的解答
不行,仅靠Android客户端SDK无法直接发送FCM仅含数据的消息,原因如下:
FCM的消息推送机制要求请求必须通过认证的服务器端接口发起,Android SDK作为客户端工具,仅负责接收消息、获取设备令牌(Registration Token)以及处理收到的消息,不具备发起推送请求的权限和安全条件——服务端认证所需的密钥(如服务账号密钥)不能存放在客户端,否则会带来严重的安全风险。
若要实现触发仅数据消息的推送,标准流程是:
- Android客户端将需要推送的数据发送到你自己的后端服务器;
- 后端服务器通过FCM的HTTP API或Firebase Admin SDK,携带认证信息发送仅数据消息到目标设备;
- 目标设备的Android SDK接收消息后,会将数据直接传递到
FirebaseMessagingService的onMessageReceived方法,不会向用户显示通知,完全符合你的需求。
补充仅数据消息的服务端payload结构示例:
{ "to": "目标设备的Registration Token", "data": { "key1": "value1", "key2": "value2" } }
内容的提问来源于stack exchange,提问作者Carl Patenaude Poulin
相关产品推荐
相关产品推荐

