苹果ios购买收据数据的最大长度是多少?

问题描述 投票:16回答:3

在开始测试iOS自动更新购买之前,我需要准备我的服务器数据库。我的问题很简单。我只想知道我应该在我的数据库中创建varchar字段的大小。

iphone database cocoa-touch ios4 in-app-purchase
3个回答
13
投票

我使用varchar(4096)来存储我的base64编码收据。

但说实话,我在官方文件(或其他任何地方)上找不到关于收据长度的任何内容。我唯一找到on Apple's docs的是收据内容/格式可能会有变化:

商店收据的内容和格式是私人的,可能会有变化。您的应用程序不应尝试直接解析收据数据。使用此处描述的机制验证收据并检索其中存储的信息。

所以可能去文本而不是varchar真的是最好的选择。


6
投票

receipt-data可能会变得更大,因为它包含较旧的订阅信息。

在实践中,典型的大小可能低于10KB。但是由于反复创建新的订阅,我在自动化测试中看到了大小超过500KB的收据数据。

最好使用varchar(max)或不受限制的文本。


1
投票

在MySQL中,使用容量为16 MB的MEDIUMTEXT是安全的。

我使用的是TEXT,但在某一点上并不合适。

TEXT只有64kb的容量,但重复交易后收据的大小更有可能超过这个数量。我在沙盒模式下的许多事务后才观察到这一点。

TINYTEXT:255个字符 - 255 B

TEXT 65,535字节 - 64kb

MEDIUMTEXT:16,777,215 - 16 MB

GBTEXT:65,535个字符 - 64 MB

KBLONGTEXT:4,294,967,295个字符 - 4 GB

© www.soinside.com 2019 - 2024. All rights reserved.