動的にパスを作成します。各パスにはプライマリ フィールド、セカンダリ フィールドなどのいくつかの異なる内容がありますが、シリアルと passTypeID はすべてのパスで同じなので、このようにすることは正しいですか?
1 に答える
はい、各パスの内容が異なっていても、 serialNumber
andは同じにすることができます。PassTypeIdentifier
ただし、考慮すべき点がいくつかあります。
serialNumber
Passbook では、一度に同じpassTypeIdentifier
組み合わせの 1 つの Pass のみが許可されます。これは、ユーザー A がの値を含むprimaryField
キーでインストールされたパスを持っている場合、ユーザー A が の値を含むキーを含む2番目のパスをインストールしようとすると、Passbook はこれを元のパスの更新として扱うことを意味します。pass をpassに置き換えます。name
Malin
primaryField
name
Nick
Marlin's
Nick's
同じものを使用するとserialNumber
、PassTypeIdentifier
ユーザーが同じパスの複数のコピーを 1 つのデバイスにロードするのを防ぐことができるという利点があります。ただし、場合によっては、必要なものではない場合もあります (たとえば、親が自分と子供の両方の搭乗券を保持したい場合)。
同じシリアル番号を使用する場合は、データベース内のパス レコードを一意に識別する方法を考慮する必要があります。Malin's
クレジットが 1,000 ポイントでパスし、クレジットが他のみんなのパスになるような状況は望ましくありません。
を一意のキーとして使用します。これは、 Passbook Web サービスauthenticationToken
の 4 つのパス関連メソッドのうち 3 つ(Register、Unregister、Refresh) で提供されるためです。残念ながら、このメソッドでは提供されていないため、authenticationToken を devices テーブルに追加して共通キーを提供し、pass レコードが更新されているかどうかを確認できるようにします。Getting the Serial Numbers for Passes Associated with a Device