1, 做内购订阅,苹果要求,匿名购买
与服务端交流,为了保持业务逻辑。采用游客匿名账户。
游客匿名账户与正常账户的区别是,
游客匿名账户,可以正常搞 IAP,不挡着苹果挣钱。
游客匿名账户,要做其他个人中心的操作,就叫他去登录,即成为正常账户。
这边的策略是这样的,
启动就给他,注册一个游客匿名账户。
如果他这时候,没登录,就用游客匿名账户操作。
如果他登录了,就用正常账户。游客匿名的,放一边。他退出了,就拿着游客匿名账户,接着给用户用。
2. 匿名购买了,苹果要求,恢复购买
这个苹果账号购买了,点击恢复购买按钮,他的当前账号,就相当于购买了。
原本的逻辑: 下单,苹果支付,完成交易,用户拿到服务
要新加的逻辑: 苹果恢复,相当于完成交易,用户拿到服务
试了下切换账户,觉得安全方面,是苹果帮我们保证的
所谓购买:支付,就是一个约定
这么处理:
这个是跟着苹果的账户走的,我们拿不到的。
我们能做的是,StoreKit 恢复交易,拿到一个很大票据字符串,交给后端。
后端去苹果服务器,拉该用户的交易流水。
后端拿着流水,跟这边的商品对照,把用户的交易,还原出来。
iQIYI 的长这样 ( 应用内 )
苹果原文:
Guideline 3.1.1 - Business - Payments - In-App Purchase
We found that your app offers in-app purchases that can be restored
but does not include a "Restore Purchases" feature to allow users to restore the previously purchased in-app purchases,
as specified in the "Restoring Purchase Products" section of the
[In-App Purchase Programming Guide](https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction.html):
"Users restore transactions to maintain access to content they've already purchased. For example, when they upgrade to a new phone, they don't lose all of the items they purchased on the old phone.
Include some mechanism in your app to let the user restore their purchases, such as a Restore Purchases button."
**Next Steps**
To