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

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

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

Користувач позначив звичку як виконану три рази поспіль, потім забув на тиждень. Серія зламалась — мотивація впала. Головне завдання трекера звичок — не дати цьому статися. Нагадування у правильний момент важливіше, ніж гарний дизайн.

Логіка нагадувань — складніша, ніж просто cron

Наївна реалізація: cron кожен день о 20:00 — «Не забудьте виконати звички». Працює погано: всі сповіщення приходять одночасно, користувачі звикають їх ігнорувати.

Правильно: кожна звичка має свій розклад. «Зарядка» — 7:00, «Читання» — 21:30, «Медитація» — 8:00 та 22:00. Плюс розумне нагадування: якщо до 19:00 звичка не виконана, приходить нагадування (лише якщо користувач увімкнув цю опцію).

Серверний планувальник (Bull Queue) створює завдання на день наперед для кожної звички кожного користувача. При масштабі 10 000 користувачів з 5 звичками — 50 000 завдань на день. Redis справляється; Bull обробляє чергу стабільно.

Часовий пояс користувача зберігається в профілі та враховується при плануванні — всі розрахунки в UTC, відображення у локальному часі.

Мобільний додаток + Telegram-бот

Два канали взаємодії: мобільний додаток (основний інтерфейс) та Telegram-бот (швидка позначка без відкриття додатка).

У Telegram достатньо однієї кнопки: «✅ Виконано» — inline keyboard прямо в сповіщенні. Натиснув — серія зафіксована, додаток оновиться при наступному відкритті.

У мобільному додатку push-сповіщення з actionable notifications: на iOS через UNNotificationAction з ідентифікатором mark_done, на Android через RemoteInput або кнопку дії в NotificationCompat. Користувач позначає виконання прямо зі штори сповіщень, без відкриття додатка.

Обробка дії на iOS:

UNUserNotificationCenter.current().delegate = self

func userNotificationCenter(_ center: UNUserNotificationCenter,
  didReceive response: UNNotificationResponse) async {
    if response.actionIdentifier == "mark_done" {
        let habitId = response.notification.request.content
            .userInfo["habit_id"] as? String
        await HabitService.markCompleted(habitId: habitId)
    }
}

Серія та гейміфікація

Серія — ключова мотиваційна механіка. Логіка: виконав сьогодні — серія +1, пропустив день — серія скидається (або один «день пробачення» як у Duolingo).

При досягненні рубежів (7 днів, 30 днів, 100 днів) додаток відправляє «вітальне» push зі анімацією на екрані. На Flutter це lottie анімація, запущена при обробці спеціального payload у FCM.

Розробка бота + мобільного додатка трекера звичок — 3–5 тижнів залежно від набору механік гейміфікації.