美文网首页
iOS内购小结

iOS内购小结

作者: HHLM | 来源:发表于2018-12-25 13:30 被阅读11次

因公司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

相关文章

  • iOS内购小结

    因公司APP的部分功能,需要走苹果内购,于是就在花费了点时间看看,总结一下; 1、根据创建的APPid在App S...

  • 苹果内购小结 - iOS

    此篇针对 iOS 支付进行一次小结,很久没碰这块了,有些方法 Apple 官方也进行了优化,故也将随之进行更新. ...

  • iOS 苹果内购流程

    本文参考: iOS开发之内购完全笔记 iOS开发内购全套图文教程 iOS应用程序内购/内付费(一) 代码...

  • iOS内购流程文档-Lion

    iOS内购流程: iOS内购 什么时候用到呢? 虚拟产品就需要用到iOS内购;购买的商品,是在本app中...

  • iOS-内购

    前言:关于iOS内购,参考两篇博文 iOS-iOS内购流程(手把手图文教程)iOS内购你看我就够了(埋坑篇) 我自...

  • iOS内购一条龙------项目代码 (4)

    步骤一 iOS内购一条龙------账户信息填写(1)步骤二 iOS内购一条龙------配置内购产品ID (2)...

  • iOS内购一条龙------内购测试账号 (3)

    步骤一 iOS内购一条龙------账户信息填写(1)步骤二 iOS内购一条龙------配置内购产品ID (2)...

  • iOS 内购 IAP

    1. iOS内购IAP(一) —— 基础配置篇(一)2. iOS内购IAP(二) —— 工程实践(一)3. iOS...

  • 应用内购(In-App Purchase)常见问题解答

    应用内购(In-App Purchase)常见问题解答iOS的应用内购买 iAP 坑 iOS内购你看我就够了(一)...

  • iOS内购从放弃到上架

    iOS内购方面的坑

网友评论

      本文标题:iOS内购小结

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