內(nèi)購(gòu)和廣告

內(nèi)購(gòu)和廣告

1. 什么是內(nèi)購(gòu)?

    內(nèi)購(gòu)就是指,在APP內(nèi)購(gòu)買某些產(chǎn)品
        如果你在App中銷售的商品,跟App有關(guān)(例如植物大戰(zhàn)僵尸中的道具,需要開啟關(guān)卡,擁有某種技能等等).那么,蘋果規(guī)定,必須通過內(nèi)購(gòu)方式購(gòu)買.
    內(nèi)購(gòu)分成: 3 : 7

2. 為什么做內(nèi)購(gòu)?

    1. 開發(fā)者創(chuàng)收的一種模式: free + 內(nèi)購(gòu)
    2. 某些業(yè)務(wù)必須使用內(nèi)購(gòu)

3. 內(nèi)購(gòu)的產(chǎn)品類型?

  1. 非消耗品(Nonconsumable)

     買了就一直有,不會(huì)消耗,例如開啟關(guān)卡
     一般指的是在游戲中一次性購(gòu)買并擁有永久訪問權(quán)的物品或服務(wù)。非消耗品物品可以被用戶再次下載,并且能夠在用戶的所有設(shè)備上使用
    
  2. 消耗品(Consumable)

     買了就用,用了就沒
     專為支持可消耗的物品或服務(wù)設(shè)計(jì)的,消耗品購(gòu)買不可被再次下載,根據(jù)其特點(diǎn),消耗品不能在用戶的設(shè)備之間跨設(shè)備使用,除非自定義服務(wù)在用戶的賬號(hào)之間共享這些信息
    
  3. 其他類型

     > 以下三種類別在iBooks中使用,目前iBooks不支持大陸市場(chǎng)
         免費(fèi)訂閱(Free subscriptions)
         自動(dòng)續(xù)費(fèi)訂閱(Auto-renewing subscriptions)
         非自動(dòng)續(xù)費(fèi)訂閱(Nonrenewing subscriptions)
    
  4. 內(nèi)購(gòu)的流程
    類似于商場(chǎng)購(gòu)物流程, 參照下圖

    內(nèi)購(gòu)流程圖.png

  1. 內(nèi)購(gòu)實(shí)例

     1. 在App管理中心,創(chuàng)建一個(gè)App,并填寫App信息
         注意: 此處創(chuàng)建的App時(shí),填寫套裝ID,時(shí),必須選擇可以內(nèi)購(gòu)的套裝ID
    
     2. 創(chuàng)建內(nèi)購(gòu)商品,并添加到App,指定此App,可以銷售哪些商品
         注意: 創(chuàng)建內(nèi)購(gòu)商品的前提,是你已經(jīng)填寫了稅務(wù)/銀行信息,否則的話,無法創(chuàng)建
    
     3. 添加用于測(cè)試內(nèi)購(gòu)的測(cè)試賬號(hào)
    
     4. 創(chuàng)建App項(xiàng)目,開始開發(fā)
    
     5. 代碼實(shí)現(xiàn)內(nèi)購(gòu)流程
    
         (1) 從APP服務(wù)器請(qǐng)求數(shù)據(jù)列表, 并行蘋果服務(wù)器請(qǐng)求可以銷售的商品列表
    
        [XXXDataTool getGoodsWithResult:^(NSArray *goods) {
            NSArray *ids = [goods valueForKeyPath:@"goodID"];
            // 請(qǐng)求哪些商品可以賣
            NSSet *idSet = [NSSet setWithArray:ids];
            SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:idSet];
            request.delegate = self;
            [request start];
        }];
    
     (2) 在代理方法中獲取并顯示可銷售列表
    
    
        - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
        {
            self.products = response.products;
        }
    

    (3) 用戶購(gòu)買商品, 并監(jiān)聽商品交易狀態(tài)

        // 取出商品
        SKProduct *product = self.products[indexPath.row];
    
        // 購(gòu)買商品
        SKPayment *payMent = [SKPayment paymentWithProduct:product];
    
        // 把憑證加入到隊(duì)列, 等待用戶付款
        [[SKPaymentQueue defaultQueue] addPayment:payMent];
    
        // 設(shè)置監(jiān)聽者, 監(jiān)聽整個(gè)交易狀態(tài)
        [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
    

    (4) 實(shí)現(xiàn)監(jiān)聽交易狀態(tài)方法

        // 交易狀態(tài)發(fā)生變化時(shí)調(diào)用
        - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray<SKPaymentTransaction *> *)transactions
        {
    
        [transactions enumerateObjectsUsingBlock:^(SKPaymentTransaction * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop)
        {
    
            //  SKPayment *payment , 小票 , 包含商品
            //  SKPaymentTransactionState transactionState 交易狀態(tài)
        switch (obj.transactionState) {
            case  SKPaymentTransactionStatePurchasing:
                NSLog(@"正在付款");
            break;
    
            case  SKPaymentTransactionStatePurchased:
                {
                    NSLog(@"付款結(jié)束");
                    [queue finishTransaction:obj];
                    break;
                }
            case  SKPaymentTransactionStateFailed:
                {
                    NSLog(@"交易失敗");
                    [queue finishTransaction:obj];
                    break;
                }
            case  SKPaymentTransactionStateRestored:
                NSLog(@"恢復(fù)購(gòu)買");
                break;
            case SKPaymentTransactionStateDeferred:
                NSLog(@"推遲付款");
                break;
    
            default:
                break;
        }
       }];
     }
    


<!--**具體步驟, 請(qǐng)參照步驟截圖詳解**-->

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容