Хотел назвать заметку «все, что вы хотели знать о Passbook», но скромность и занудство возобладали. Кроме того, эта технология вызвала в моем мозгу необычайный ступор, так что понимание давалось с большим трудом. Вероятно потому, что я не с той стороны подошел к вопросу.
Мой ненастоящий, но вполне валидный Пасс в Пассбуке.
Сначала нужно было выяснить что представляет собой сам Pass. Итак, в любой момент времени Pass представляет собой карточку с текстом и штрихкодом. Это то, что доступно людям с глазами и штрих-сканерам. Серьезно, для предъявления этим двум вместо Пасса можно использовать его скриншот, никакой разницы, сканеру так точно.
В таком виде Pass может использоваться, например, в качестве пропуска. Подошел, показал вахтеру, тот кивнул и нажал кнопку — проходи. Тут я подошел к самой отрезвляющей мысли — Пасс никак не защищен от копирования. Это обычный архив, содержащий картинки и текстовый файл в формате JSON. Просто взять и отредактировать архив нельзя, он подписывается сервтификатом разработчика, но это не большая проблема — 2 разных разработчика могут сделать полностью одинаковые Пассы. Не до байта одинаковые, но неотличимые при обычном использовании.Схема с вахтером и пропуском под угрозой — поддельный Pass от настоящего на глаз не отличить. Сканер штрихкода тоже мало поможет сам по себе. Тут вторая стадия прозрения меня посетила — внедрение Пассов требует своей инфраструктуры, механизмов, которые начинают работать после считывания кода с карточки на экране. В примере с вахтером и сканером нужно добавить базу данных с данными каждого авторизованного человека, включая фотографию. Подошел гражданин, достал Passbook, показал сканеру, у вахтера на экране компьютера появилась фотка, соответствующая считанному коду, он сличил ее с реальностью и впустил или нажал кнопку, открывающую люк в полу, как решит.
Это был самый примитивный и самый общий тип Пропуска (буду иногда так называть Pass). Всего их пока 5, остальные: билет на транспорт; купон на скидку; билет на мероприятие; бонусная карта. Различия между ними я знаю далеко не все, но в основном они «поведенческие» и внешние. Pass может содержать время «Ч» и/или координаты «Х», приближение к которым «возбуждает» Passbook и он выводит нужный Пропуск на лок-скрин. Так вот, «чувствительность» приложения к разным типам Пассов разная, и по времени и по радиусу от заданной точки — посадочный талон в самолет может пригодиться за полтора часа, а билет в кино максимум минут за 15.
Тут я уже проникся величием Passbook, серьезно, так что дальше меня было сложно удивить, хотя попытки были. Одна из — данные в Пассах можно изменять. В детали не вдавался, но делается это с помощью iCloud и Apple Push Notification. Можно уведомить человека о перенесенном концерте или пассажира об отложенном рейсе и поправить данные на его билете в Пассбуке. Круто! Но нужна связь. Passbook работает на iPhone и iPod touch (с iOS 6), у второго связи может не быть по объективным причинам (Wi-Fi не везде), а у первого по жадности (3G/LTE в роуминге).
Есть еще один вариант взаимодействия с Пассами — через приложение. Создавать Пассы, считывать данные, изменять их. Безопасность обеспечивается простым, но несколько корявым способом — и приложение, и Пассы должны быть подписаны одним и тем же выданным Apple сертификатом. Может усложнить развитие тем, кто пользовался для выпуска Пассов сервисом, типа Passdock, а позже дорос до приложения.
Итак, я устал даже думать на эту тему, хотя коснулся только самой поверхности вопроса. Apple родил Мега Штуку, причем сделал это вовремя. Подозреваю, что Passbook вынесет все NFC-затеи в одни ворота — по скорости простоте внедрения с нуля или адаптации имеющейся инфраструктуры Пассы выглядят значительно (если не убийственно) проще. Удачность и своевременность подтверждается наличием приложения для Android, которое понимает «вражеские» Пассы.
В России как-то все вяло пока. Рамблер-кассы, Аэрофлот… Я знаю пару мест локального масштаба, где можно стремительно (за неделю) внедрить Пассы, но есть большое «но» — в обоих случаях это будет дополнительная нагрузка на персонал и технику, а не замена «бумажкам». Кстати, о бумажках — билет в кинотеатр это вам не пустяк, а бланк строгой отчетности, корешки (остающиеся в кассе) хранятся и могут подвергнуться проверке.
Чтиво для разработчиков: Getting Started with Passbook on iOS 6 (PDF), PassKit Programming Guide.
Научно-популярное, то самое: Все, что вы хотели знать о Passbook.
Домашнее задание — сделать Pass а-ля «визитка таксиста», дающая право на скидку в 10%. На штрихкоде (QR) сделать ссылку на скачивание этого же самого Пасса, чтобы обладатели могли делиться с друзьями Крутой Штуковиной. Или лучше с телефоном? Надо подумать…
Извините за сумбур, текст писался в течение дня урывками, в основном для себя.
Одна мысль о “Кое-что из того, что мне удалось понять о Passbook”