【问题标题】:Apple auto-renewable subscription: validate renewal without app or deviceApple 自动续订订阅:无需应用程序或设备即可验证续订
【发布时间】:2015-11-13 10:28:00
【问题描述】:

我有一个应用程序内自动更新订阅的应用程序都配置好并且工作正常。我面临一个棘手的问题,我需要我的服务器知道更新,即使用户在更新后没有重新打开他的应用程序。

我实现应用内购买支持的方式是应用注册一个 SKPaymentTransactionObserver 并在进行新付款时被调用。然后该应用程序调用我的服务器,该服务器验证 Apple 的收据并延长用户的订阅期。

这意味着如果在一段时间结束时用户没有打开我的应用程序,我不知道订阅已延长,因为服务器永远不会使用新收据更新...

...但是当用户购买订阅时,它会为他和其他人启用功能。而且既然他已经付费了,他为其他人启用的功能应该可以工作。

我的服务器有没有办法 ping apple 并获取新的支付交易,以便我可以注册信息,用户应该打开还是没有打开应用程序?

【问题讨论】:

  • 如果您找到了一个优雅的解决方案,请回复。到目前为止,我正在尝试为我的应用程序做的是将收据保存在服务器上,并使用 cron 来验证每晚到期后 10 天内的收据。
  • 这是一个非常好的问题。我面临同样的问题。有人可以帮忙吗?
  • 您可以使用后台刷新,唤醒您的应用并将详细信息发送到服务器。

标签: ios in-app-purchase


【解决方案1】:

您应该使用来自 App Store 的服务器通知(或服务器到服务器的通知),他发送到服务器 - “用户订阅状态更改”。
https://developer.apple.com/documentation/storekit/in-app_purchase/enabling_status_update_notifications

以及有关处理订阅的更多信息
https://developer.apple.com/documentation/storekit/in-app_purchase/handling_subscriptions_billing

一些指南可以为您提供帮助
https://tech.busuu.com/how-we-implemented-apple-server-to-server-notifications-8ae63bcce4bb

【讨论】:

    猜你喜欢
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多