Реалізація AI-автозаповнення адреси за частковим введенням у мобільному застосунку

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

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Реалізація AI-автозаповнення адреси за частковим введенням у мобільному застосунку
Середній
від 1 дня до 3 днів
Часті запитання

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

Етапи розробки

Останні роботи

  • 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

Реалізація AI-автозаповнення адреси по частковому вводу в мобільному додатку

Користувач набирає «Ленина 1» — додаток повинен вгадати що він має на увазі: Ленина 12 в його місті, або вулиця Ленина в сусідньому районі де він часто бує, або адреса яку він вже вводив на минулому тижні. Стандартний Google Places Autocomplete без урахування контексту дасть довгий список з цілої країни. AI-автодополнення працює інакше — ранжує з урахуванням геолокації, історії та паттернів вводу.

Що таке AI-автодополнення на відміну від стандартного

Класичне автодополнення (Google Places API / Dadata / Nominatim): запит «Ленина 1» → повнотекстовий пошук по базі → топ результатів по релевантності рядка.

AI-підхід добавляє три шари:

Геоконтекст. Поточна позиція користувача (або остання відома) застосовується як location bias. Google Places API підтримує locationBias нативно. Для власної моделі — помножуємо score кожного кандидата на exp(-distance_km / decay_radius), де decay_radius 5-10 км для міських адрес.

Персональна історія. Адреси з попередніх замовлень/пошуку зберігаються локально (SQLite, зашифрований) та в профілі. При частковому вводі — спочатку матчимо історію, потім зовнішній API. Збіг «дім», «робота» — виводимо без зовнішнього запиту. Важливо для конфіденційності.

Нечіткий пошук / опечатки. «Ленина» vs «Ленімня», «пр-т» vs «проспект» vs «просп». Нормалізація: розгортаємо скорочення через словник (ул.улиця, пр-ктпроспект), застосовуємо Levenshtein distance з порогом 2. Для української мови: додатково транслітерація та Soundex-аналог для кирилиці.

Вибір геокодуючого API

Провайдер Сильні сторони Ліміт безплатно
Google Places Autocomplete Якість, охват $200 кредит/мес
Dadata РФ/СНГ, підїзди, КЛАДР 10 000 req/сут
Яндекс Геокодер РФ/СНГ, точніше в регіонах 1 000 req/сут
Nominatim (OSM) Безплатно, self-host 1 req/сек публічний
Pelias (self-hosted) Повний контроль, GDPR

Для РФ/СНГ аудиторії: Dadata + кеш Redis = оптимальний баланс ціна/якість. Для міжнародного — Google Places з locationBias.

Реалізація на мобілі

Дебаунс запитів

Запит при кожному натисканні клавіші — занадто часто. Дебаунс 300-400мс: таймер скидається при кожному символі, запит йде тільки після паузи.

iOS (Combine): Publisher на UITextField.textPublisher.debounce(for: .milliseconds(350), scheduler: RunLoop.main).removeDuplicates()flatMap { autocomplete(query: $0) }.

Android (Kotlin Flow): MutableStateFlow на TextFieldValue.debounce(350).distinctUntilChanged()flatMapLatest { fetchAutocomplete(it) }.

Мінімальна довжина запиту: 2-3 символи. Менше — результати марні та трафік впустую.

Кеш на клієнті

NSCache / LruCache з ключем = нормалізована рядок запиту. TTL 10 хвилин. При повторному вводі подібної рядки (backspace + інша буква) — спочатку дивимось кеш сусідніх запитів через prefix-match.

Offline fallback

Для додатків де адреса потрібна без інтернету (доставка, таксі в зоні поганого покриття): SQLite-база з адресами міста (ФІАС для РФ — безплатно, ~2-5 ГБ стиснута, можна предзавантажити потрібні регіони). Пошук по базі через FTS5 MATCH — швидко навіть на мобілі.

Підтвердження через геокодер

Після вибору адреси користувачем — reverse geocoding для підтвердження: передаємо вибрану адресу, отримуємо назад lat/lon + нормалізовану адресу в стандартному форматі. Показуємо користувачу на карті — маркер на вибраній точці. Якщо місце не те — він бачить одразу.

Локалізація та формати

Адреси в РФ: «улиця», «проспект», «переулок», «шоссе» + дім, корпус, будова, квартира. Dadata повертає структурований КЛАДР-об'єкт — парсимо в форму автоматично. Google returns address_components[] — парсимо аналогічно.

Підтримка українського/білоруського написання вулиць (якщо аудиторія СНГ): словник транслітерації + Dadata підтримує UA як окрема база.

Тривалість проекту

Реалізація AI-автодополнення адреси з історією, геобіасом та нечітким пошуком — 1-3 дні при наявності вибраного провайдера даних. З offline-базою ФІАС та кастомною моделлю ранжування — до 1-2 тижнів. Вартість розраховується після аналізу вимог.