0

我动态创建一个通行证。每个pass都有一些不同的内容,例如primary field,secondary field,但是所有pass都有相同的serial和passTypeID,那么这样做是否正确?

4

1 回答 1

0

是的,serialNumberandPassTypeIdentifier可以相同,即使每个 pass 有不同的内容。但是,有几件事需要考虑。

存折在任何时候只允许一张具有相同serialNumber和组合的通行证。passTypeIdentifier这意味着如果用户 A 安装了一个包含值 的primaryField密钥的通行证,那么用户 A 尝试安装包含值的密钥的第二个通行证,那么 Passbook 将把这视为原始通行证的更新并将通过通行证替换通行证。nameMalinprimaryFieldnameNickMarlin'sNick's

使用相同serialNumber并且PassTypeIdentifier可以具有优点,因为它可以防止用户在单个设备上加载相同通道的多个副本。但有时它可能不是您所需要的(例如,父母想要同时持有自己和孩子的登机牌)。

如果您使用相同的序列号,则需要考虑如何唯一标识数据库中的通行证记录。您不希望Malin's以 1,000 分计入通行证的情况,也可以计入其他人的通行证。

我们将authenticationToken用作唯一键,因为它在Passbook Web 服务的 4 种传递相关方法中的 3 种中提供(注册、取消注册和刷新)。不幸的是,方法中没有提供它Getting the Serial Numbers for Passes Associated with a Device,因此我们将 authenticationToken 添加到 devices 表中以提供公共密钥,以便我们可以检查通过记录以查看它是否已更新。

于 2013-04-26T02:47:56.727 回答