菜鸟教程小白 发表于 2022-12-13 04:26:42

iOS 静默推送通知


                                            <p><p>我正在尝试在我的应用程序中实现静默推送通知,当静默通知到来时,我需要更新服务器中的一些数据。我正在使用 Pushkit,它使用 VoIP 证书进行静默推送通知,但该应用程序已被 Apple 拒绝,说“我不能使用 VoIP”证书。似乎苹果拒绝了它,因为我的应用程序中没有任何 VoIP 调用功能。在这种情况下,我如何实现静默推送通知,以便即使我的应用程序没有运行(甚至在后台也没有)也能被激活并且我可以更新服务器?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>根据我的经验,iOS 尊重用户的选择,因此如果用户杀死了应用程序,它将保持被杀死 - 没有静默推送通知会唤醒这个应用程序。 VoIP 是一个异常(exception),但正如您所写,它应该只在 VoIP 应用程序中使用。这是有道理的,将其视为平台限制:由于用户可以控制手机上实际运行的内容,因此设备消耗的电池更少,最后,前台/系统应用程序可以使用最多的 CPU 时间。</p>

<p>在后台处理数据的技术很少:</p>

<ol>
<li>内容可用推送通知:如果应用程序被挂起,将唤醒它,或者在它被系统杀死/崩溃的情况下启动它。请注意,这只会打开一个 30 秒的窗口,并且通知数量会受到 APNS 的限制。</li>
<li>后台获取功能将以类似的方式运行。 </li>
<li>完成现有任务的后台任务 - 但这仅在应用移至后台时使用。</li>
</ol>

<p>如果您需要 App 向服务器发送更新,我相信以上内容就足够了(除非您的 App 正在监视用户,否则一旦用户完成与 App 的交互,它应该拥有所有相关数据)。</p >

<p>如果您需要服务器向应用程序发送数据,请使用静默推送通知(或后台获取定期拉取),或者如果此数据对用户至关重要,您可以向他发送远程通知 - 如果用户认为这是一个重要的更新,他会打开应用程序。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iOS 静默推送通知,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/51055693/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/51055693/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS 静默推送通知