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

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

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

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

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

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

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

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

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

  • 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

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

База знань відрізняється від FAQ масштабом й структурою: не 20 питань-ответів, а сотні статей з категоризацією, пошуком, версіюванням контенту й навігацією по темі. Для мобільного додатку це означає іншу архітектуру: локальний пошук по індексу, кеширування, offline-доступ й рендеринг розмітки.

Джерела контенту й синхронізація

CMS-бэкенд з API

Найбільш універсальний підхід — власний або headless CMS (Contentful, Strapi, Sanity) з REST/GraphQL API. Мобільний клієнт скачує статі при першому запуску й при оновленні, зберігає в локальній БД.

// Android: Room-схема для статей бази знань
@Entity(tableName = "kb_articles")
data class KbArticle(
    @PrimaryKey val id: String,
    val title: String,
    val content: String,   // Markdown або HTML
    val categoryId: String,
    val updatedAt: Long,
    val searchIndex: String  // нормалізований текст для FTS
)

@Entity(tableName = "kb_categories")
data class KbCategory(
    @PrimaryKey val id: String,
    val title: String,
    val parentId: String?,
    val position: Int
)

Синхронізація по updatedAt: при кожному запуску скачуємо тільки змінені статі з моменту останнього sync-timestamp.

Zendesk Help Center / Freshdesk Solutions

Якщо підтримка на Zendesk — Help Center API надає статі напрямки. SDK Zendesk показує їх через вбудований UI, але він слабо кастомізуєм. Для кастомного дизайну використовуємо Zendesk Guide API:

GET https://yoursubdomain.zendesk.com/api/v2/help_center/articles.json

Response містить body в HTML — рендеримо через WebView з кастомним CSS, відповідним дизайн-системі додатку.

Повнотекстовий пошук

Пошук по тисячі статей на сервері при кожному запиті — зайвий round-trip. Для мобільного додатку краще локальний Full-Text Search.

Android — Room FTS4:

@Fts4(contentEntity = KbArticle::class)
@Entity(tableName = "kb_articles_fts")
data class KbArticleFts(
    val title: String,
    val searchIndex: String
)

@Dao
interface KbSearchDao {
    @Query("SELECT * FROM kb_articles WHERE id IN " +
        "(SELECT rowid FROM kb_articles_fts WHERE kb_articles_fts MATCH :query)")
    suspend fun search(query: String): List<KbArticle>
}

iOS — CoreData з NSPredicate або SQLite FTS5:

// NSPredicate для CoreData
let predicate = NSPredicate(
    format: "title CONTAINS[cd] %@ OR content CONTAINS[cd] %@",
    query, query
)

Для великих баз (>500 статей) — SQLite з FTS5 через GRDB.swift:

try db.create(virtualTable: "articles_fts", using: FTS5()) { t in
    t.column("title")
    t.column("body")
    t.tokenizer = .unicode61()
}

FTS5 з unicode61 токенайзером підтримує кирилицю — важливо для російськомовних додатків.

Рендеринг Markdown/HTML

Статі часто зберігаються у Markdown. Варіанти рендеринга:

Підхід iOS Android Плюси Мінуси
WebView WKWebView WebView Повний HTML/CSS Повільний скролл, складна навігація
Native Markdown Down (lib) Markwon Нативний TextKit Обмежений CSS
AttributedString iOS 15+ Без залежностей Тільки базовий Markdown

Markwon для Android підтримує таблиці, code blocks з підсвіткою синтаксису й зображення — достатньо для технічної документації.

Аналітика й зворотний зв'язок по статтям

Кнопка «Була ли стаття корисна?» — простий механізм оцінки якості контенту. Відправляємо подію з article_id й helpful: true/false у Firebase Analytics. Статі з високим відсотком «не корисна» — кандидати на переробку.

Analytics.logEvent("kb_article_feedback", parameters: [
    "article_id": article.id,
    "helpful": isHelpful ? "yes" : "no",
    "time_spent_seconds": Int(Date().timeIntervalSince(openedAt))
])

time_spent_seconds дає додатковий сигнал: якщо користувач прочитав за 3 секунди й натиснув «не корисна» — стаття не по темі. Якщо провів 5 хвилин й натиснув «корисна» — контент глибокий й релевантний.

Offline-доступ

База знань повинна працювати без інтернету — користувач може звертатись до документації в зоні без мережі. Всі статті після першої завантаження зберігаються локально. Зображення кешуються через Kingfisher (iOS) або Coil (Android) з настройкою максимального розміру кешу.

Процес роботи

Аудит джерела контенту й прийняття рішення про архітектуру (headless CMS, helpdesk API або власний бэкенд).

Проектування схеми даних з урахуванням ієрархії категорій й пошуку.

Реалізація: синхронізація, локальне зберігання, FTS, рендеринг контенту.

UI: навігація по категоріям, екран статті, пошук з підсвіткою збігів.

Аналітика й offline-режим.

Орієнтири по строкам

Базова база знань з remote API, пошуком й offline-режимом — 1–2 тижня. Інтеграція з Zendesk Help Center, кастомний Markdown-рендеринг й аналітика — до 3 тижнів.