參考 iOS 自動訂閱開發(fā)
網(wǎng)上的文章很多,這里主要記錄在開發(fā)過程中遇到的問題,開發(fā)流程和內(nèi)購一樣,主要的區(qū)別在這
一、在APP啟動時候要增加偵聽:
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
二、交易完成之后的判斷
(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
for (SKPaymentTransaction *transaction in transactions)
{
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchasing: // 0
break;
case SKPaymentTransactionStatePurchased: // 1
//訂閱特殊處理
if(transaction.originalTransaction){
//如果是自動續(xù)費的訂單originalTransaction會有內(nèi)容
地方1
}else{
//普通購買,以及 第一次購買 自動訂閱, 去和后臺驗單
地方2
}
break;
case SKPaymentTransactionStateFailed: // 2
[self failTracker:transaction];
break;
case SKPaymentTransactionStateRestored: // 3
[self restoreTransaction:transaction];
break;
default:
break;
}
}
}
第一次購買會走我們的程序,續(xù)訂的話不再走我們的程序,直接是蘋果后臺和我們的后臺交互。
遇到的問題:
一、沒搞清楚什么是第一次訂閱
沙箱賬號1之前用過,沙箱賬號1測試的時候,購買完成后,一直會走地方1,也就是續(xù)訂,無論怎么操作都不會走地方2,原因是訂閱是跟appid有關(guān)的,appid不變,就會一直被認為續(xù)訂,而不是第一次訂閱。
所以多用幾個賬號測試。