来自钱包的虚假推送和未更改的传递错误

spurious push and unchanged pass error from wallet

在我的应用程序中,我遇到了很多这样的错误。

Error REST из apple wallet [2019-07-19 10:51:29 +0300] Web service error for myOwnPassTypeIdentifier (https://webServiceURL): Device received spurious push. Request for passesUpdatedSince '30657301263000' returned no serial numbers. (Device = ....)

还有

Error REST из apple wallet [2019-07-19 12:43:33 +0300] Web service error for myOwnPassTypeIdentifier (https://webServiceURL): Server ignored the 'if-modified-since' header (Fri, 19 Jul 2019 09:43:14 GMT) and returned the full unchanged pass data for serial number '2222000174317170'.

我怎样才能避免它们,热疗? )

为了防止该错误,我必须发送正确的日期作为 last modified 标签,并在 /passes/{passTypeIdentifier}/{serialNumber} 方法中使用准备好的 Pass 以及在 /devices/{deviceLibraryIdentifier}/registrations/{passTypeIdentifier} 中使用更正的 SerialNumbers

我从 DB 获得了正确的日期并将其推送到 Response。所以,任何修改,首先更新数据库,然后我发送推送到 APNs 并获得更新请求通过,我从上一个请求中获得 last modified,我将其与数据库中的实际日期进行比较。