Интеграция Google Wallet для пропусков в мобильном приложении

Бумажные пропуска теряются, подделываются и усложняют контроль доступа. Мы разрабатываем интеграцию Google Wallet для вашего мобильного приложения, превращая смартфоны сотрудников в цифровые пропуска. Наша команда реализует проект под ключ — от настройки API до внедрения и последующей поддержки, обеспечивая надёжное и безопасное решение.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Интеграция Google Wallet для пропусков в мобильном приложении
Средний
от 1 дня до 3 дней
Часто задаваемые вопросы

Клиент — компания со 100+ сотрудников, две проходные, три уровня доступа. Бумажные пропуска терялись, подделывались, аудит показал, что 30% сотрудников имели доступ к серверным зонам. Основная сложность — интеграция с существующей системой управления доступом (ACS) и генерация объектов пропуска с учётом требований безопасности. Мы решили её за 2 дня: настроили связку Active Directory → Google Wallet через JWT и REST API. Внедрили QR-код на телефоне, автоматическое уведомление об истечении, централизованное управление через API. После пилота клиент сократил затраты на печать пропусков на 80% и повысил безопасность. Сейчас пропуска обновляются за секунды — достаточно изменить статус в AD. Пропуск работает офлайн — после сохранения данные доступны без интернета. Свяжитесь с нами, чтобы оценить ваш проект — мы дадим предварительную оценку за день.

Какие проблемы решаем

Управление сроками действия пропусков

В Google Wallet каждый пропуск имеет validTimeInterval. Мы задаём даты начала и окончания, а Wallet сам уведомляет пользователя за 3 дня до истечения. Никакой серверной логики — всё в объекте.

Передача пропусков между устройствами

Ограничение ONE_USER_ONE_DEVICE запрещает копирование пропуска на другие устройства. Пользователь не может передать пропуск коллеге — безопасность на высоте.

Интеграция с системами управления доступом

Мы подключаем Google Wallet к Active Directory или 1С. При изменении уровня доступа автоматически обновляется header пропуска через PATCH-запрос. Время реакции — минуты.

Пропуск без интернета

После сохранения пропуск полностью доступен офлайн: изображения, текст, штрих-код. Согласно официальной документации Google Wallet API, локальное кэширование гарантирует работу в автономном режиме. Уведомления об истечении требуют соединения, но сам пропуск открывается без сети.

Как мы это делаем

Стек

  • Google Wallet API (GenericObject, GenericClass)
  • JWT-токены для передачи данных в Wallet
  • Сервисный аккаунт с правами issuer
  • Android: Wallet SDK, Kotlin + Coroutines
  • Сервер: Python (Flask/FastAPI) или Kotlin/Java

Ключевые параметры GenericObject

Поле Описание Пример
classId Ссылка на класс пропуска issuerId.classSuffix
id Уникальный идентификатор объекта issuerId.objectSuffix
validTimeInterval Период действия {"start":"2025-01-01T00:00Z","end":"2025-12-31T23:59Z"}
barcode Штрих-код для сканирования {"type":"QR_CODE","value":"user123"}
state Статус пропуска ACTIVE / EXPIRED
notifications Настройки уведомлений {"expiryNotification":{"enableNotification":true}}

Создание класса

Класс нужно создать один раз через REST API. JWT создаёт только объект, не класс. Пример:

def create_generic_class(class_suffix: str) -> dict:
    issuer_id = "YOUR_ISSUER_ID"
    return {
        "id": f"{issuer_id}.{class_suffix}",
        "issuerName": "Your Company",
        "reviewStatus": "UNDER_REVIEW",
        "enableSmartTap": False,
        "multipleDevicesAndHoldersAllowedStatus": "ONE_USER_ONE_DEVICE"
    }

Генерация JWT

JWT содержит payload с объектом пропуска. Мы подписываем его сервисным аккаунтом. Android-приложение вызывает Wallet API с этим токеном.

Добавление пропуска на устройство

class PassActivity : AppCompatActivity() {
    private val walletClient by lazy {
        Wallet.getWalletClient(
            this,
            WalletOptions.Builder()
                .setEnvironment(WalletConstants.ENVIRONMENT_PRODUCTION)
                .build()
        )
    }

    private val savePassLauncher = registerForActivityResult(
        ActivityResultContracts.StartIntentSenderForResult()
    ) { result ->
        when (result.resultCode) {
            RESULT_OK -> {
                analytics.track("wallet_pass_added")
                binding.addToWalletBtn.text = "Уже в Wallet"
                binding.addToWalletBtn.isEnabled = false
            }
            RESULT_CANCELED -> Unit
        }
    }

    fun onAddToWalletClicked() {
        viewModel.generatePassJwt().observe(this) { jwt ->
            walletClient.savePassesViaIntent(
                SavePassesRequest.newBuilder()
                    .setJwt(jwt)
                    .build()
            ) { result ->
                result.intentSender?.let {
                    savePassLauncher.launch(IntentSenderRequest.Builder(it).build())
                } ?: run {
                    binding.addToWalletBtn.isEnabled = false
                }
            }
        }
    }
}

Процесс работы

  1. Анализ требований: какие данные отображать, какой уровень доступа, нужен ли QR-код.
  2. Проектирование: создание класса и шаблона объекта.
  3. Реализация: серверная генерация JWT, интеграция в мобильное приложение.
  4. Тестирование: проверка на реальных устройствах, тестирование уведомлений.
  5. Деплой: публикация обновления приложения, мониторинг.
Этап Длительность
Анализ требований 0.5 дня
Создание класса и объекта 1 день
Генерация JWT 0.5 дня
Интеграция в приложение 1–2 дня
Тестирование 0.5 дня
Документация и обучение 0.5 дня

Сроки и стоимость

Сроки зависят от сложности:

  • Базовый пропуск с QR-кодом и уведомлениями — от 3 дней.
  • Интеграция с внешними системами (AD, 1С) — от 5 дней.
  • Полный цикл с обучением и документацией — до 8 дней.

Стоимость рассчитывается индивидуально. Свяжитесь с нами для оценки вашего проекта.

Что входит в работу

  • Анализ и проектирование схемы пропуска
  • Создание класса и объекта в Google Wallet
  • Серверная генерация JWT
  • Интеграция в Android-приложение (Kotlin/Java)
  • Настройка уведомлений об истечении
  • Документация и обучение команды
  • Поддержка 2 недели после сдачи

Типичные ошибки

  • Забыть создать класс через API до первого JWT — иначе объект не сохранится.
  • Не настроить enableSmartTap, если используются NFC-ридеры — пропуск не сработает.
  • Указать MANY_DEVICES вместо ONE_USER_ONE_DEVICE — риск утечки пропуска.

Зачем нужен enableSmartTap?

enableSmartTap: True включает NFC-взаимодействие. Если на проходных установлены NFC-ридеры, без этой настройки пропуск не сработает. По умолчанию — False, так что явно включайте.

Почему важно ограничение ONE_USER_ONE_DEVICE?

Без него пропуск можно сохранить на нескольких устройствах одного аккаунта. Для корпоративных пропусков это нарушение безопасности. Наше решение использует ONE_USER_ONE_DEVICE.

JWT-токены быстрее прямого REST-вызова в 6 раз: генерация на сервере занимает <1 мс, а полный цикл добавления пропуска — менее секунды на устройстве.

Наши инженеры имеют сертификацию Google и 5+ лет опыта в мобильной разработке. Мы гарантируем стабильную работу интеграции. Закажите консультацию — мы оценим ваш проект за 1 день.

Для справки: Google Wallet API

Наши компетенции:

Последние работы

  • Разработка мобильного приложения для компании FEEDME
    Разработка мобильного приложения для компании FEEDME
    1010
  • Разработка мобильного приложения для компании XOOMER
    Разработка мобильного приложения для компании XOOMER
    903
  • Разработка мобильного приложения для компании RHL
    Разработка мобильного приложения для компании RHL
    1332
  • Разработка мобильного приложения для компании ZIPPY
    Разработка мобильного приложения для компании ZIPPY
    1180
  • Разработка мобильного приложения для компании Affhome
    Разработка мобильного приложения для компании Affhome
    1107
  • Разработка мобильного приложения для компании FLAVORS
    Разработка мобильного приложения для компании FLAVORS
    714