ios自动订阅开发

参考 iOS 自动订阅开发
网上的文章很多,这里主要记录在开发过程中遇到的问题,开发流程和内购一样,主要的区别在这

一、在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){
                      //如果是自动续费的订单originalTransaction会有内容 
                     地方1
                 }else{
                      //普通购买,以及 第一次购买 自动订阅, 去和后台验单
                     地方2
                 }
                break;
            case SKPaymentTransactionStateFailed: // 2
                [self failTracker:transaction];
                break;
            case SKPaymentTransactionStateRestored: // 3
                [self restoreTransaction:transaction];
                
                break;
            default:

                break;
        }
    }
}

第一次购买会走我们的程序,续订的话不再走我们的程序,直接是苹果后台和我们的后台交互。

遇到的问题:

一、没搞清楚什么是第一次订阅

沙箱账号1之前用过,沙箱账号1测试的时候,购买完成后,一直会走地方1,也就是续订,无论怎么操作都不会走地方2,原因是订阅是跟appid有关的,appid不变,就会一直被认为续订,而不是第一次订阅。
所以多用几个账号测试。

你可能感兴趣的:(ios自动订阅开发)