2013-03-05 64 views
2

我期待构建将使用每年biases.My问题自动再生签约上的IOS应用程序,我们怎能当用户取消在IOS订阅通知,这样我们就可以取消该用户的第一特征取消后汽车可再生过程

+0

本质http://stackoverflow.com/questions/6302517/notification-of-cancellation-of的副本所有产品-auto更新换一个-应用程式购买 – Andrew 2013-03-06 09:18:56

+0

<7b0a0922 7369676e 61747572 6522203d 20224172 4a7a4f50 4a6f5750 61666f30 3168354d 38416150 55485173 384c655a 4b6d6a46 7a383256 704f556b 31534970 6b71784e 78707a39 4e4d6433 4f434271 676c6165 422f2b44 61736e77 43617638 6279466e 78753875 31556d59 57365032 ...... ..........>这是我的交易收据,我有这样的共享秘密42da2ab7bc64 .......... 0db4b5e然后我如何请求苹果服务器,请给出示例代码 – 2013-03-06 10:12:52

+0

我怎样才能得到苹果服务器的响应 – 2013-03-06 10:20:29

回答

1

第一件事。如果你的应用程序不是像杂志那样的期刊,那么你应该避开ARS(自动更新订阅)。 Apple可能会拒绝并坚持使用NRS(不续订订阅)。

这更多代码要比我几乎可以粘贴在这里,但请遵循苹果本指南Verifying In-App Purchase Receipts

基本上你会被把收据和JSON对象你的秘密,并把它发送到苹果公司。最好从你的服务器,而不是从应用程序做到这一点。 这里是Verifying Store Receipts Using PHP and cURL

JSON对象具有很好的指导会是这个样子:

{ 
"receipt-data" : "(receipt bytes here)", 
"password"  : "(shared secret bytes here)" 
} 

苹果将与具有信息,如到期日期另一个JSON对象作出回应。

+0

谢谢安德鲁,为我提供答复。在这里,我没有任何服务器,我将它保存在我的plist数据库中。特定产品ID的收据数据是否为常量或是否会发生更改 – 2013-03-06 10:38:47

+1

每次订购续订时都会生成一个与原始收据不同的新收据。因此,对于给定的产品ID,收据数据不是固定的。此外,如果您使用'restoreCompletedTransactions'将订阅扩展到用户的新设备,则会生成引用相同订阅时间段的新收据。它可能会变成令人眼花缭乱的收据。 – Andrew 2013-03-06 10:51:10

+0

其实我第一次订阅时,我收到了收据数据,收据数据在一年后存入plist,同一张收据将发送到苹果服务器。第二年同样收到的数据将发送到苹果服务器,否则将被改变 – 2013-03-06 11:12:01

2

抱歉,如果我重复的答复:

如果接收状态是21006,有一个名为cancellation_date键,那么它的取消,你可以找到在该密钥的新的到期日期,但它是一个格式化日期,如果你需要一个更好的价值来解析检查receipt['latest_expired_receipt_info']['cancellation_date_ms']相同expires_date

做一个人知道如何通知苹果没有发送验证请求?这将是合理的检查,只有当产品过期而不是查询每个时间,因为可能取消