Реализация age-gate (проверка возраста) в мобильном приложении

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

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

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

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Реализация age-gate (проверка возраста) в мобильном приложении
Простой
~1 день
Часто задаваемые вопросы

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

Этапы разработки

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

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    495

Реализация age-gate (проверка возраста) в мобильном приложении

Age-gate — барьер перед контентом с возрастным ограничением: алкоголь, табак, азартные игры, контент 18+. Технически минимальный вариант (введи год рождения) — это не верификация, а декларация. Реальная проверка требует интеграции с верификационным сервисом или биометрии.

Уровни верификации

Декларативный age-gate — пользователь вводит дату рождения или выбирает "мне есть 18 лет". Достаточно для большинства приложений в категориях Entertainment и Food & Drink. Не защищает от детей, которые знают как правильно ответить, но снимает юридическую ответственность с разработчика.

Верификация через документ — KYC-лёгкий вариант: пользователь фотографирует паспорт или ID, сервис (Sumsub, Onfido) извлекает дату рождения и подтверждает возраст. Без сохранения документа на сервере, только результат проверки.

Age Estimation по фото — ML-модель оценивает возраст по selfie. Не является юридически надёжной верификацией, но используется как первый барьер. AWS Rekognition и Azure Face API предоставляют EstimatedAge в диапазоне.

Для большинства приложений в России достаточно декларативного age-gate — он соответствует требованиям 436-ФЗ об информационной защите детей при наличии пользовательского соглашения.

Реализация

На Android проверяем и сохраняем статус верификации:

object AgeGateManager {
    private const val KEY_AGE_VERIFIED = "age_verified"

    fun isVerified(context: Context): Boolean {
        return EncryptedPreferences.getBoolean(context, KEY_AGE_VERIFIED, false)
    }

    fun markVerified(context: Context, birthDate: LocalDate) {
        val age = ChronoUnit.YEARS.between(birthDate, LocalDate.now())
        require(age >= 18) { "Under 18" }
        EncryptedPreferences.putBoolean(context, KEY_AGE_VERIFIED, true)
    }
}

Статус не сбрасываем при перезапуске — пользователь не должен подтверждать возраст каждый раз. Сбрасываем только при logout или переустановке.

Навигационный guard на Jetpack Navigation или на уровне Activity:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    if (!AgeGateManager.isVerified(this)) {
        startActivity(Intent(this, AgeGateActivity::class.java))
        finish()
        return
    }
    setContent { MainScreen() }
}

Важный момент для App Store: Apple и Google имеют собственные требования к age-gate. Приложения с контентом 18+ должны быть правильно категоризированы в App Store Connect (age rating 17+) и Google Play (Content Rating "Adults only"). Без этого — отклонение при ревью.

Age-gate с декларативной проверкой — 3-5 дней разработки. С интеграцией ML-сервиса или KYC-верификации — 2-4 недели. Стоимость рассчитывается индивидуально.