对于许多用户,我可以使用具有相同序列和相同passTypeID的1次传递吗?
我动态地创建了一个pass。每个过程都有一些不同的内容,例如主场,副场,但是所有过程都有相同的序列和passTypeID,那么这样做是正确的吗?对于许多用户,我可以使用具有相同序列和相同passTypeID的1次传递吗?
是的,serialNumber
和PassTypeIdentifier
可以是相同的,即使每个过程具有不同的内容。但是,有几件事需要考虑。
存折将只允许在同一时间使用相同的serialNumber
和passTypeIdentifier
组合。这意味着如果用户A安装了primaryField
密钥name
,其中包含Malin
的值,则用户A试图安装第二遍,该第二遍包含name
的密钥name
,其值为Nick
,那么Passbook会将其视为更新了orignal pass并且将Marlin's
代替Nick's
传递给pass。
使用相同的serialNumber
和PassTypeIdentifier
可以具有的优点在于它可以防止用户在单个设备上加载同一通道的多个副本。但有时它可能不是你所需要的(例如,想要持有自己的孩子和他们的孩子的登机证的父母)。
如果您使用相同的serialNumber,那么您需要考虑如何唯一标识数据库中的通行记录。你不希望出现Malin's
通过1,000点的情况,也就是信用的其他人的通过。
我们使用authenticationToken
作为唯一密钥,因为它在Passbook Web Service(注册,取消注册和刷新)的4个通过相关方法中的3个中提供。不幸的是,在Getting the Serial Numbers for Passes Associated with a Device
方法中没有提供,所以我们将authenticationToken添加到devices表以提供一个公用密钥,以便我们可以检查通过记录以查看它是否已更新。
谢谢!我会考虑是否改变! – malinchhan 2013-04-26 04:02:13
如果用户共享他们的朋友的通行证,他们的朋友的设备是否具有相同的身份验证令牌和序列号? – prawn 2015-05-19 01:45:23
是的 - 通行证是相同的克隆。如果通过iCloud与其他设备同步,则同样适用。 – PassKit 2015-05-19 02:31:56