新版iOS内购(IAP)完整流程

2024-09-06 11:18
文章标签 流程 ios 新版 完整 内购 iap

本文主要是介绍新版iOS内购(IAP)完整流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

新版iOS内购(IAP)完整流程

苹果内购是用来做什么的?能不能吃?

iOS内购(以下简称IAP)是你可以实现一个应用内购买各种物品的功能,最常见的就是游戏中购买的道具,比如钻石。 新版的iOS内购从申请、审核以及代码的书写都充满了恶意,下面来介绍一下IAP的基本流程和我们遇到的问题以及一些解决办法。

1.创建应用和IAP项目

首先进入苹果的iTunesConnection(https://itunesconnect.apple.com)(当然你需要一个开发者账号),登陆之后点击我的APP然后点击左上角的加号新建一个APP项目,然后填入一些信息,如下:

tip:其中最重要的是套装ID 他是AppID-BundleID的格式 这里需要提前为该App申请一个AppID以及Xcode工程对应的BundleID,只要是申请成功了就会在选择列表中显示出来,工程中的BundleID以及后面用到的AppID要与这里一致
并且,要实现内购功能,必须保证这个ID的In-App Purchase是开启状态


接下来在iTunesConnection中点击刚才创建好的APP,然后点击功能,添加一个App内购项目

这里我们需要的是消耗类项目(就是用了就没了的东东,比如金币,非消耗类的比如汽车的赛道,消耗类的项目应用较多)

* tip:这个产品ID在后面会用到,这是你这个内购项目的唯一标识符,其他的信息点击?会有说明,需要注意的是后面的审核备注中要求写测试账户的用户名和密码,下面会着重说这个沙盒测试账户*

2.沙盒测试账户

点击iTunesConnection中的用户和职能,点进去之后点击沙箱技术测试员(我习惯叫沙盒)


我这边已经创建好了我的测试账户,如果没有点加号创建一个,然后要去邮箱验证一下,按照提示验证通过后就可以了
那么这个测试账号用来做什么的呢?等下测试的时候要登录这个账户来“购买”,这样你就不会真的花钱了,是不是很爽,咳咳。

3.提交审核

个人认为这才是最坑的地方,反正要用好久才审核过,比较麻烦的是这个


协议,税务和银行业务的这个东东,这里要申请一个iOS Paid Application(付费应用合同),需要填一些信息以及银行信息之类的,具体也不是我填的,我这里找到一个博客,相对比较详细
http://blog.csdn.net/wang_we/article/details/44303295
填完这个东东之后,才可以构建新的版本,提交一个含有内购版本的APP(貌似还需要提交二进制文件之类的,反正我不是很懂),等待不知道多久后,如果没问题我们的内购项目会显示一个“需要开发人员操作”的状态,这就很high了,证明我们这个productID可以用来测试啦,啦啦啦。

4.开始写代码

接下来终于能写代码了,有点high,建一个工程,BundleID和之前申请的一致,接下来介绍一下核心的代码:

1.首先引入苹果自带的StoreKit框架,遵循两个协议SKPaymentTransactionObserver, SKProductsRequestDelegate 然后点击购买按钮事件方法中,添加如下方法 其中_currentProId 是我们之前申请的内购项目的产品ID,然后向苹果服务器发送request
- (IBAction)buyAction:(id)sender {//单例支付队列 添加观察者[[SKPaymentQueue defaultQueue] addTransactionObserver:self];//创建的内购的productIDif ([SKPaymentQueue canMakePayments]) { // 判断用户是否允许内购[self requestProductData:_currentProId];} else {NSLog(@"-------用户禁止应用内付费购买------"); // 可以跳到设置界面提醒用户开启

这篇关于新版iOS内购(IAP)完整流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1141856

相关文章

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

SpringBoot集成LiteFlow工作流引擎的完整指南

《SpringBoot集成LiteFlow工作流引擎的完整指南》LiteFlow作为一款国产轻量级规则引擎/流程引擎,以其零学习成本、高可扩展性和极致性能成为微服务架构下的理想选择,本文将详细讲解Sp... 目录一、LiteFlow核心优势二、SpringBoot集成实战三、高级特性应用1. 异步并行执行2

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

java对接海康摄像头的完整步骤记录

《java对接海康摄像头的完整步骤记录》在Java中调用海康威视摄像头通常需要使用海康威视提供的SDK,下面这篇文章主要给大家介绍了关于java对接海康摄像头的完整步骤,文中通过代码介绍的非常详细,需... 目录一、开发环境准备二、实现Java调用设备接口(一)加载动态链接库(二)结构体、接口重定义1.类型

SpringBoot3中使用虚拟线程的完整步骤

《SpringBoot3中使用虚拟线程的完整步骤》在SpringBoot3中使用Java21+的虚拟线程(VirtualThreads)可以显著提升I/O密集型应用的并发能力,这篇文章为大家介绍了详细... 目录1. 环境准备2. 配置虚拟线程方式一:全局启用虚拟线程(Tomcat/Jetty)方式二:异步