在封闭的WiFi nework上发送推送通知到iOS/Android(没有互联网连接)

use*_*225 13 android voip push-notification apple-push-notifications ios

我想创建一个应用程序,用户可以在没有 GSM/3G或任何类型的小区接收的区域/场所使用.我们也只提供一个没有互联网上行链路的封闭式WiFi网络,因此它是一个局域网,设备(PC和智能手机)可以相互通信但不与外界通信(不要问为什么:)

将指示用户在到达会场之前下载该应用程序.

我的应用程序需要能够接收推送通知,但当然它无法访问Apple的APNS或Google云消息传递服务.然而,该应用程序使用IP注册到LAN上的中央服务器.(它在用户连接到WiFi网络时登录,并且我们拥有属于已注册手机的电话号码.)

现在我的问题是:有没有办法在触发事件时发送推送通知,并且应用程序需要在不使用或连接到Apple或Google的在线通知服务的情况下唤醒?例如,内部推送通知服务,可用于根据我们的服务器触发的事件向用户电话发送通知?
有什么建议?

更新:只是为了澄清,这是一个简单的VoiP应用程序连接到我们的SIP服务器,让用户互相调用,因此需要相当实时的两个连接调用.但显然你只能通过推送通知唤醒应用程序,因此需要互联网.

Com*_*are 5

例如,可以在我们的服务器触发的事件基础上用于向用户电话发送通知的本地推送通知服务?

对于Android,答案是“不是真的”。您的选择是:

  • 以某种消息队列的形式实现“推送”机制,在这种机制中,设备每隔一段时间轮询一次以查找消息,或者

  • 使用WakeLock和WifiLock来保持设备(和WiFi)持续通电,然后使用MQTT之类的消息作为推送消息

尽管第一个电池在耗电量方面更具可配置性,但它们中的任何一个对电池都是不利的(例如,如果您仅每小时检查一次消息,就不会太坏)。

GCM之所以能保持较低的功耗,是因为OS和芯片组内用于移动数据连接的特殊挂钩,从而使CPU可以断电,同时保持与推式服务器的开放套接字连接,该服务器将接收来自该服务器的传入数据包。唤醒设备。这不适用于WiFi。


Mar*_*kle 5

对于 iOS,答案是否定的。如果不使用 Apple 的 APNS 服务器,您就无法推送通知设备。您唯一的选择是通过 WiFi 在设备上以其他方式触发本地通知,尽管您仍需要保持设备唤醒才能接收这些通知,或者添加 VOIP 服务或其他兼容服务以允许连续的后台处理。

本地通知 iOS