2013-04-26 3 views
0

Я создаю проход динамически. Каждый проход имеет другое содержимое, такое как первичное поле, вторичное поле, но все проходы имеют одинаковые серийные и passTypeID, так правильно ли это делать?Могу ли я использовать один проход с одним и тем же идентификатором passTypeID для многих пользователей?

ответ

0

Да, serialNumber и PassTypeIdentifier могут быть одинаковыми, даже если каждый проход имеет различное содержимое. Тем не менее, есть несколько вещей, которые следует учитывать.

Passbook позволит только один проход с одинаковыми serialNumber и passTypeIdentifier комбинацией в любой момент времени. Это означает, что если пользователь A имеет пропуск, установленный с ключом primaryFieldname, содержащим значение Malin, тогда пользователь A попытается установить второй проход, содержащий ключ , содержащий Nick, тогда Passbook будет рассматривать это как обновление прохода orignal и заменит Marlin's пас с Nick's пас.

Использование тех же serialNumber и PassTypeIdentifier может иметь преимущества в том, что оно не позволяет пользователям загружать несколько копий одного и того же прохода на одном устройстве. Но иногда это может быть не то, что вам нужно (например, родитель, желающий провести как свои, так и выходные).

Если вы используете один и тот же серийный номер, то вам нужно подумать о том, как вы однозначно идентифицируете пропущенные записи в своей базе данных. Вам не нужна ситуация, когда кредитование Malin's проходит с 1000 очками, а также пропуском всех остальных.

Мы используем authenticationToken как уникальный ключ, потому что он поставляется в 3 из 4-х связанных связанных методов Passbook Web Service (зарегистрируйтесь, отмените регистрацию и обновление). К сожалению, он не указан в методе Getting the Serial Numbers for Passes Associated with a Device, поэтому мы добавляем аутентификациюToken в таблицу устройств, чтобы предоставить общий ключ, чтобы мы могли проверить запись прохода, чтобы узнать, обновлено ли оно.

+0

Спасибо! Я подумаю об этом, измениться или нет! – malinchhan

+0

, если пользователь разделяет пропуск, который у них есть для одного из своих друзей, имеет ли устройство своего друга одинаковый токен аутентификации и серийный номер? – prawn

+0

Да, это так - проход идентичный клон. То же самое относится, если пропуск синхронизируется с другим устройством через iCloud. – PassKit