Android 在Google云消息传递中使用C2D_消息权限

Android 在Google云消息传递中使用C2D_消息权限,android,google-cloud-messaging,Android,Google Cloud Messaging,我试图了解GCM应用程序是如何使用C2D_消息权限的。我猜GCM服务客户端应用程序将通过sendBroadcast(意图,字符串receiverPermission)API方法向订户应用程序发送广播,其中接收方权限将设置为订户应用程序定义的C2D_消息权限。然而,我在Google Play Store应用程序(我相信是GCM服务客户端应用程序?)中找不到这个。我看错地方了吗?还是以另一种方式进行?感谢所有的帮助。谢谢 从技术上讲,该消息从GCM服务器发送到订阅者(即GCM客户端)(应用到应用的G

我试图了解GCM应用程序是如何使用C2D_消息权限的。我猜GCM服务客户端应用程序将通过sendBroadcast(意图,字符串receiverPermission)API方法向订户应用程序发送广播,其中接收方权限将设置为订户应用程序定义的C2D_消息权限。然而,我在Google Play Store应用程序(我相信是GCM服务客户端应用程序?)中找不到这个。我看错地方了吗?还是以另一种方式进行?感谢所有的帮助。谢谢

从技术上讲,该消息从GCM服务器发送到订阅者(即GCM客户端)(应用到应用的GCM仍然通过服务器路由)

当订阅设备(或客户端)接收到该消息时,该消息将查找该特定权限。权限是通过将C2D_消息附加到包名称的末尾来构造的。完全权限(带有包名)让消息知道此应用程序正在等待它。这是为了防止其他应用程序接收此消息


如果您是GCM新手,我建议您使用Firebase,因为旧的GCM已被弃用,取而代之的是Firebase。

那么哪个应用程序会将广播消息发送到订户应用程序?你能告诉我在GCM服务应用程序代码中的什么地方(无论是谁)完成了这项工作吗?谷歌托管的GCM服务器会将消息发送到你的设备。要接收消息,您应该先向服务器注册设备,对吗?该服务器向GCM服务器发送一条消息,由GCM服务器依次发送到设备。GCM服务器代码归谷歌所有(谷歌的专有资料)。它不发送广播,而是知道特定设备以及它应该发送到的应用程序的包名(在您注册应用程序时,它知道包名)。然后设备将其作为广播发送到内部。我要求的是服务应用程序代码(在设备上运行的代码),而不是服务器代码本身。所以我感兴趣的是“设备在内部以广播的形式发送”的确切位置。