我在围绕应用内购买,自动续订订阅和处理收据的几个理解问题上苦苦挣扎。我想在这里列出我的问题,并希望外面有人可以就这些主题提供一些答案或智能评论。我被卡住了。
1)什么是收据? 我的理解是收据只不过是与Apple成功交易的证据,如果你在当地超市买东西就得到了。从应用程序开发的角度来看,我会说,您必须保留收据 - 在购买成功时收到 - 在您的服务器和本地设备上。因为您想验证您是否购买了相关产品。这是对的吗?
2)必须存储什么?
究竟应该存储什么?我正在使用Appcelerator Titanium(最新版本)和iOS 10上的应用程序 - 这意味着我还在使用包装的Storekit-API“TiStorekit”,它提供了许多功能。假设我收到了收据,如何访问收据?有evt.receipt
(evt =传入事件)来获取收据信息,但是f.e.不是订阅到期,它不在那里。我也可以访问storekit.receiptProperties
,在那里我能够获得一个JSON指令列表 - 我认为 - 是事务。现在可以在此列表中找到条目,其中transactionIdentifier
与evt.receipt
中的条目相匹配 - 然后它似乎是正确的,我将我的信息放在一起。 但是这是正确的吗?
3)如何验证/验证收据? “TiStorekit”中有许多功能可以验证/验证您的收据。当我必须这样做并根据哪个收据?我为用户存储的那个应该是有效的,我必须用苹果验证它是否仍然有效?
4)ReceiptProperties
并收到evt
的回执
正如问题2中提到的那样,storekit.receiptProperties
可用的数据到底是什么?什么是事件中的收据(发送到transactionStateListener)?
对我来说,这个话题非常复杂。基本上有很多文档,其中大部分直接来自原生的Ojective-C / Swift示例,但有些时候也有助于理解你要做什么。从Titanium / Appcelerator的角度来看很困难,有一些来自其他人的示例或代码,我可以使用其中的一部分,但这个实现与应用程序本身密切相关,如果你现在不这样做,你就不应该这样做您正在处理的数据类型,基本上为什么。
这就是我希望在这里找到答案的原因。非常感谢提前。