什么是 Apple 服务器到服务器通知的重试策略
What is retry policy for Apple Server-to-Server Notifications
我正在实施管理 IOS 应用程序订阅的服务器端应用程序。
为了在后端控制帐户状态(订阅是否有效),我正在使用 Apple Server-to-Server Notifications
文档说:
Respond to Server-to-Server Notifications Your server should send an
HTTP status code to indicate whether the server-to-server notification
post succeeded:
Send HTTP 200 if the post was successful. Your server is not required
to return a data value.
Send HTTP 50x or 40x to have the App Store retry the notification if
the post was not successful. The App Store makes several attempts to
retry the notification over a period of time but eventually stops
after continued failed attempts.
但不清楚我这边出现服务器错误时苹果究竟遵循了哪种重试策略。
我正在寻找以下问题的答案
- 苹果会重试多少次?
- 重试间隔多久?
如您所说,Apple 并未在文档中提供明确的答案。但是,来自 Apple WWDC 2019 会议视频:https://developer.apple.com/videos/play/wwdc2019/302/?time=637
"However, should you not return a 200 response, we will retry up to
three times to resend the notification to you"
一些手动测试建议他们重试消息一小时。
Apple 将在 3 天内尝试重试 3 次。
参考:https://developer.apple.com/documentation/appstoreservernotifications/your_server
收到服务器通知后,如果 post 成功,则使用 HTTP 状态代码 200 响应 App Store。如果 post 不成功,请发送 HTTP 50x 或 40x 让 App Store 重试通知。
如果 App Store 服务器在初始通知尝试后没有收到来自您的服务器的 200 响应,它会重试 3 次。 App Store 在首次尝试后的 6、24 和 48 小时重试。虽然 App Store 服务器通知实时报告状态变化,但您始终可以启动收据验证以获取最新的收据。更多信息
我正在实施管理 IOS 应用程序订阅的服务器端应用程序。 为了在后端控制帐户状态(订阅是否有效),我正在使用 Apple Server-to-Server Notifications
文档说:
Respond to Server-to-Server Notifications Your server should send an HTTP status code to indicate whether the server-to-server notification post succeeded:
Send HTTP 200 if the post was successful. Your server is not required to return a data value.
Send HTTP 50x or 40x to have the App Store retry the notification if the post was not successful. The App Store makes several attempts to retry the notification over a period of time but eventually stops after continued failed attempts.
但不清楚我这边出现服务器错误时苹果究竟遵循了哪种重试策略。 我正在寻找以下问题的答案
- 苹果会重试多少次?
- 重试间隔多久?
如您所说,Apple 并未在文档中提供明确的答案。但是,来自 Apple WWDC 2019 会议视频:https://developer.apple.com/videos/play/wwdc2019/302/?time=637
"However, should you not return a 200 response, we will retry up to three times to resend the notification to you"
一些手动测试建议他们重试消息一小时。
Apple 将在 3 天内尝试重试 3 次。
参考:https://developer.apple.com/documentation/appstoreservernotifications/your_server
收到服务器通知后,如果 post 成功,则使用 HTTP 状态代码 200 响应 App Store。如果 post 不成功,请发送 HTTP 50x 或 40x 让 App Store 重试通知。
如果 App Store 服务器在初始通知尝试后没有收到来自您的服务器的 200 响应,它会重试 3 次。 App Store 在首次尝试后的 6、24 和 48 小时重试。虽然 App Store 服务器通知实时报告状态变化,但您始终可以启动收据验证以获取最新的收据。更多信息