苹果内购的坑

iOS开发创建App内购买项目发现元数据丢失 创建内购项目的时候,第一个项目由于没有提交截图,出现了元数据丢失问题,后来两个项目添加了截图还是出现元数据丢失问题 阅读详情
AI摘要

本文分享了作者在实现苹果内购功能过程中的经验教训,包括如何正确设置内购项目、避免审核被拒的原因及解决办法,并提供了针对苹果审核政策的具体应对策略。

虽为转载,但就刚好是自己在爬的坑,特别感谢原作者!点击打开链接

最近做的一款项目用到了苹果内购,此前并没有做过相关功能,所以我当时的心情是拒绝的(内购那么多坑,吓死宝宝了),毕竟涉及到支付,涉及到钱还是要很慎重对待的。

于是,我在网上这一通搜索,查看别人的笔记,好在广大程序员们还是很有共享精神的(此处应有掌声,非常感谢),有的只记录了一些关键点,有些记录的非常全面,从填写内购协议到代码,以及过程中遇到的一些坑都图文并茂的写下来了,给大家提供下链接,拿走不谢:

www.jianshu.com/p/ecc4f53a83c8  

blog.youkuaiyun.com/u014220518/article/details/55253275

www.jianshu.com/p/86ac7d3b593a

根据这些教程终于磕磕绊绊的写完内购,提交审核的时候发现没有能选择APP内购买项目的地方,根据教程第一次提交包含内购的APP时要将所有内购买项目一起提交审核,审核过后再添加新的内购买项目就可以单独审核了。然后我就想是不是我的内购买项目创建的不对,我的内购买项目创建时有一些描述文字没填,保存后显示元数据丢失,百度一搜有人说数据填全了就好了,我就把每个内购买项目能填的地方都填了,保存后显示等待审核,这样APP提交审核的时候就可以选择内购买项目了。



第一次提交审核,过了两天,被打回来了,还附带几张截图,原因“我的钱包”充值页面不能包含任何解释内购的文字,比如跟用户解释为什么充值要使用内购,比如苹果公司对内购的一些规定,不能提现这些内容,修改后再次提交。

第二次打回来,说是找不到内购的地方,找不到APP需要用到后台播放音频的功能。我就将找到内购的详细流程回复给他们,还录了一段使用音频播放功能的视频。还说打我的电话打不通,让我提供另一个联系方式(提交审核的时候光写手机号会报错,手机号前面必须加上+86才行,但是加上+86后手机号就打不通了,这个有点坑),最后回复邮件的时候我写了两个手机号,一个加上+86的,一个不加的。


写上就不报错

不写+86报错

过了大概几个小时,苹果那边给我打电话,让我协助她审核我的APP,我教她一步步找到登陆的地方,然后充值,购买音频,播放。

整个流程都跑通了,她说充值页面不需要再多一个“确定支付”的按钮,用户选择了某一个内购项目,就代表他确定要买了。

我点头,好,我一会就改。

然后又问我为什么限时免费的音频和内购一定要登录才可以使用。

我说要登录了我们才能知道是谁充值了,该给谁的账户充钱呀,至于限时免费的音频我们需要统计播放人数以及其他的一些行为。

她就跟我强调既然是免费的,就得允许用户不登陆就可以享受到,还有内购也必须可以不登陆购买,将购买信息保存在本地就行。

我说万一用户换手机了,充值数据都在原来手机上,他在新手机上不就不能用这些钱了么?

她说你怎么知道用户会换手机,万一不换呢?

我俩又讨论了一阵,最后她说咱们现在讨论这个没有意义,我也不是要告诉你为什么要这样,而是跟你说我们有这个规定,用户必须不登陆就可以使用内购,你可以诱导用户登录后再购买,但不可以强制用户去登陆(好霸气,我竟无言以对,谁让我没好好看苹果规定呢)。

