我的应用提供应用内购买,以获取推送通知时的一些新闻提醒。推送通知应发送到与用于购买的相同Apple ID关联的所有设备。
目前,我想在“设置”屏幕上放置一个按钮,以恢复应用内购买,以检查该功能是否已在其他设备中购买。
有没有更好的方法来处理这项任务?如果是这样,任何提示/建议都将受到高度赞赏!
答案 0 :(得分:1)
恢复购买选项是正确的选择,如果用户删除并重新安装应用程序,可能应该存在。
答案 1 :(得分:0)
您应该使用restore purchase
功能:
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
它将恢复用户在该帐户上进行的所有购买,在同一ios设备上的天气或其他设备。
此外,作为附注,如果您实施In-app purchases
而不包含restore
功能,Apple将不会接受您的ios应用
答案 2 :(得分:0)
或者在iOS7中,使用SKReceiptRefreshRequest。
self.refreshRequest = [[SKReceiptRefreshRequest alloc] init];
self.refreshRequest.delegate = self;
[self.refreshRequest start];
另请注意,此简单的还原过程并不一定适用于所有类型的产品。例如,至少在iOS6上,restoreCompletedTransactions不会恢复不可更新的订阅。但是iOS7中的情况似乎更复杂(见Non-renewing Subscriptions: Removed From Receipt?)。