Разработка мобильного приложения для кикшеринга

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

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

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

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Разработка мобильного приложения для кикшеринга
Сложный
от 2 недель до 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

Разработка мобильного приложения для кикшеринга

Самокат стоит в 50 метрах, приложение показывает «заряд 87%», QR-код сканируется — и ничего. Блок управления самоката завис, команда разблокировки ушла, но подтверждения нет. Пользователь сканирует повторно, наконец едет. Деньги списались дважды. Это не гипотетический кейс — это типичная ситуация первых версий IoT-команд без идемпотентности и состояния транзакции.

Специфика кикшеринга по сравнению с каршерингом

Самокаты — массовый микромобильный транспорт с дешёвыми IoT-блоками (Omni, Ninebot, Segway OEM lock). Протокол управления у каждого производителя свой: Segway Lock Protocol, MQTT-based Omni API или собственный TCP. В отличие от автомобиля, самокат может оказаться вне зоны сети в момент разблокировки — и тут важна Bluetooth-разблокировка как fallback.

BLE-разблокировка. Большинство современных IoT-замков поддерживают BLE рядом: пользователь подходит близко, приложение обнаруживает устройство через CBCentralManager (iOS) или BluetoothLeScanner (Android), отправляет зашифрованный unlock-пакет напрямую на замок без интернета. Ключ шифрования генерируется сервером при начале аренды и передаётся в приложение заранее — классическая схема offline token.

QR и NFC

Сканирование QR — самый распространённый способ идентификации самоката. AVCaptureSession с AVMetadataObjectTypeQRCode на iOS, CameraX + BarcodeScanner из ML Kit на Android. Важный момент: не делать scanning overlay через SwiftUI ZStack поверх AVCapturePreviewLayer без явного CALayer z-order — SwiftUI-view создаёт дополнительный CALayer и может перекрывать превью камеры на некоторых моделях iPhone.

NFC как альтернатива QR работает через Core NFC NFCNDEFReaderSession (iOS) или NfcAdapter.enableForegroundDispatch (Android). На iOS читаем только в foreground, что ограничивает сценарии, но для «приложи телефон к самокату» вполне достаточно.

Геозоны и правила парковки

Операторы кикшеринга сотрудничают с городом: запрещённые зоны для езды, зоны обязательной парковки, платные зоны. Это полигоны GeoJSON, которые приложение скачивает при запуске и обновляет в фоне.

Проверка нахождения точки в полигоне: GMSGeometryContainsLocation (Google Maps) или MKPolygon.contains на iOS. Для Flutter — poly_gon package или собственная реализация алгоритма ray casting. При попытке завершить аренду в запрещённой зоне — блокируем действие с указанием ближайшей разрешённой парковки.

Важно: проверку зон дублируем на сервере. Клиент может быть старой версии или взломан.

Карта флота и кластеризация

При 1000+ самокатах в городе кластеризация обязательна. Используем Supercluster (порт для iOS/Android/Flutter) — алгоритм работает на клиенте, быстро перестраивает кластеры при изменении зума. При зуме > 15 переключаемся на отдельные иконки с индикатором заряда батареи: зелёный (>50%), жёлтый (20–50%), красный (<20%).

Обновление позиций самокатов — WebSocket с серверными событиями или periodic refresh каждые 30 секунд при активном экране карты. Не обновляем координаты всего флота в background — это пустой расход батареи.

Механика тарифов

Кикшеринг часто использует составные тарифы: старт + поминутная оплата + повышающий коэффициент в часы пик. Логику тарификации держим на сервере, в приложении только отображаем текущую стоимость через WebSocket с обновлением раз в 10 секунд во время поездки. Не считаем стоимость на клиенте — расхождение между тем, что показал клиент, и тем, что списал сервер, ведёт к спорам и чарджбэкам.

Из практики

Кикшеринг-стартап, 400 самокатов в одном городе. Проблема: после обновления iOS 17 у части пользователей перестало работать BLE-сканирование — они получали ошибку «Bluetooth не доступен», хотя BT был включён. Причина: изменение в CBCentralManager state restoration в iOS 17 — если приложение не реализовало CBCentralManagerDelegate.centralManager(_:willRestoreState:), при восстановлении state CBManager бросал .unknown вместо .poweredOn. Фикс занял 2 часа после диагностики.

Этапы и сроки

  1. Аудит IoT-блоков самокатов — протокол, BLE-поддержка, API производителя
  2. Архитектура команд с idempotency и offline BLE fallback
  3. Разработка карты, QR/NFC, тарификации, оплаты
  4. Интеграция с городскими геозонами (GeoJSON от оператора или городской API)
  5. Публикация

MVP (карта → QR → аренда → оплата → завершение): 10–14 недель. Полная платформа с геозонами, BLE, аналитикой операций: 4–6 месяцев. Стоимость рассчитывается индивидуально.