后来我们把充值功能改成购买会员,然后特意查看了其他的一些购买会员的APP,他们都有游客购买的方式,购买会员后就可以拥有会员的所有权限,不过游客不能发表评论点赞这些操作,当用户登录后会提示用户"当前设备已开通VIP,是否与此账号绑定?",用户点击绑定就可以将保存在本地的购买信息跟实际账户绑定。

第三次提交又被打回来,说是不支持IPV6,获取不到信息(此时我的心中真是一万个xxx奔腾而过啊,上次电话沟通的时候我明明一步步教她登陆,购买成功了,我还从电话里听到她播放我们音频的声音了,明明是没问题的啊,这是闹哪样)。没办法,我撤回审核,又打包提交了一次,万幸,审核过了。

所以啊,有时候因为IPV6被拒,不一定就是我们不支持,有可能是审核那边的网抽疯了,多提交几次就好了。

总结

1、创建内购买项目时,如果有某些地方没填,保存后会显示“元数据丢失”,这种状态的内购买项目是无法提交审核的,需要把内购买项目的每一个可填的地方都填写清楚,都填写完保存后会显示“准备提交审核”

2、充值或者有内购的地方不允许有苹果内购相关规定的提示语

3、内购项目必须点击即可购买,无需点之后再确认购买

4、内购买项目不允许强制用户登录注册后再购买,可以用游客身份购买

5、所有免费的东西都要允许用户在未登录状态下播放观看

6、游客身份解决方案:

1)服务器端做一个苹果审核机制,审核期间游客身份可以进行一切行为,一旦审核通过,修改服务端即可达到强制用户登录进行内购买的目的(这个有点。。。)

2)游客可以进行内购买,购买时以设备UUID为准,生成一个游客账号,将购买信息保存在服务器和本地,当用户登录正式账户后判断此设备是否进行过内购,有的话提示用户将游客身份购买的权益与现有账号绑定,如果绑定,游客权益则迁移到正式账户,如果不迁移,则游客身份和正是账户是两个独立账户,正式账户不享有游客身份的权益(我用的这个)

iOS IAP支付常见问题汇总与解决 1. 获取不到商品信息的原因 沙盒的测试账号和你请求商品信息没有关系 iTunes Connect 里面对应账号的“协议、税务和银行业务”信息有没有填完整,填好的应该是这个样子(这个很容易疏忽,务必检查) 确认证书是否添加IAP支付功能(默认创建的证书是包含该项的) 确定是真机测试且手机没有越狱(大部分越狱手机也可以测试,深度越狱破坏系统的可能无法调起支付) 确定内购商品添加到了需要内购功能... 阅读详情

相关推荐

(1) 苹果内购的坑 - 掉单

苹果内购问题 在iOS开发中,支付方式可以用微信、支付宝、银联啥的,但是购买虚拟物品比如游戏中的金币、视频会员等等,苹果规定必须用内购,好了嘛,那就用啊,可是过程中会遇到好多坑。。。 当然我遇到的坑已经添上了,希望这文章可以帮你避开那些坑。 掉单问题最为严重 大家都知道,微信和支付宝支付是比较完善的,当用户支付成功后,他们会给服务器一个支付结果回调,这样就算客户端有什么意外没拿到结果,服...

不吃鱼的小懒喵 4801

关于内购的那些坑

最近做的一款项目用到了苹果内购,此前并没有做过相关功能,所以我当时的心情是拒绝的(内购那么多坑,吓死宝宝了),毕竟涉及到支付,涉及到钱还是要很慎重对待的。 于是,我在网上这一通搜索,查看别人的笔记,好在广大程序员们还是很有共享精神的(此处应有掌声,非常感谢),有的只记录了一些关键点,有些记录的非常全面,从填写内购协议到代码,以及过程中遇到的一些坑都图文并茂的写下来了,给大家提供下链接,拿

乔兰伊雪的专栏 8972

