编辑:我注意到 StackExchange 以 Android 开头这个问题,但它同时适用于 iOS 和 Android。
我们有一个客户端 iOS/Android 应用程序,我们希望它在非常有限的互联网连接下运行(在偏远的澳大利亚)。但是,应用程序可以期望与其本地网络(不在网上)有很好的连接。
我一直在研究在本地服务器上发生事件时通过某种通知唤醒手机的方法。
根据我的研究:
- Web 推送并不好,因为即使是较新的基于 VAPID 的协议(protocol)仍然希望通过浏览器供应商的通知服务器路由一些数据。
- iOS Apple 通知基本上与 Web 推送有相同的要求。
- 定期轮询服务器/唤醒 Websockets 连接的后台任务可以工作,但最终可能会在轮询之间出现相当长的延迟。
- 短信是一种选择,因为尽管 3G 网络有限,但有时可以使用基本的电话连接。
是否有任何其他方法可以通过我未列出的服务器发送事件唤醒锁定的移动设备?考虑到具有 App Store 合规性的运营情况不一定是必需的。
干杯
最佳答案
经过大量研究后,答案(截至 2018 年初)是否定的,至少对于跨平台用例而言是这样。
iOS 要求可以唤醒设备的外部通知来自可识别的基于互联网的来源(APNS,将来可能是基于标准化 VAPID 的推送)、来自移动界面(如果可用)或来自设备本身受限于后台执行限制。
关于android - 在没有互联网的情况下唤醒锁定的手机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48978457/