2016-07-31 96 views
0

我正在开发一个具有java后端的cordova应用程序。我想知道在Android/Ios(通知托盘)中显示推送通知是否必须使用GCM服务? 我在后端使用Apache Kafka,MQTT代理。使用完全自定义的解决方案,是否可以使用这些解决方案显示推送通知?是否强制使用GCM服务来显示推送通知?

使用MQTT &其他经纪人我能够发送实时数据给用户,但如何将这些消息显示为通知栏中的本地通知是我的问题。

+0

在旧手机上,您可以使用任何东西。在6.0+版本中,您可能遇到了打盹问题 - 手机会关闭所有网络,但如果屏幕关闭并且没有插入一段时间,那么这些应用会列入白名单,并且会打开一个小时左右的网络窗口。 GCM被列入白名单。 AN MQTT线程不会是 –

回答

0

是的,您需要使用GCM将推送通知发送到Android设备。您甚至可以使用GCM将推送通知发送到iOS设备(GCM向APNS发送请求(Apple推送通知服务)以使其工作)。

但是GCM for iOS并不值得信赖。

您可以使用任何后端向您的设备发送推送通知。您只需要向GCM/APNS发送请求。

这是用于推送通知的cordova plugin

与GCM集成非常容易,但它需要一点点的努力与APNS。

大多数人使用Pushwoosh等第三方付费服务来实现他们的推后端,因为它方便。有一个免费的替代OneSignal,但它跟踪您的使用情况。

按照此guide设置推送APNS。 (您可以使用本指南中的安装证书部分,因为您没有使用C#)

+0

此外,APNS要求您在防火墙上打开端口2195,以获得整个IP地址范围17.x.x.x 如果您拥有非常安全的生产服务器,则这可能会造成问题。 https://support.apple.com/zh-CN/HT203609 – Lakshay

+0

有趣的人使用第三方服务。几乎没有任何地方。 –

+0

@GabeSechan你一定要对:) – Lakshay