菜鸟教程小白 发表于 2022-12-13 14:26:32

ios - 应用程序删除 - 推送通知失败时 APNS 对开发服务器的响应


                                            <p><p>我有一个从 APNS 接收通知的 iOS 应用。如果我的用户删除了该应用程序,则后端无法知道该应用程序未安装在某个设备(设备 token )上。在这种情况下,尝试通过 APNS 推送时会生成什么错误代码,以便我可以从数据库中删除条目?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>Apple 在 WWDC-2015 中引入并在 2016 年增强了一个 Provider(您的后端服务器)API,以便向服务器提供有关推送通知的更有值(value)的反馈。 <a href="http://asciiwwdc.com/2016/sessions/724" rel="noreferrer noopener nofollow">Here is a transcript to that WWDC session.</a> </p>

<p><strong>来自脚本:</strong>“如果设备 token 已被删除,您将收到状态为 410 或“已删除”的 HTTP/2 响应。
它将在有效负载中包含一个时间戳,指示 APNS 上次得知设备 token 已被删除的时间。”</p>

<p><strong>APNS 服务器响应代码</strong></p>

<ul>
<li>200 次成功</li>
<li>400 错误请求</li>
<li>403 证书或提供程序出错
身份验证 token 。</li>
<li>405 请求使用了错误的 :method 值。只有 POST 请求是
支持。</li>
<li>410 设备 token 对该主题不再有效。</li>
<li>413 通知负载过大。</li>
<li>429 服务器收到过多对同一设备 token 的请求。</li>
<li>500 内部服务器错误</li>
<li>503 服务器正在关闭且不可用。</li>
</ul>

<p><strong><em>现在我无法向您确认的是,如果 iOS 删除了设备 token ,如果应用被删除,或者通知设置在应用设置中关闭而不删除应用。</em></strong> <br/>
“410 确实意味着应用程序已卸载。如果用户在应用程序设置中禁用通知警报, token 将保持事件状态。即使没有向用户显示警报,设备仍会收到通知。服务器将不知道是否用户已关闭通知提醒。只有应用知道这一点。"<br/>
感谢 Marcus Adams 澄清了这个疑问。</p>

<p>这里是 <a href="https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html" rel="noreferrer noopener nofollow">Apple Developer Guide!!!</a> </p>

<p> <a href="http://www.moengage.com/uninstall-tracking/" rel="noreferrer noopener nofollow">If required, Here is a Paid SDK that can help you with uninstallation tracking.</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 应用程序删除 - 推送通知失败时 APNS 对开发服务器的响应,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/40868844/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/40868844/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 应用程序删除 - 推送通知失败时 APNS 对开发服务器的响应