背景

大部分App都包含内购项,苹果审阅的时分,如果购买的产品是虚拟,只允许走In-App Purchase ,也就是收30%的手续费,比方购买游戏里面的钻石算是虚拟钱银。

开发人员在创立好一个产品,并且开发完内购相关编码后,咱们都需求先进行沙箱测验,俗称Sandbox环境。只有验证经过后,咱们才干提交苹果审阅。因而,测验内购环节是提交审阅,上架产品前的有必要操作。

In-App Purchases 内购流程

IAP大致流程包含以下几个环节:

  1. 承受Apple相关协议,并在Itunes-Connect中装备App购买项(每个产品项都有必要相关一个App,并且只能用于该App)

  2. 在 Xcode 中启用 App 内购买项目 的 能力,并开发 App内购相关代码

  3. 测验App内购买项目,并提交Apple审阅

  4. 在App Store上发布

这几个环节中,有几个关键词(App购买项相关一个App测验App内购买项目),咱们别离讲解一下

App内购项

一种大幅提升iOS In-App Purchases 内购测试效率的方法

上图是咱们在Itunes-Connect后台装备一个内购项的相关信息,其间,咱们要生成一个产品ID,这个ID是由字母、数字组成的,并且在整个App后台是仅有的。

苹果规定,内购产品的定价,只能去他们供给的价格等级去选择,同点击一切价格和钱银,可以查看苹果供给了哪些定价等级, 这个等级规定了具体的价格,以及商家到手的价格,同一个价格等级会对应各个国家的钱银,也就是说,内购产品的价格是依据appid地点的低于钱银进行结算的。

App

每一个App都会有一个独立的Bundle Identifier与之对应。就像身份证一样,标志着这个App在AppleStore的仅有标识。咱们经过查看当前设备的装置App。

一种大幅提升iOS In-App Purchases 内购测试效率的方法

App内购项相关App

咱们以一个事例,假设咱们现在需求申请三个内购项,别离是3币、5币、10币,然后别离对应了公司内的三个App接入,别离为YY、追完、交友。 从上面可以知道,咱们每个App都会有一个与之相关的Bundle Identifer.如下图所示

一种大幅提升iOS In-App Purchases 内购测试效率的方法

因而,关于都是3币,咱们要申请三个内购项,别离对应这三个App,5币、10币的与之相似

一种大幅提升iOS In-App Purchases 内购测试效率的方法

从图上咱们可以看出,关于3币,在同一公司内部的多个App,后台都是下发相同的钱银体系,但是因为Apple要求内购项仅有且有必要一个产品ID对应一个App的Bundle Identifer,所以咱们需求这样对应

测验App内购买项目

TF测验

苹果引荐咱们运用TF包进行内购项的测验,咱们先来看看出包流程:

第 1 步:构建出包

第 2 步:登录 iTunes Connect

第 3 步:上传构建版别

第 4 步:邀请内部和外部测验员

第 5 步:测验员经过下载TestFlight来装置TF包

这样测验的效率比较繁琐,修正一个Bug要从头走上面流程出包

  1. 打包:打包流程费事,流程繁琐

  2. 上传:网络欠好 导致上传失败

  3. 测验:一些公司对TF包的测验账号、设备及TF包都有严格的管控

  4. 修正:如果有问题修正Bug,要从头提交代码、构建、走流程。

企业包测验

咱们一般在开发阶段,都不会用正式的Bundle-Identifer来进行开发和测验,一般都会注册一个小组的Bundle-Identifer。比方笔者地点的公司,在dev阶段,咱们一般是运用一个 com.enterprise.*的ID去开发。

这个企业包显然是不能进行测验的。咱们知道为什么吗?

咱们再来经过上面阶段进行分析下,一个内购项的申请有必要相关一个App,而这个App是仅有的BundleIdentifer, 咱们的企业包尽管同名,但是BundleIdentifer不一样,所以在向苹果获取产品列表的时分,是获取不到的。

一种大幅提升iOS In-App Purchases 内购测试效率的方法

企业包重签名计划支撑内购测验

咱们运用了一个重签名的计划,将 yy.enterprise.yyvoice的包 重签名为 yy.yyvoice, 让日常开发的包也可以快速的支撑内购,这样不需求专门去打包TF包,也可以很快的让正在开发的恣意包支撑内购。

一种大幅提升iOS In-App Purchases 内购测试效率的方法

重签名东西支撑恣意App,需求可以找笔者索要哈,或许留言,咱们发给咱们

收益比照

  1. 时刻效益

一种大幅提升iOS In-App Purchases 内购测试效率的方法

  1. 其他收益

一种大幅提升iOS In-App Purchases 内购测试效率的方法

结语

希望可以把一些工作的开发心得分析咱们,如果咱们可以得到一些启发就非常的高兴。笔者会陆续再发一些开发的心得和咱们分享。欢迎咱们也在谈论区积极探讨还有什么其他计划。

咱们也可以看下咱们近段时刻发布的一个移动端动效播放器的解决计划,帮读者 ⭐⭐⭐⭐一下

动画库地址:github.com/yylive/yyev… ,希望咱们可以跳转该github和作者交流,顺便点个

感谢咱们的支撑 ⭐⭐⭐⭐⭐