Реалізація Tooltip-підказок для нових функцій у мобільному додатку

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

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Реалізація Tooltip-підказок для нових функцій у мобільному додатку
Простий
від 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

Реалізація Tooltip-підсказок для нових функцій в мобільному додатку

Після крупного оновлення користувачі не помічають нову кнопку в тулбарі. Не тому що вона погано спроектована, а тому що ніхто не показав, що вона з'явилась. Tooltip вирішує це точково — без онбординга, без модальних вікон.

Технична реалізація

На iOS з SwiftUI — модифікатор .popover(isPresented:) для простих випадків або кастомний ViewModifier з ZStack + GeometryReader для позиціонування bubble відносно target-елемента. Системний UIToolTip з'явився лише в iOS 15 та працює виключно з pointer (iPad + Apple Pencil / trackpad), для смартфонів не підходить. Тому tooltip робиться через overlay з anchorPreference для обчислення координат target'а у глобальному просторі.

У UIKit — UIView bubble з CAShapeLayer для стрілки, позиціонується через convert(_:to:) та window?.addSubview(). Ключовий момент: додавати у window, а не у superview — інакше bubble обрізатиметься при clipsToBounds батьківського контейнера.

На Android з Compose — Popup + кастомна composable з вимірюванням через onGloballyPositioned. Material3 не має вбудованого tooltip з довільним позиціюванням; PlainTooltip та RichTooltip з'явилися в Material3 1.1.0, але працюють лише з TooltipBox та обмежені в кастомізації. Для повного контролю — власна реалізація через Popup з alignment = Alignment.TopStart та смішенням на основі координат target.

У React Native — бібліотека react-native-walkthrough-tooltip або кастомний Modal з measure() для обчислення позиції. Modal з transparent={true} та animationType="fade" дає потрібний ефект.

Управління станом показу

Tooltip показується один раз при першому виявленні функції. Логіка: при кожному запуску додатку перевіряємо UserDefaults / SharedPreferences на ключ tooltip_feature_X_shown. Показуємо — записуємо флаг. Повторний показ — лише по явному триггеру (наприклад, «Що нового?»).

Для кількох одночасних фич — черга: tooltipQueue: [TooltipConfig], показуємо по одному з задержкою 300–500 мс між показами. Не показуємо під час активної анімації або переходу між екранами — відстежуємо стан навігації.

Задержка перед показом 500–800 мс після завантаження екрана обов'язкова. Tooltip поверх ще не дорисованого контента виглядає як баг.

Доступність

accessibilityLabel на dismiss-кнопці. VoiceOver повинен зачитувати текст підсказки автоматично при появі через UIAccessibility.post(notification: .announcement, argument: tooltipText). TalkBack — AccessibilityEvent.TYPE_ANNOUNCEMENT через View.announceForAccessibility().

Терміни: 1–3 дні в залежності від кількості підсказок, складності позиціонування та необхідності підтримки кількох платформ.