Flutter 接入iOS苹果内购支付踩坑过程

如何配置内购商品 坑1:项目与价格配置 苹果内购支付和我们平时接入支付宝或者微信支付有很大的差别。 苹果内购支付的价格只能选择,不能直接设置。如图: 第一次配置好一个项目后,需要重新提一个版本后才能生效的。所以,第一次只能通过沙盒测试了。 配置好项目后需要 ...

sugoods的博客 6434

元数据丢失问题及解决方案(iOS支付,内购,订阅)

摘要:文章系统分析了苹果开发者平台AppStoreConnect中内购商品元数据缺失的问题。针对一次性内购和订阅商品两种类型,详细说明了商品创建时容易忽略的关键环节:一次性内购需完整填写6项信息(特别是审核截屏),订阅商品还需额外补充群组的本地化语言。文章指出元数据缺失会导致商品不可用或被审核拒绝,并提供自查清单:确认商品状态、审核截图、本地化信息、销售范围及审核备注是否完整。最后提示后续将探讨订阅商品的自动续期和价格变更策略。全文旨在帮助开发者规避元数据缺失问题,提高审核通过率。

weixin_39339407的博客 2761

【爬坑总结】产品提交苹果审核之:苹果IAP内购规则

做产品的童鞋都知道,应用想要通过appstore审核,并且顺利上线到市场,是需要规避很多苹果不允许的事情。比如图片应用在提交的时候,不允许出现色情、政治等相关的不符合规定的图片,所以需要在提交的时候删除这些图片或者隐藏;再比如,UGC类的产品在提交的时候,必须有一个“举报”的功能,如果没有肯定会被拒。 例子有很多,今天说一下关于支付的一个例子。 IAP内购规则 一款有经济系统运转

u012371575的博客 7796

关于苹果内购(IAP)的一些问题以及那些坑

IAP,无法连接到iTunes store ,RMStore,SKErrorUnknown,Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: text/html"

天下皆白唯我独黑的博客 5万+

ItunesConnect:苹果内购项目元数据缺失

问题描述:   添加内购的App审核时被拒,原因为:ios内购 元数据丢失 问题原因:   审核信息里的 “审核屏幕快照” 和 “备注”要填写,不然就失败的。 示例图: 1.屏幕快照和审核备注都需要填写 2.App内购项目状态会有“缺少元数据” 到 “待提交状态” 3.提交审核时,记得在App内购买项目中勾选(☑️)相关内购项目 转载于:https://...

weixin_34327761的博客 4384

Swift苹果内购支付工具:从StoreKit 2到服务端验票避坑指南

在iOS应用开发中,内购支付(IAP)是连接功能与商业价值的核心环节,其稳定性和安全性直接决定用户信任与收益转化。Swift开发者接入苹果内购时,往往从熟悉StoreKit框架开始,但真正交付可用的支付模块还需要理解交易生命周期、订阅权益恢复以及服务端票据验证等关键机制。本文从概念出发,梳理StoreKit 2与旧版API的选型取舍,讲解商品配置、购买流程、Transaction监听等实现细节,并深入探讨为什么客户端自验不可靠、如何对接verifyReceipt及App Store Server API。结

weixin_34110970的博客 239

苹果内购 IAP内购 遇到的坑

首先明确 苹果商店IAP与苹果支付ApplePay不是一回事。 怎么开启App的IAP功能,就不赘述了,网上一大堆。 我现在这个开发已经接近尾声,但是,开发过程中对这个模块越来越熟悉,也就发现越来越多的问题。最头疼的就是在商品类型为non-renewable subscription(非自动更新订阅)类型时in_app[] 里面返回的记录太多,而类型为consumable (消耗型)的时 in_app[]里的记录可以做到只有一条,但都是没有App内的对应关系。 比方场景如下 1、A设备上的App..

CSUCFL的专栏 1141

Swift苹果内购支付工具:StoreKit 2选型、服务端校验与避坑指南

