我正在尝试在我的应用程序中实现静默推送通知,当静默通知到来时,我需要更新服务器中的一些数据。我正在使用 Pushkit,它使用 VoIP 证书进行静默推送通知,但该应用程序已被 Apple 拒绝,说“我不能使用 VoIP”证书。似乎苹果拒绝了它,因为我的应用程序中没有任何 VoIP 调用功能。在这种情况下,我如何实现静默推送通知,以便即使我的应用程序没有运行(甚至在后台也没有)也能被激活并且我可以更新服务器?
根据我的经验,iOS 尊重用户的选择,因此如果用户杀死了应用程序,它将保持被杀死 - 没有静默推送通知会唤醒这个应用程序。 VoIP 是一个异常(exception),但正如您所写,它应该只在 VoIP 应用程序中使用。这是有道理的,将其视为平台限制:由于用户可以控制手机上实际运行的内容,因此设备消耗的电池更少,最后,前台/系统应用程序可以使用最多的 CPU 时间。
在后台处理数据的技术很少:
如果您需要 App 向服务器发送更新,我相信以上内容就足够了(除非您的 App 正在监视用户,否则一旦用户完成与 App 的交互,它应该拥有所有相关数据)。
如果您需要服务器向应用程序发送数据,请使用静默推送通知(或后台获取定期拉取),或者如果此数据对用户至关重要,您可以向他发送远程通知 - 如果用户认为这是一个重要的更新,他会打开应用程序。
关于iOS 静默推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51055693/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |