Инструменты
Как добавить карту лояльности в кошелёк телефона
Кнопки «Добавить в кошелёк» обычно нет, потому что карту для кошелька должен создать и подписать тот, кто её выпустил, а большинство кофеен, спортзалов и супермаркетов этого никогда не делали. Работает другое: превратить карту в пропуск самостоятельно — на iPhone это подписанный файл, который попадает в Apple Wallet, на Android приложение, которое хранит штрихкод и показывает его во весь экран. А прочитает касса или нет, решает формат штрихкода, а не номер.
Почему кнопки нет
Apple Wallet не хранит картинки карт. Он хранит файлы .pkpass: небольшие
подписанные пакеты, внутри которых содержимое штрихкода, его формат, поля для
показа и сертификат, подтверждающий, кто это сделал. Смысл именно в подписи. Она
и не даёт кому угодно выписать себе посадочный талон.
Отсюда простое следствие. Если ваша местная сеть никогда не регистрировалась как издатель карт, добавлять нечего, и никакая настройка в Apple Wallet этого не изменит. Google Wallet устроен так же для партнёрских программ лояльности.
Значит, вопрос на практике не «как мне добавить эту карту», а «кто сделает из неё пропуск».
Что на самом деле нужно сканеру
Это та часть, которой нет в большинстве инструкций, и именно она решает, будете ли вы стоять у кассы, заново открывая приложение.
Правильный формат. Штрихкод — это не число, а число, закодированное в конкретной символике. Длинные полосатые коды на картах лояльности — обычно Code 128 или Code 39, товарные коды — EAN-13, квадратные — QR или Aztec. Те же цифры в неверной символике дают штрихкод, который выглядит правдоподобно и не сканируется никак.
Достаточный размер и контраст. Пропуск показывает код один, крупно, чёрным по белому. Фотография всей карты показывает штрихкод шириной в два сантиметра, с логотипом рядом, при той яркости, которая случайно стояла на телефоне.
Экран, который сканер вообще читает. Сканеры на камере — плоское стекло на большинстве касс — экраны читают нормально. Ручные лазерные сканеры экран не читают ни при какой яркости, потому что работают на отражённом лазерном луче. Когда сотрудник говорит «с телефона не считывается», обычно дело в этом, и приложением это не исправить.
На iPhone
- Проверьте, не публикует ли магазин пропуск сам. Кнопка «Добавить в Apple Wallet», если она существует, живёт в приложении магазина или внизу письма с чеком. Это всегда лучший вариант: настоящий пропуск обновляет баланс.
- Иначе — создайте его. Приложение, которое считывает карту и делает
подписанный
.pkpass, кладёт карту в Wallet по-настоящему: на экран блокировки, в список по двойному нажатию, в общий порядок со всем остальным. - Первый раз сверьте штрихкод с картой. Сравните цифры под штрихкодом на карте с цифрами под созданным.
На Android
Google Wallet принимает карты лояльности от партнёрских программ, а таких программ заметно меньше, чем карт лояльности. Для всего остального на кассе работает приложение, которое хранит код и показывает его во весь экран с поднятой яркостью.
Это менее изящно, чем системный кошелёк, и в момент сканирования функционально одно и то же. Теряете вы доступ с экрана блокировки и автоматическое появление карты; сохраняете — код, который считывается.
Чего созданный пропуск делать не будет
Знать это стоит до того, как менять стопку пластика на экран телефона.
Он не будет сам обновлять баланс. Настоящему пропуску, выпущенному магазином, можно прислать новое число баллов, новый срок, новое предложение. Пропуск, сделанный по фотографии, — это снимок штрихкода: код продолжает работать, потому что код — это просто номер вашего счёта, а вот напечатанное на нём число баллов заморожено на момент создания. Для карты лояльности это обычно неважно — касса берёт баланс по номеру. Для всего, чья ценность меняется, важно.
Он не переживёт перевыпуск карты. Новая карта — новый номер — новый пропуск.
Это не платёжная карта. Ни один из кошельков не даст такую создать, и ничто, чему нужен чип или магнитная полоса, по фотографии лицевой стороны не воспроизводится. Эта граница проведена намеренно на обеих платформах, и за ней то же чутьё, что и за всем на странице «Инструменты»: делать одну вещь как следует, а не соседнюю кое-как.
Он не везде будет уместен. У части программ лояльности в правилах написано, что карта принадлежит им и копировать её нельзя. На практике штрихкод на экране никого не смущает, но музейный абонемент или именной проездной — это другой разговор, чем карточка со штампами из кофейни.
Как ввести номер, не набирая его
Набирать шестнадцать цифр со стёртой карты — то место, где всё разваливается. Быстрее через фотографию: наведите камеру на карту и дайте приложению считать с напечатанного штрихкода и цифры, и символику.
AI Wallet Pass мы сделали именно под этот шаг. Вы фотографируете карту, приложение извлекает номер и формат штрихкода и создаёт подписанный пропуск для Apple Wallet на iOS или кладёт карту в собственный кошелёк на Android.
Одну деталь стоит назвать прямо, потому что именно её и надо проверять в любом приложении такого рода: для распознавания карты нужен сервер — модель извлечения на телефоне не работает. Само содержимое штрихкода остаётся на устройстве: служба извлечения получает только фотографию с закрашенным кодом, и номер до неё не доходит. Узкое исключение — вызов подписи, которому номер нужен ровно на то время, пока собирается подписанный пропуск, и который его никуда не записывает. Это ограничение, заданное формой API, а не обещание в политике конфиденциальности, — и вот об этой разнице и стоит спрашивать.
Три карты в месяц бесплатны, подписки нет, и на карточке на странице «Инструменты» это написано до установки.
Сканирование — единственное, чего приложение не умеет без сети, и на карточке это сказано: смысловое извлечение идёт через сервер. Сам штрихкод считывается на устройстве, поэтому номеру и не нужно никуда ехать; о том, насколько вольно слово «офлайн» используют на страницах магазинов вообще, — игры для детей без интернета. А если вы взвешиваете, как за приложение платить, — во сколько обходится подписка на игру-головоломку разбирает три модели и то, как отличить их на странице магазина.
Частые вопросы
- Почему карту лояльности нельзя добавить прямо в Apple Wallet?
- Потому что карту для кошелька должен создать и криптографически подписать тот, кто её выпускает, а большинство магазинов этого никогда не делали. У Apple Wallet просто нет способа принять карту, которую никто не публиковал.
- Сработает ли на кассе фотография карты?
- Иногда и ненадёжно. Ручные лазерные сканеры экран не читают вовсе; сканеры на камере обычно читают, если штрихкод крупный, резкий и экран на полной яркости. Фотография карты целиком редко бывает такой.
- Есть ли на Android аналог Apple Wallet?
- Google Wallet принимает карты лояльности, но только от партнёров, которые их публикуют. Для всего остального на кассе работает приложение, которое хранит штрихкод и показывает его во весь экран.
- Какой формат штрихкода нужен?
- Тот, что напечатан на карте. Обычно это Code 128 и Code 39 для длинных полосатых кодов, EAN-13 для товарных и QR или Aztec для квадратных. Тот же номер, закодированный не в том формате, не отсканируется.
- Куда-нибудь уходит номер карты?
- Зависит от приложения, и это единственное, что стоит проверить. Для распознавания карты сервер может понадобиться; для хранения и показа — нет. Само содержимое штрихкода после создания карты покидать устройство не должно.
Приложения из статьи
- AI Wallet Pass — Сфотографируйте карту — получите пропуск в кошельке.