介绍 Xcode 中 StoreKit 测试

发表于 4年以前  | 总阅读数:988 次

本文并非是教读者如何创建 IAP 档位,如何调用 StoreKit 相关 API,应付苹果审核,而是着重于介绍苹果在这次的 WWDC2020 中对于以往 IAP 相关开发与测试中的痛点,做出了哪些改进。食用本文的读者应该拥有一定的 IAP 开发经验。并站在在笔者自己的角度,对这些改进作出基于笔者自身经验的评价,例如对于个人开发者或者是大公司开发者有多大的价值等。

  • Sandbox 环境终于可以享受跟正式环境一样的手动取消自动订阅,不用新建沙盒测试账号就能重新体验首购优惠,退款,升降级等操作了。

  • 开发者福音,苹果爸爸还是爱我们的,这个真的是极大节约了开发自动续费时的开发以及测试成本。

  • 苹果做了一个 StoreKitTest 的库,方便自动化测试。

  • 象征意义大于现实意义,在本人的工作经历下,深感自动化测试在目前国内的推进还是十分困难的。测试开发基本都是应用于接口测试。

  • 现在在本地测试的时候,可以本地自建一个沙盒购买环境(StoreKit configuration)

  • 对于个人独立开发者来说,有客户端校验订单的小型 APP,能节省相当一部分的成本;

  • 对大型 App 开发者来说,需要一定的适配成本,大公司的订单都是放在服务器校验的,且都是专职人员负责维护一个 SDK,需要外部团队配套的改动(服务器的验证)还是有一定工作量的。

本地沙盒购买环境

回顾之前的 IAP 开发体验

  1. 登陆 AppStore Connect,新建 APP
  2. 创建对应的 IAP 档位,看苹果服务器心情,大致在 2 小时之后就能在沙盒环境中访问到对应 ProductId 的商品
  3. 创建沙盒账号
  4. 如果苹果沙盒服务器给面子,一切顺利的话,可以开始测试。笔者是经常遇到沙盒环境的登陆不上去,以及根本连不上沙盒环境,希望苹果的沙盒可以更稳定一点 ...
  5. 带 APP 版本 提审 IAP 档位,期待苹果审核爸爸不要给 2.1 大礼包 或者 3.1.2 相关拒审,并且在 包过审并且档位过审 后放出版本。笔者在两家公司都遇到过 App 过审但是内购 IAP 没有过的情况:)

现在的改进

可以本地创建一个 StoreKit Configuration File, 这样可以在本地直接控制沙盒环境,新建商品,包括首开优惠,自动续费控制下次扣款,取消订阅,控制家长监控购买(Ask to Buy)等等,功能还是十分完善的,可以说是 AppStore Connect 有的,StoreKit Configuration File 基本都能满足你。(除了没有非续期订阅这种类型)

操作步骤

  1. 创建模版文件,完成之后选中新创建的空文件

2. 创建对应类型的商品,点击左下角的 + 号就能出现三个选项。

这里的三种 IAP 类型在下面贴上新版 AppStore Connect 的介绍,应该足够对应了。当前缺少非续期订阅的类型,苹果没有说为什么只缺了这一种,可能觉得没啥必要吧 ...

3. 消耗型项目的创建
  • ProductId 由于目前 AppStore Connect 的特性,每创建一个都是唯一的,哪怕你删掉了,都是不能再用的,所以就算创建错了,也不要删掉。不过本地的 StoreKit Configuration File并没有这个限制。并且推荐使用语义化的创建方式,建议不要用纯数字或者随机生成的 ID,不然可读性不是很好。
  • 目前苹果似乎还没出各个国家不同的定价,输入的 Price 单位都是美刀(不过这个在开发的时候确实不重要),只要确保最后在 AppStore Connect 上创建的都是对的就行了。创建错了也没事,可以改,提审前建议多人交叉检查一遍,因为如果审核通过之后的改价很麻烦 ... 麻烦到我推荐你直接新创建一个再审一次 ...

在非消耗型项目的选项里还有一个 Family Sharing 的选项,一笔带过了。

4. 自动续期订阅型项目的创建
  • 需要创建一个 GroupId,这个跟在 AppStore Connect 上是一致的,因为同一个 Group 内的商品是可以升降级的。关于升降级 等操作就不在这里展开了。简单来说就是有三个等级,1-2-3,是下图的 1,可以通过拖动右侧的 2 按钮来调整,我的截图是全都是 1,这样处理起来逻辑简单一点:)

  • 首开优惠 (Introductory Offer) 的类型很全,AppStore Connect 有什么,它就有什么,感受到了苹果爸爸的温暖。图中我是选了一个免费试用 7 天的首开优惠,这个优惠比较常见。
  • 促销优惠(Promotional Offers)的功能也很完善,虽然我没有用过。

5. 应用 StoreKit 文件

在 Edit Scheme 中切换到 Options Tab,再在 StoreKit Configuration 中选中你创建的 StoreKit 文件即可。

6. 本地管理订单状态

可以删除历史订单,删除首开优惠,可以退款等操作。还是十分方便的。

  • 退款操作,在选中了某一笔订单之后,直接点击退款按钮即可实现。注意这里苹果给了一个新的 API 去响应。

  • Ask to Buy,在选中 .storekit 文件之后,Editor 中就会出现选项,开启即可。然后购买之后就会展示 Ask to Buy 弹窗,订单状态是 Pending to Approval,可以在 Xcode 中进行操作,允许或者不允许。

