作者lucasbard (路卡斯)
看板MacDev
标题[问题] user买了内购却无法使用
时间Mon Nov 11 15:42:10 2019
大家好,我在我制作的APP里面有一个非消耗性的内购项目,购买後可开通某个功能。
https://apps.apple.com/app/id1471458198
沙箱测试和周遭朋友测试购买都没问题。
但陆续收到3个人,都告知一样的问题,「已经内购了,但功能无法开通」。
因为我有请他们去苹果的
https://reportaproblem.apple.com/ ,看是否有「番茄王」
内购项目的扣款,都说有,有人还截图给我,所以应该是确实有购买。
我埋了很多code,尝试抓取他们在哪一步骤卡住,再请他们mail给我。
结果是按下购买後,进入了 paymentQueue ,然後会跑到 failed
error 是 「无法连接iTunes Store」
然後在此状态下,点击restore的话,不会有任何反应。
会触发 paymentQueueRestoreCompletedTransactionsFinished 这个function .
不会触发 restoreCompletedTransactionsFailedWithError,所以也没有错误讯息。
奇妙的是,他们居然是买了之後就 failed ,先前却可以购买。
而我的code是写,如果paymentQueue 进入 purchased 就会永久的写入一个不可逆的已购
买的资料到 user default。
就是说之前购买成功,但是也没有进入 purchased 来写 user default,真是诡异啊。
请问有没有什麽意见呢?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.220.255.175 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1573458133.A.69D.html
1F:推 areyo: 订阅型的? 42.77.114.91 11/12 17:53
单次购买的非消耗型的,相对单纯,可以restore的那种
※ 编辑: lucasbard (123.0.59.64 台湾), 11/12/2019 23:04:07
2F:推 benjenq: 以前有遇过,少数帐号 restore 有问题, 42.75.210.31 11/23 17:28
3F:→ benjenq: 无解,只能怀疑该帐号 iTune Store 有问42.75.210.31 11/23 17:28
4F:→ benjenq: 题42.75.210.31 11/23 17:28
分享一下後续的处理,搞了老半天,觉得有两个可能的原因:
1. 观察者我是加在Upgrade页面上,但WWDC Apple有再三提及观察者一开始就要加 -> 但
这应该也不是病因,因为不是来不及交易就跳出该页面,而是Apple 有确实传回 failed
「无法连结ITunes store」,所以顶多应该是影响反应速度
2. 使用者疯狂按Upgrade和Restore按钮,程式上会「一直重来」,因为交易需要时间,
我看有时候成功需要长达约10秒,失败的话则很快,如果user一直猛按,就永远到达不了
-> 但因为现有的几个 user 都有确实到达 failed,所以应该也不是这个问题,不过这
样确实减少了尝试交易的次数,而且 Apple 自己的 sample code 也是这样写,如果加上
个防呆机制不知道会不会有什麽问题。
结果只加上把失败的原因Alert告知给user,就也没做什麽了。观察者要改写我能力上写
不出来。
然後我写信与几位购买後无法使用的user道歉,并且请他们去
https://reportaproblem.
apple.com/ 退费。
结果後来有一位跟我说他购买成功了,并且寄给我交易纪录,我看整个流程也没什麽不同
,所以看起来就只能老天保佑。
※ 编辑: lucasbard (123.0.59.64 台湾), 11/25/2019 07:30:59
5F:推 ethanhuang13: 经历许多挫折与伤害之後,要串 IAP1.171.103.72 12/15 20:16
6F:→ ethanhuang13: 我会去用 RevenueCat SDK 1.171.103.72 12/15 20:16
原来有这东西 感谢 有空来研究
※ 编辑: lucasbard (123.0.59.64 台湾), 12/26/2019 06:54:52