美文网首页
蘋果內購小結

蘋果內購小結

作者: iOS阿能 | 来源:发表于2021-01-25 17:22 被阅读0次

記錄從配置到上架

1、App Store把協議部分填寫完成,包含報稅那些
2、證書配置對應,以及設置沙盒人員
3、創建內購產品(一定要搞完協議那些再創建,否則代碼無法使用,如果順序錯了的話,可以重新生成證書)
4、使用YQInAppPurchaseTool(github上面有)
5、代碼執行
6、內購成本,本地保存秘鑰,如果調用後端接口成功,標記為成功,否則下次啟動APP繼續調用後端的接口(防失敗案例)
先請求內購商品是否可用

- (void)pay{
    //-----------获取单例
    YQInAppPurchaseTool *IAPTool = [YQInAppPurchaseTool defaultTool];
    //-----------设置代理
    IAPTool.delegate = self;
    //向苹果询问哪些商品能够购买,測試階段是要多個,真正使用的時候只要傳一個商品就行了
    [IAPTool requestProductsWithProductArray:@[@"product2",@"test1",@"test2"]];
}

從已可用商品,進行購買

#pragma mark - YQInAppPurchaseToolDelegate

//-----------实现代理
//IAP工具已获得可购买的商品
-(void)IAPToolGotProducts:(NSMutableArray *)products {
    NSLog(@"GotProducts:%@",products);
    dispatch_async(dispatch_get_main_queue(), ^{
        if (products.count == 0) {
            [DFLoadingView hideTitle:@"沒有可購買的商品"];
            return;
        }
        SKProduct *product = products.firstObject;
        //请求购买商品
        [[YQInAppPurchaseTool defaultTool]buyProduct:product.productIdentifier];
        //请求恢复商品(永久性商品)(也可直接再次购买,系统会提示不用扣费)
//        [[YQInAppPurchaseTool defaultTool] restorePurchase];
    });
}
//支付失败/取消
-(void)IAPToolCanceldWithProductID:(NSString *)productID {
    NSLog(@"canceld:%@",productID);
}
//支付成功了,并开始向苹果服务器进行验证(若CheckAfterPay为NO,则不会经过此步骤)
-(void)IAPToolBeginCheckingdWithProductID:(NSString *)productID {
    NSLog(@"BeginChecking:%@",productID);
}
//商品被重复验证了
-(void)IAPToolCheckRedundantWithProductID:(NSString *)productID {
    NSLog(@"CheckRedundant:%@",productID);
}
//商品完全购买成功且验证成功了。(若CheckAfterPay为NO,则会在购买成功后直接触发此方法)
-(void)IAPToolBoughtProductSuccessedWithProductID:(NSString *)productID
                                            andInfo:(NSDictionary *)infoDic {
    NSLog(@"BoughtSuccessed:%@",productID);
    NSLog(@"successedInfo:%@",infoDic);
}
//商品购买成功了,但向苹果服务器验证失败了
//2种可能:
//1,设备越狱了,使用了插件,在虚假购买。
//2,验证的时候网络突然中断了。(一般极少出现,因为购买的时候是需要网络的)
-(void)IAPToolCheckFailedWithProductID:(NSString *)productID
                                 andInfo:(NSData *)infoData {
    NSLog(@"CheckFailed:%@",productID);
}
//恢复了已购买的商品(仅限永久有效商品)
-(void)IAPToolRestoredProductID:(NSString *)productID {
    NSLog(@"Restored:%@",productID);
}
//内购系统错误了
-(void)IAPToolSysWrong {
    NSLog(@"SysWrong");
}


#pragma mark - getter

- (DFPayTitleScrollView *)payTitleScrollView {
    if (!_payTitleScrollView) {
        _payTitleScrollView = [DFPayTitleScrollView payTitleScrollView];
    }
    return _payTitleScrollView;
}

相关文章

  • 蘋果內購小結

    記錄從配置到上架 1、App Store把協議部分填寫完成,包含報稅那些2、證書配置對應,以及設置沙盒人員3、創建...

  • “Wow”

    通常午休時間,我都會走一段路,從購物中心內部穿過,到附近的餐廳吃午餐 今天,我在購物中心內部經過一個有三級階梯的小...

  • 我的私人餐點

    亞當與夏娃嘗禁果(蘋果) 初嘗澀果就是青蘋果,成年人的就是紅蘋果。 2017.6月我在重慶機場,因吃不下飯就把西瓜...

  • 有因才有果

    所謂種瓜得瓜,種豆得豆,有因必有果,有果必有因,一件事物最終會帶來什麼結果就要追究他背後所存在的原因。我們要吃到蘋...

  • 怎么活

    對人用假話換來假的結果!比如您假的內容對待對方,那你自己也會得到同樣的結果。這個人不會用這個對你,下一個一定同樣方...

  • 我被智能設備「蠢哭了」

    我被智能設備「蠢哭了」,但我依然相信它的未來! 打著提高編程能力幌子購買的可編程sphero機器人,結果除了遛了幾...

  • 結果

    花開花謝會有時。 土地越是這樣慷慨,越是忍不住替人類各種無知無情的摧毀行為感到羞愧。 有時候覺得,好像是一些故事的開始。

  • 蘋果教?

    伦勃朗描述的上帝!

  • 蘋果樹

    親愛的蘋果樹: 你好嗎?還記得我嗎?好久不見你。 第一次見你是在十年前的夏天,我不經意間遇見了你,第一次為一株植物...

  • 2020.11.01Andy現金流輸出

    第13次玩 職業:經理 財富自由度:200% 結果能出圈 收獲: 1.學會階段性拋售: 運用MYT4U $1股購入...

网友评论

      本文标题:蘋果內購小結

      本文链接:https://www.haomeiwen.com/subject/dadizktx.html