我试图了解GCM应用程序如何使用C2D_MESSAGE权限。我的猜测是GCM服务客户端应用程序将通过sendBroadcast(Intent intent,String receiverPermission)API方法向订阅者app发送广播,其中接收者权限将被设置为订阅者app定义的C2D_MESSAGE权限。但是,我无法在Google Play商店应用程序(我认为是GCM服务客户端应用程序?)中找到它。我在找错了地方吗?或者这是以不同的方式完成的?所有帮助表示赞赏。谢谢!
答案 0 :(得分:2)
技术上,消息从GCM服务器发送给订户(GCM客户端)(应用程序到应用程序GCM仍然通过服务器路由)。
当订阅设备(或客户端)收到消息时,该消息将查找该特定权限。通过将C2D_MESSAGE附加到包名称的末尾来构造权限。完整权限(使用包名称)可以让消息知道此应用程序正在等待它。这是为了防止其他应用收到此消息。
如果您不熟悉GCM,我建议您使用Firebase,因为旧的GCM已弃用,以支持Firebase。