在混合应用中,可以使用谷歌的云消息传递服务(Google's Cloud Messaging)来推送iOS设备吗?

7
我计划使用PhoneGap构建一个“混合应用程序”,需要具备iOS推送通知引擎。我想使用Google Cloud Messaging向iOS发送推送通知(我已经用它向Android发送过通知)。我的问题如下:
  1. 在混合应用程序中(使用PhoneGap的https://github.com/phonegap-build/PushPlugin),我可以使用Google Cloud Messaging来为iOS发送推送通知吗?
  2. 在使用上述插件时,我需要进行哪些更改?
我以前使用过上述的PhoneGap插件分别从GCM和APNS接收通知,但这次我想同时使用GCM向iOS和Android发送通知。任何帮助都将不胜感激。
1个回答

2

我也曾经分别使用GCM和APNS将推送通知独立地发送到Android和iOS设备。

根据我所读的所有文档,GCM用于iOS设备是APNS服务的一种方法,但使用了与GCM用于Android设备相同的结构。 我认为,如果您已经使用过APNService,则已经发现了所有困难的步骤(证书,某些事情必须严格使用Mac等),因此回答您的问题:

  1. 是的,您可以使用Phonegap插件的GCM用于iOS,因为GCM服务器发送数据,而PhoneGap的插件已准备好接收该数据(正如您在GCM服务器参考中所看到的,有一些数据特定于APNS(如果您使用过APNS,则不会陌生))。

如果您正在为iOS准备本机应用程序,则应查看GCM iOS客户端文档,因为您将需要使用iOS API,但这不是您的问题。

我不认为您在使用PhoneGap插件时需要进行更改。您只需要使用PhoneGap的iOs设备实现并准备接收推送通知(但如果您遇到问题,请告诉我,我很乐意帮助解决)。 祝你好运!

谢谢您的回答。但在开始从GCM接收数据之前,我需要在GCM上注册我的设备(即使在iOS上运行我的应用程序时也是如此)。我尝试通过在iOS设备上显式设置“发送者ID”来实现,但我仍然得到APNS的“regID”,而不是“GCM”的令牌。当使用上述PhoneGap插件时,您有克服这个问题的建议吗?我仍在研究中,但认为您可能有一些建议让我测试一下。 - Sandeep Patel
你是否有可能向APNS URL发送请求而不是GCM URL?这是我首先想到的事情。 - eloibm
是的,正如您所知道的那样,我们正在使用的PhoneGap插件在内部处理此操作,并根据设备类型调用相应的URL(APNS或GCM)。从我得到的令牌的外观来看,我非常确定它在iOS设备上使用的是APNS URL而不是GCM。并且我检查了一下发现我可以成功地通过APNS发送推送通知。 - Sandeep Patel
1
嗨,Sandeep,你的问题解决了吗?我也在尝试构建一个支持iOS和Android推送通知的PhoneGap应用程序,只能通过GCM(两者都可以)。我找不到适合PhoneGap GCM的正确插件及其相应的config.xml条目。我能够成功地使用PhoneGap PushNotification PGP插件为Android使用GCM,为iOS使用APN,但我希望只有一个界面作为GCM。如果您的问题已解决,请指导一下您在config.xml中使用的插件是哪个。 - adang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接