苹果内购(IAP)是iOS应用实现数字商品付费的标准方式,完整链路涉及客户端购买、凭证交付与服务端最终校验。StoreKit 2作为新一代Swift原生产品接口,以异步购买和Transaction.currentEntitlements替代了StoreKit 1的回调式状态管理,交易结果附带JWS签名数据,天然适合服务端验签。基于App Store Server API可按transactionId查询权威交易状态,避免掉单与退款漏处理;配合沙盒测试和Transaction.updates监听,能显著提升支

weixin_29014939的博客 144

CCF201803-2 碰撞的小球 python

一些话:已经不知道是第几次做这道题了(大概第三次吧),真的常做常新,每次都有新的细节想法。虽然方法简单粗暴,但好在方便理解,对于我这种菜鸟选手而言。 但在做的过程中,最开始还忽略了输入的小球初始位置有可能是无序的,输出的时候要保持相对位置。CCF真的考验细节,希望上考场时能够认真仔细一点。就酱… #碰撞的小球 #当小球坐标为0或L时,会朝相反方向移动 #当两个小球坐标相等时,会分别转向相反的方向 #计算t秒之后小球的位置 n,L,t = map(int,input().split()) location .

tanya_dre的博客 349

苹果内购遇到的坑

1、在第一次提交内购版本构建的时候,在原来构建版本完之后,下面会出来构建支付项目,那个也要构建,不然会不通过 2、苹果的账单是这个月出上个月的,下个月才打款,不超过150美元不打款 3、在测试的时候要把手机上所有的苹果账号退出,包括appstore,不然会失败 4、修改银行卡的时候获取CNAPS CODE,直接上网查就好了,苹果的太坑了,我用的这个http://www.tui78.com/b

wxjiphone的博客 840

别再瞎调参数了!分子动力学模拟新手必看的力场选择与验证实战指南

本文为分子动力学模拟新手提供力场选择与验证的实战指南,详细解析主流力场特性及适用场景,并通过水分子案例演示完整的验证流程。文章重点对比SPC/E、TIP3P和OPLS-AA三种力场在GROMACS中的表现,帮助读者避免常见参数调整误区,提升模拟准确性。

weixin_26934905的博客 425

php苹果内购的代码分享,以及当中遇到的一些坑

先来简单介绍一下何为苹果内购好了,闲话不多说直接开始给大家上代码以下是php服务端验证支付凭证的代码 众所周知,苹果的支付流程大致如下 1.在苹果商店添加商品(并且审核通过), 2.用户购买商品—》提交接口到服务端(服务端创建订单)——》返回数据(苹果内购产品的id) 3.app获取到苹果内购的id,提交产品到苹果商店(一般情况下苹果商店会和支付宝绑定) 4.苹果商店返回支付凭证——》提交到服务端...

qq_35730500的博客 1946

Logisim实战:手把手教你设计硬布线版MIPS CPU(多周期/8指令/附电路图)

本文是一份详细的Logisim实战指南,手把手教你设计一个采用硬布线控制的多周期MIPS CPU。文章深入剖析了硬布线控制与微程序控制的核心理念差异,并逐步讲解了从定义执行状态、构建状态跳转逻辑到生成控制信号、集成测试的完整流程,最终实现一个支持8条指令、可运行简单程序的处理器模型。

g9h0i1的博客 592

用矿卡P104-100在PVE 8.0.4上跑Ollama:保姆级显卡直通与驱动安装避坑指南

本文详细介绍了如何在PVE 8.0.4环境下通过显卡直通技术,利用矿卡P104-100高效部署本地大模型Ollama的全流程。从硬件配置、BIOS设置到驱动安装和性能调优,提供了保姆级的避坑指南和实战解决方案,特别针对矿卡无显示输出的特殊性进行了优化。

weixin_33228769的博客 746

