我正在尝试在我的应用程序中实现无提示推送通知,当无提示通知到来时,我需要在服务器中更新一些数据。我使用的是Pushkit,它使用VoIP证书进行静默推送通知,但该应用已被Apple拒绝,并说“我不能使用VoIP”证书。苹果似乎拒绝了它,因为我的应用程序中没有任何VoIP通话功能。在那种情况下,如何实现静默推送通知,以便即使我的应用程序没有运行(即使不是在后台)也可以被激活,并且可以更新服务器?
答案 0 :(得分:2)
根据我的经验,iOS尊重用户的选择,因此,如果用户终止了该应用程序,它将保持终止状态-没有静默推送通知将唤醒此应用程序。 VoIP是个例外,但正如您所写,它只能在VoIP应用程序中使用。考虑到这是一个平台限制,这是有道理的:由于该用户可以控制手机上实际运行的内容,因此该设备消耗的电池更少,最后,前台/系统Apps拥有最多的CPU时间。
在后台处理数据的技术很少:
如果您需要App将更新发送到服务器,我相信以上内容就足够了(除非您的应用正在监视用户,一旦用户完成与App的交互,它就应该具有所有相关数据)。
如果您需要服务器将数据发送到App,请使用静默推送通知(或后台提取以进行定期提取),或者如果此数据对用户至关重要,则可以向他显示远程通知-如果用户认为重要的更新,他将打开该应用。