uer*_*ceg 4 push-notification apple-push-notifications ios
我作为测试做的是:
我做了示例应用程序,我启用了推送通知并实现了处理它们的机制.
我正在测试向我的应用程序发送静默推送通知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
根据Table 6-4官方文档的说法,这很好并且符合预期:https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/APNsProviderAPI.html
现在我从我的设备中删除该应用程序,然后我重试相同的请求,希望我将开始获取状态代码410和信息The device token is no longer active for the topic.然而,这种情况并没有发生,我总是得到200状态代码,就像一切都很好,推送令牌仍然可用.
删除后1 - 1.5小时,我仍然得到200答案.
您是否知道Apple刷新推送令牌列表的频率以及何时可以最终开始获取410?而且 - 在生产环境之外测试应用程序时,410状态(并且Instant Feedback通常)是可测试的吗?
提前感谢任何答案.
干杯
好吧,从我发现的情况来看,似乎Instant Feedback来自Apple的服务运行得很好并能够快速检测卸载.如何使用沙盒服务正确测试这些东西有一个小技巧.
如果您制作的应用程序在您的设备上进行本地测试,并且您的应用程序是手机中安装的唯一一个应用程序配置文件(供应商),则会遇到我在问题中遇到的问题.出于某种原因,即使您卸载了应用程序(这是从配置文件中安装的手机上唯一的应用程序),Apple总是以200响应.
需要做的是:安装您正在测试的应用程序后,使用另一个软件包ID创建一个新的虚拟应用程序,但也来自您的配置文件,在其中启用推送通知并将其安装在您的设备上.所以现在,你有两个应用程序 - 一个是你正在开发和测试Instant Feedback服务的,另一个是有点"僵尸"应用程序,它只是坐在那里,什么都不做.
在此之后,卸载您的测试应用程序,尝试发送静默推送通知,Apple将按status code 410预期响应.
虚拟的方式,但由于某种原因,这是测试时应该如何.生产中的行为应该符合预期,并且不需要在iOS设备上安装来自同一供应商的虚拟(或任何其他)应用程序.
| 归档时间: |
|
| 查看次数: |
1847 次 |
| 最近记录: |