微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 如何测试Apple推送通知反馈服务?

我作为测试做的是:

>我做了示例应用程序,我启用了推送通知并实现了处理它们的机制.
>我正在测试使用curl向我的应用程序发送静音推送通知,这非常有效.我测试的是:

curl -v -d'{“aps”:{“content-available”:1}}’–cert“/Users/me/Desktop/mycert.pem”:“ – ” – H“apns-topic:com.domain .name“–http2 https://api.development.push.apple.com/3/device/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
>作为Apple的回答,我总是看到以下内容

< HTTP/2.0 200

< apns-id:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX

根据官方文档:https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/APNsProviderAPI.html的表6-4,这是正常的和预期的一样
>现在我从我的设备中删除该应用程序,然后我重试相同的请求,希望我将开始获取状态代码410和信息设备令牌不再对该主题有效.然而,这不会发生,我总是得到200状态代码,就像一切都很好,并且推送令牌仍然可用.

删除后1 – 1.5小时,我仍然得到200作为答案.

您是否知道Apple刷新推送令牌列表的频率以及何时可以最终开始获得410?而且 – 在生产环境之外测试应用程序时,410状态(以及一般的即时反馈)是否可测试?

提前感谢任何答案.

干杯

解决方法

好的,从我发现的情况来看,Apple的即时反馈服务似乎运行得很好,能够快速检测卸载.如何使用沙盒服务正确测试这些东西有一个小技巧.

如果您制作的应用程序在您的设备上进行本地测试,并且您的应用程序是手机中安装的唯一一个应用程序配置文件(供应商),则会遇到我在问题中遇到的问题.出于某种原因,即使您卸载了应用程序(这是从配置文件中安装的手机上唯一的应用程序),Apple总是以200响应.

要做的是:安装您正在测试的应用程序后,使用另一个软件包ID创建一个新的虚拟应用程序,但也来自您的配置文件,在其中启用推送通知并将其安装在您的设备上.所以现在,你有两个应用程序 – 一个是你正在开发和测试即时反馈服务,另一个是有点“僵尸”应用程序,它只是坐在那里,什么都不做.

在此之后,卸载您的测试应用程序,尝试发送静推送通知,Apple将按预期响应状态代码410.

虚拟的方式,但由于某种原因,这是测试时应该如何.生产中的行为应该符合预期,并且不需要在iOS设备上安装来自同一供应商的虚拟(或任何其他)应用程序.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