我们正在使用IOS和Android开发应用程序。GCM推送通知已为IOS启用,并且现在可以正常工作。两个平台的软件包名称将相同。
ios开发人员为我提供了SERVER API KEY和SENDER ID,以为Android设置gcm。在寻找步骤时,我遇到了https://developers.google.com/cloud-messaging/android/client。
我一直对自己说,内容中列出的步骤需要完成才能为Android设置GCM(如果我输入错了,请纠正我)。
“ Android应用程序需要先向GCM连接服务器注册,然后才能接收消息”
“客户端应用程序应存储一个布尔值,该布尔值指示是否已将注册令牌发送到服务器。” -我的后端团队告诉我,我不需要向他们发送任何内容,我只需要在应用程序中配置gcm即可,该应用程序将接收来自后端的消息。
因此,我的问题是我是否需要RegistrationIntentService和MyInstanceIDListenerService。另外,我是否必须在清单中定义我的InstanceIDListenerService?
我们的后端使用设备ID向设备发送推送通知,因此在我们发送设备ID时,它们不需要注册令牌即可发送给他们。因此,在这种情况下,我应该使用RegistrationIntentService和InstanceIDListenerService向GCM注册我的应用程序吗?如果是这样,则应用程序应保留其自身的注册令牌。需要此注册吗?
GCM支持三种类型的下游(服务器到客户端)消息传递:发送到特定设备(也称为“简单”或“目标”),发送到主题或发送到设备组。您的问题是:“我们的后端使用设备ID向设备发送推送通知”。尚不清楚什么是“设备ID”以及打算使用哪种消息传递类型。您的后端团队已告诉您,“您无需发送任何内容”。如果是这样,我不知道他们在哪里获得“设备ID”。
GCM提供的三种消息传递中的每一种都要求客户端设备向GCM注册并获得注册令牌。为了向特定设备发送消息,注册令牌实际上是“设备ID”。所以,是的,你需要实现类似的东西RegistrationIntentService
,并InstanceIDListenerService
在描述文件。
文档中有关需要将注册令牌发送到App Server的描述具有误导性。仅针对目标消息传递才需要。接收主题消息的文档指出:“请注意,对于主题消息,不需要将注册令牌发送到您的应用服务器;但是,如果您确实发送了注册令牌,则服务器可以验证令牌的有效性并获取有关的更多信息。创建它的应用程序。”
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句