gpt4 book ai didi

iOS - 静默推送后我需要处理时间

转载 作者:行者123 更新时间:2023-11-29 12:11:34 26 4
gpt4 key购买 nike

我的应用程序利用推送通知在用户收到消息时提醒他们。由于我的服务器的性质以及加密,服务器不知道消息是什么,只有 iPhone 能够解密它。但是,我希望消息显示在通知中。所以我需要静默推送后的处理时间来下载和解密消息,然后使用本地通知告诉用户

但是,iOS 不允许对已终止的应用程序进行处理,只允许对前台应用程序或仍在应用程序切换器中的应用程序进行处理。我该如何解决这个问题?

我找到的一个解决方案是 PushKit。这似乎会重新启动应用程序,即使它们已被强制退出。但是,它只对 VoIP 应用程序执行此操作,我的应用程序不是 VoIP 应用程序,我认为如果我使用 PushKit,App Review 会拒绝它

最佳答案

和你描述的完全一样,没有什么要补充的。如果该应用程序被终止,除了 PushKit 之外,您无法处理静默推送通知,但如果您使用 PushKit,如果您的应用程序未实现 VoIP,则无法通过审核。

您最好的选择是发送带有通用文本的推送通知(例如“您有一条新消息”),而不是静默推送通知,这将作为应用程序被终止的情况的回退。如果应用程序未被终止,您可以丢弃/删除远程通知,下载和解密消息并显示包含实际消息的本地通知。如果应用程序被终止,将显示带有通用文本的远程通知,并且至少会通知用户有一条新消息。

将此行为添加到您应用的常见问题解答中,以鼓励用户不要终止该应用。无论如何都没有理由在 iOS 上执行此操作,因此如果用户终止了某个应用程序,他不应该指望它会按预期运行。

关于为此滥用 PushKit 的补充:如果您将某项功能/服务滥用于本不应用于的用途,您的应用可能会被拒绝。因此,如果您启用了 VoIP 后台模式,但您的应用程序不提供任何 VoIP 功能,这是很明显的。来自App Store Review Guidelines :

2.16 Multitasking Apps may only use background services for their intended purposes: VoIP, audio playback, location, task completion, local notifications, etc.

关于iOS - 静默推送后我需要处理时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33307082/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com