在 GCM/FCM 中是不是有可能获得最后一个活动或用户是不是已连接?

Posted

技术标签:

【中文标题】在 GCM/FCM 中是不是有可能获得最后一个活动或用户是不是已连接?【英文标题】:Is it possible in GCM/FCM to get last activity or if the user is connected?在 GCM/FCM 中是否有可能获得最后一个活动或用户是否已连接? 【发布时间】:2016-08-24 14:24:04 【问题描述】:

我在我的 android 项目中使用 GCM,连接是 XMPP,我想知道是否有办法知道用户当前是否从服务器服务中连接?

一种方法是我可以向用户发送 ping 并等待回复以查看他是否已连接,但我希望有更好的解决方案,例如直接查询 GCM,它会告诉您用户是否目前在线或他的最后活动日期。

我试图避免使用 socket.io 或 signalr,因为如果您有大约 50 万用户定期 ping 服务器,它会特别增加服务器的负载。

谢谢

【问题讨论】:

【参考方案1】:

您要查找的 API 宣传得不是很好,但它确实存在!

HEADERS: Authorization:key=SERVER-KEY
GET: https://iid.googleapis.com/iid/info/GCM-TOKEN?details=true

完整文档在这里:https://developers.google.com/instance-id/reference/server

【讨论】:

谢谢,这个 api 看起来像我要找的东西,我现在没时间尝试,但是我 gna 将此标记为正确答案 经过测试,不幸的是,它没有提供连接时间,只有日期

以上是关于在 GCM/FCM 中是不是有可能获得最后一个活动或用户是不是已连接?的主要内容,如果未能解决你的问题,请参考以下文章

Onesignal vs GCM(FCM)

哪个版本的gcm服务器用于gcm -fcm迁移

APN、GCM(FCM):如何在通知中添加富媒体?

GCM / FCM / Mozilla (Web Push Service) 使用统计

Amazon SNS GCM/FCM 消息负载

一个 XMPP 连接用于多个 GCM/FCM 应用程序