iOS内购小结

因公司APP的部分功能,需要走苹果内购,于是就在花费了点时间看看,总结一下;

1、根据创建的APPid在App Store Connect创建应用

此步骤就是创建一个应用程序,应该都会的。

2、配置APP内购项目

2.1 签署《付费应用程序协议》

设置协议税务和银行业务

1、添加银行和税务协议、联系人信息


添加银行账户

上图中

1. 你要添加银行名字
2. 银行所在国家
3. 人民币
4. CNAPS码:添加时候可以通过 输入银行英文名、地址、邮编去查找  点击对应的银行支行就可以了
5. 银行账号 持有人姓名不能是中文 可以拼音
6. 选择银行卡类型 对公账号 或者个人账号

2、税务


image.png

选择美国点完成,然后进去输入几个名字和日期就好了

2.2 在 App Store Connect 中配置 App 内购买项目

1、选择你需要添加内购的APP,然后点功能前往App内购买项目并点按“添加”按钮(+)

App内购买项目

2、根据需要选择消耗型或者非消耗型,然后创建


添加内购产品

3、根据提示添加参考名称、产品 ID 和本地化显示名称等
4、点按"存储"或"提交以供审核"

2.3APP内代码实现

1、导入头文件 #import <StoreKit/StoreKit.h>
2、从本地或者服务器获取想卖商品的ProductId

 NSArray *productIds = @[@"",@"","@"];

3、将ProductIds发送到苹果服务器,请求这些商品是否可卖

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
NSSet *productIdSet = [NSSet setWithArray:productIds];
SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdSet];
request.delegate = self;
[request start];

4、代理获取到数据,展示出来

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
    //获取到数据并按照价格排序
    self.products = [response.products sortedArrayWithOptions:NSSortConcurrent usingComparator:^NSComparisonResult(SKProduct *obj1, SKProduct *obj2) {
        return [obj1.price compare:obj2.price];
    }];
}

5、点击够买某个商品时候处理单个商品

// 取出模型数据
SKProduct *product = self.productsArray[indexPath.row];
   
// 1.创建票据
SKPayment *payment = [SKPayment paymentWithProduct:product];
   
// 2.将票据加到到交易队列中
[[SKPaymentQueue defaultQueue] addPayment:payment];

6、处理结果,根据支付结果做出相应处理

#pragma mark - 实现交易发生改变的回调方法
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
    {
        for (SKPaymentTransaction *transaction in transactions) {
            switch (transaction.transactionState) {
                case SKPaymentTransactionStatePurchasing:
                NSLog(@"正在购买商品");
                break;
                
                case SKPaymentTransactionStatePurchased:
                NSLog(@"购买成功");
                [queue finishTransaction:transaction];
                break;
                
                case SKPaymentTransactionStateFailed:
                NSLog(@"购买商品失败");
                [queue finishTransaction:transaction];
                break;
                
                case SKPaymentTransactionStateRestored:
                NSLog(@"恢复购买");
                [queue finishTransaction:transaction];
                break;
                
                case SKPaymentTransactionStateDeferred:
                NSLog(@"最终状态未决定");
                break;
                
                default:
                break;
            }
        }
    }

3、测试内购

3.1配置测试账号

添加沙箱测试

1.找到沙箱技术测试员添加一个测试用户


image.png
添加测试成员

然后点邀请就ok了

3.2测试账号使用

1、退出自己的Apple ID账号 设置 ––> iTunes Store和AppStore ––>Apple ID ––>注销
2、执行内购时候回弹出输入框,输入添加的账号密码就ok了

图下图


image.png

购买一个产品:

image.png
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.总说内购的内容 协议、税务和银行业务 信息填写 内购商品的添加 添加沙盒测试账号 内购代码的具体实现 内购的注...
    默默_David阅读 3,724评论 0 6
  • 最近一直忙于公司项目、今天抽空总结了一下关于上线审核的一些变动!和大家分享一下相互学习。 这两天发现苹果在审核指南...
    _VisitorsZsl阅读 1,076评论 0 1
  • 作者:张紫涵 五级阅读写作班 “张紫涵给你一颗糖!”金教练给了我一颗陈皮糖。我一口把它进嘴里,含着糖走进了足场。 ...
    小松鼠思维读写阅读 316评论 0 1
  • 小说目录 抑郁的日子 冬天来临。对此,我很是失落。这种失落与以往不一样,它夹杂着抑郁的情绪。我总期待有什么事情可以...
    八佰伴阅读 438评论 0 0
  • 这半年,我的每周六过的比工作日还规律,我早晨7点半起床,收拾完早早赶老公出去热车,不出三五分钟,准时8点,我们像迁...
    王鹿阅读 222评论 1 3