Android Studio中如何通过Firebase云消息查看消息送达及已读状态?
Firebase云消息送达与已读状态查询方案
一、查看消息送达状态
FCM提供三种方式获取送达状态,适配不同场景需求:
- 客户端实时确认:在消息接收回调触发时标记送达。Android端在
FirebaseMessagingService的onMessageReceived方法执行时,即可判定消息已送达设备;iOS端则在UNUserNotificationCenterDelegate的didReceiveRemoteNotification或willPresentNotification回调触发时确认。 - 服务器端单条追踪:调用FCM发送接口时,响应会返回
message_id。使用该ID调用FCM的消息状态查询接口(需传入项目ID和消息ID),可获取单条消息的详细状态,包括是否送达、失败原因(如设备离线、令牌无效等)。 - 控制台批量统计:在Firebase控制台的「Cloud Messaging」板块,查看已发送消息的聚合统计数据,包含送达数、展示数、点击数等,但仅支持批量数据,无法追踪单条消息的具体状态。
二、查看消息已读状态
FCM原生不提供已读回执功能,需自行实现:
- 后端存储方案:当用户点击通知进入应用(或主动查看消息)时,客户端向你的后端服务器发送请求,携带消息ID和用户标识;后端将该消息标记为已读并存储,后续可通过自定义接口查询单条消息的已读状态。
- 客户端本地记录:若无需跨设备同步,可在客户端本地(如SharedPreferences、UserDefaults)维护已读消息ID列表,用于本地判断消息是否已被读取,但无法实现多设备同步的已读状态查询。
内容的提问来源于stack exchange,提问作者Test Prog
相关产品推荐
相关产品推荐