iOS 苹果内购遇到的那些坑

持续更新中ing

JWheat的博客 2054

XGBoost特征重要性为0的问题:深度解析与应对策略

在机器学习领域,XGBoost(Extreme Gradient Boosting)作为一款高效且强大的集成学习算法,已经被广泛应用于各类预测任务中。然而,在实际应用过程中,许多数据科学家和工程师们遇到了一个令人困惑的现象——某些特征的重要性值为0。这不仅影响了模型的解释性,还可能导致特征选择过程中的误判。本文将深入探讨这一问题,分析其背后的原因,并提供相应的解决方案。在深入探讨特征重要性为0的问题之前,我们首先需要了解XGBoost是如何计算特征重要性的。XGBoost提供了三种常见的特征重要性计算方法:

cda2024的博客 1704

ios 苹果内购踩过的坑

在前面的博客里面已经做了内购代码的说明,现在说说具体的内购流程1,移动端将产品列表(可以存在本地,也可以从自己的服务器取)添加到appstore 2,appstore会返回一个产品信息列表 (这中间的时间可能比较长) 3,我们选中的产品和返回的列表数据比对,有相同的就添加到购买对列里面开始购买 4,购买成功后返回一个购买票据,拿着这个票据去请求appstore验证其正确性,同时也拿着这个票据请

haha_hello的博客 2942

基于STM32与SimpleFOC实现直流无刷电机开环控制的实战指南

本文提供了一份基于STM32微控制器与SimpleFOC开源库实现直流无刷电机开环控制的详细实战指南。内容涵盖硬件连接、PlatformIO环境搭建、核心代码解析及上电测试,旨在帮助开发者快速验证硬件并理解开环控制的基本原理,为后续实现高性能的闭环FOC控制奠定基础。

xxx12的博客 959

超详细 | 贝叶斯网络基础——有图有真相

Hello,大家好,我是starz。这是本系列的第二篇《概率基础Ⅱ》,虽说是概率基础,但作为过渡,它开始以图为载体 这节的主要内容有: 贝叶斯网络 三种结构 D-划分 贝叶斯球 马尔科夫毯 应用例子 总结 让我们开始吧 :3 贝叶斯网络 概率图模型可笼统分为两类,一是基于无向图的马尔科夫网络: 二是基于有向图的贝叶斯...

qq_41603411的博客 2万+

【iOS内购支付,无需插件】Uniapp拉起苹果内购支付注意事项、实现步骤以及踩过的坑(手把手教程)

苹果内购支付,通过uniapp结合vue2进行实现

菜菜的博客 1万+

Win11系统下Abaqus2022与VS2022+oneAPI2023环境配置全攻略(附VUMAT子程序避坑指南)

本文详细指导在Windows 11系统下,为Abaqus 2022配置Visual Studio 2022与Intel oneAPI 2023的Fortran编译环境,以支持VUMAT等用户子程序开发。内容涵盖软件安装顺序、环境变量关联、快捷方式修改及关键验证步骤,并提供了首个VUMAT子程序的实战编写与模型验证方法,帮助用户高效搭建稳定可靠的仿真开发平台。

pytorch8learner的博客 312

uniapp实现iOS支付苹果内购支付踩过的坑以及具体操作步骤

由于我们app会员属于虚拟产品,所以苹果商店要求我们必须选择苹果内购,否则就勒令下架。无奈,于是就又开始了踩坑之旅~uniapp可以直接使用uni-pay的插件去进行苹果内购。但是,在对接自己的项目之前,建议先跑通示例项目,能跑通示例项目,代表你的配置和证书一定是正确的,然后再将uni-pay集成到你自己的项目中,不然就像盲头苍蝇,不知道怎么做。

一粒程序米 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

上一篇: iOS 模糊效果实现
下一篇: iOS 字典的 addEntriesFromDictionary使用注意点
「已注销」
博客等级 码龄11年 10粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值