下图的 2 是 approve 按钮,3 是 deny 按钮。

  • Other 功能,包括缩短时间(Time Rate,自动续费很舒服),允许被中断的购买(Enable Interruted Purchases)等,都可以满足特定的自测需求。

本地的订单校验

这里需要注意的是,订单的校验方式会有所不同。虽然走的是苹果的非对称加密,但是是另一张证书,所以验证订单的时候需要使用 PKCS7_NOCHAIN 这个参数去标明。如果不在本地验证,则需要 对应的服务器逻辑也进行响应更改

同时,.cer 文件也是可以导出的。导出方式也在 Editor-Save Public Certificate

沙盒环境的改进

沙盒账号终于有管理页面了 你知道这几年没有管理页面我是怎么过来的吗:)

放一张我们之前申请的沙盒账号,都已经创建到 300 了,都是因为要测各种首开优惠:

在 iOS14 的设备上,设置 - App Store - 翻到最下面登陆沙盒账号之后,单击沙盒账号,再点击 Manage 就可以进入管理页面啦!

管理页面提供了多项功能

  1. 切换购买项目,可以测试同一个 Group 内的升降级
  2. 重制享受过的首开优惠,可以同一个沙盒账号反复测试首开优惠,而不用新开账号
  3. 取消订阅 在以前,这些都是做不到的,可以说是极大程度方便了 QA 跟 RD 的验证。

AppStore Connect 上设置沙盒账号的 Interuptted Purchase

在 User & Access 中,Edit 开启选项即可。

另外一些期待的改进

  • 沙盒的环境希望能够更稳定一点,不要出现等很久结果登陆不上去。这个真的很影响开发体验。
  • 当前还是有一些 Case 只能由 RD 同学在本地进行验证(需要在 Xcode 里进行操作),没有办法使用打包机打出来的包进行试验。希望能开源一些工具包,能够在本地建一个小服务器,指定打出来的包的 IAP 走本地创建的服务器,反正现在 .cer 证书也能导出了,对于苹果来说应该是很简单就能搞定的事情,这样 QA 同学也可以自由验证所有 Case。

本文由哈喽比特于4年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/m2twCCn5G4o0cTeWUKDn_w

 相关推荐

刘强东夫妇:“移民美国”传言被驳斥

京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。

发布于:1年以前  |  808次阅读  |  详细内容 »

博主曝三大运营商,将集体采购百万台华为Mate60系列

日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。

发布于:1年以前  |  770次阅读  |  详细内容 »

ASML CEO警告:出口管制不是可行做法,不要“逼迫中国大陆创新”

据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。

发布于:1年以前  |  756次阅读  |  详细内容 »

抖音中长视频App青桃更名抖音精选,字节再发力对抗B站

今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。

发布于:1年以前  |  648次阅读  |  详细内容 »

威马CDO:中国每百户家庭仅17户有车

日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。

发布于:1年以前  |  589次阅读  |  详细内容 »

研究发现维生素 C 等抗氧化剂会刺激癌症生长和转移

近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。

发布于:1年以前  |  449次阅读  |  详细内容 »

苹果据称正引入3D打印技术,用以生产智能手表的钢质底盘

据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。

发布于:1年以前  |  446次阅读  |  详细内容 »

千万级抖音网红秀才账号被封禁

9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...

发布于:1年以前  |  445次阅读  |  详细内容 »

亚马逊股东起诉公司和贝索斯,称其在购买卫星发射服务时忽视了 SpaceX

9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。

发布于:1年以前  |  444次阅读  |  详细内容 »

苹果上线AppsbyApple网站,以推广自家应用程序

据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。

发布于:1年以前  |  442次阅读  |  详细内容 »

特斯拉美国降价引发投资者不满:“这是短期麻醉剂”

特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。

发布于:1年以前  |  441次阅读  |  详细内容 »

光刻机巨头阿斯麦:拿到许可,继续对华出口

据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。

发布于:1年以前  |  437次阅读  |  详细内容 »

马斯克与库克首次隔空合作:为苹果提供卫星服务

近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。

发布于:1年以前  |  430次阅读  |  详细内容 »

𝕏(推特)调整隐私政策,可拿用户发布的信息训练 AI 模型

据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。

发布于:1年以前  |  428次阅读  |  详细内容 »

荣耀CEO谈华为手机回归:替老同事们高兴,对行业也是好事

9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI操控无人机能力超越人类冠军

《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI生成的蘑菇科普书存在可致命错误

近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。

发布于:1年以前  |  420次阅读  |  详细内容 »

社交媒体平台𝕏计划收集用户生物识别数据与工作教育经历

社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”

发布于:1年以前  |  411次阅读  |  详细内容 »

国产扫地机器人热销欧洲,国产割草机器人抢占欧洲草坪

2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。

发布于:1年以前  |  406次阅读  |  详细内容 »

罗永浩吐槽iPhone15和14不会有区别,除了序列号变了

罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。

发布于:1年以前  |  398次阅读  |  详细内容 »
 相关文章
Android插件化方案 5年以前  |  237231次阅读
vscode超好用的代码书签插件Bookmarks 2年以前  |  8065次阅读
 目录