iOS Restore in App purchases with receipts

五迷三道 提交于 2019-11-29 09:39:57

问题


The following extract is from the Apple documents how to restore in App purchases in iOS 7. They say that you can store the receipts and find out later what they user already bought or you can refresh the App Receipt. My questions are:

1) Is there the one app receipt or are there many single receipt?

2) Does it make more sense to store these receipts instead of just storing directly which features the user has already bought

3) How can I examine the receipt that I get from that refresh? All my tries to parse it failed so far.

4) Is there any framework that has a lot of features (saving receipts / bought products on iCloud, making purchases easier, handling downloads, handling all kinds of connection problems, etc.) already? Maybe even with remote server support (and validation).

I hope somebody can help! :)


Refreshing the App Receipt

Create a receipt refresh request, set a delegate, and start the request. The request supports optional properties for obtaining receipts in various states during testing such as expired receipts—for details, see the values for the initWithReceiptProperties: method of SKReceiptRefreshRequest.

request = [[SKReceiptRefreshRequest alloc] init];
request.delegate = self;
[request start];

After the receipt is refreshed, examine it and deliver any products that were added.


回答1:


1) Is there the one app receipt or are there many single receipt?

There is a single app receipt. Before that, Apple provided receipts for each transaction. Those receipts still exist but are deprecated.

2) Does it make more sense to store these receipts instead of just storing directly which features the user has already bought

Not anymore (for iOS 7 apps).

3) How can I examine the receipt that I get from that refresh? All my tries to parse it failed so far.

This is a complex issue. I suggest reading this unapologetically long answer: https://stackoverflow.com/a/20039394/143378.

4) Is there any framework that has a lot of features (saving receipts / bought products on iCloud, making purchases easier, handling downloads, handling all kinds of connection problems, etc.) already? Maybe even with remote server support (and validation).

There are 3 that I'm aware of:

  • CargoBay
  • RMStore
  • MKStoreKit

To date, MKStoreKit appears abandoned and CargoBay doesn't support app receipts. CargoBay has features that RMStore hasn't, and viceversa. I'd check them both and see which one fits your requirements better.

In any case, I recommend reading the StoreKit documentation before using any libraries. The libraries provide code, not understanding.

Disclaimer: I developed RMStore.



来源:https://stackoverflow.com/questions/21566425/ios-restore-in-app-purchases-with-receipts

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!