Я создаю проход динамически. Каждый проход имеет другое содержимое, такое как первичное поле, вторичное поле, но все проходы имеют одинаковые серийные и passTypeID, так правильно ли это делать?Могу ли я использовать один проход с одним и тем же идентификатором passTypeID для многих пользователей?
ответ
Да, serialNumber
и PassTypeIdentifier
могут быть одинаковыми, даже если каждый проход имеет различное содержимое. Тем не менее, есть несколько вещей, которые следует учитывать.
Passbook позволит только один проход с одинаковыми serialNumber
и passTypeIdentifier
комбинацией в любой момент времени. Это означает, что если пользователь A имеет пропуск, установленный с ключом primaryField
name
, содержащим значение 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 в таблицу устройств, чтобы предоставить общий ключ, чтобы мы могли проверить запись прохода, чтобы узнать, обновлено ли оно.
Спасибо! Я подумаю об этом, измениться или нет! – malinchhan
, если пользователь разделяет пропуск, который у них есть для одного из своих друзей, имеет ли устройство своего друга одинаковый токен аутентификации и серийный номер? – prawn
Да, это так - проход идентичный клон. То же самое относится, если пропуск синхронизируется с другим устройством через iCloud. – PassKit