我跟着這個鏈接做應用程序購買(http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/comment-page-20/#comment-22550)。使用沙箱測試用戶(與美國領土)我可以成功購買產品。如果我再次按購買按鈕,需要恢復產品。我怎麼知道產品是否已經購買?我需要驗證自動續訂訂閱的收據。我能怎麼做?使用目標c。在應用程序購買恢復不起作用
0
A
回答
0
首先,實現一個定製的支付類符合協議SKPaymentTransactionObserver
。這個類可以用來接收支付信息:
.H:
#import <StoreKit/StoreKit.h>
@interface PaymentObserver : NSObject<SKPaymentTransactionObserver>
+ (instancetype)sharedInstance;
@end
.M:
@implementation PaymentObserver
+ (instancetype)sharedInstance{
static PaymentObserver * instance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [[PaymentObserver alloc] init];
});
return instance;
}
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray<SKPaymentTransaction *> *)transactions {
for (SKPaymentTransaction *transaction in transactions) {
switch (transaction.transactionState) {
// Call the appropriate custom method for the transaction state.
case SKPaymentTransactionStatePurchasing:
break;
case SKPaymentTransactionStateDeferred:
break;
case SKPaymentTransactionStateFailed:
break;
case SKPaymentTransactionStatePurchased:
break;
case SKPaymentTransactionStateRestored:
//Purchased product info goes here. Get more details in transaction object.
break;
default:
break;
}
}
}
然後,在AppDelegate
,使用上面的類來檢索支付信息:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//......
[[SKPaymentQueue defaultQueue] addTransactionObserver:[PaymentObserver sharedInstance]];
//......
}
PaymentObserver類將從AppStore獲取購買的產品信息。
主要程序是這樣的。有更多的細節你要處理它們。
+0
Thanks.it很有用。你可以給我完整的源代碼或任何參考鏈接? – Ishwarya
+0
我們只是爲了學習而創建了一個類,沒有太多實際的功能,並且從項目中分離時可能不會編譯源代碼文件。如果你仍然想要,請留下電子郵件。 –
相關問題
- 1. 恢復購買 - 在應用內購買
- 2. 在應用程序購買還有另一個 - 恢復購買
- 3. corona android在應用程序購買恢復不工作?
- 4. 應用內購買 - 恢復購買
- 5. 應用內購買恢復
- 6. 恢復用於在iOS應用程序中恢復不同賬戶的購買
- 7. 恢復購買的iOS應用程式內購買
- 8. 在應用程序購買不工作:項目不可購買
- 9. 在應用程序購買不工作
- 10. 在應用程序購買不工作
- 11. 恢復在應用程序在Android中購買
- 12. 實現在應用程序購買和它的恢復在iphone
- 13. 在應用程序內購買產品請求不起作用
- 14. iPhone/iPad應用程序在應用程序內購買的恢復功能
- 15. 在我的iOS應用程序中恢復應用程序購買方法
- 16. 即使在購買之前即可恢復應用內購買
- 17. 恢復已經在iPhone上購買了應用內購買嗎?
- 18. iOS - 在應用程序內購買 - 恢復按鈕?
- 19. 在一段時間後恢復應用程序內購買
- 20. 恢復在Windows 8商店的應用程序購買
- 21. 在應用程序內購買恢復按鈕
- 22. 在沒有購買的應用程序中恢復
- 23. StoreKit錯誤在應用程序內購買進行恢復時,
- 24. 在應用程序購買窗口中恢復電話
- 25. 安全問題與恢復在應用程序內購買
- 26. 在應用程序購買恢復功能
- 27. 使用InAppBillingPlugin恢復購買
- 28. 使用com.logicallabs.inappproducts恢復購買
- 29. iOS應用內購買不起作用
- 30. 應用內結算v3恢復購買
您是否在使用Non-Consumable In App購買? – Surjeet
不,我正在使用自動更新訂閱IAP – Ishwarya