Інтеграція ChatGPT API в мобільний застосунок

Ви вбудовуєте ChatGPT у мобільний застосунок. Перша проблема: API-ключ не можна зберігати в коді, інакше його вкрадуть. Друга: синхронний запит змушує користувача чекати 3–8 секунд — це вбиває UX. Третя: кожен токен коштує грошей, і без контролю витрати вийдуть за бюджет. Наші інженери вирішують ці

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

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

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

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

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

Часті запитання

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

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Ви вбудовуєте ChatGPT у мобільний застосунок. Перша проблема: API-ключ не можна зберігати в коді, інакше його вкрадуть. Друга: синхронний запит змушує користувача чекати 3–8 секунд — це вбиває UX. Третя: кожен токен коштує грошей, і без контролю витрати вийдуть за бюджет. Наші інженери вирішують ці задачі вже понад п'ять років, маючи за плечима десятки проєктів з інтеграції AI у мобільні застосунки. Ми сертифіковані Apple та Google, гарантуємо безпеку та продуктивність.

Як захистити API-ключ OpenAI у мобільному застосунку?

Єдиний безпечний спосіб — не зберігати ключ на клієнті. Ми проєктуємо backend-proxy: застосунок надсилає запити на ваш сервер, сервер авторизує користувача, застосовує rate limiting, логує витрати, підставляє ключ OpenAI та повертає відповідь. Додатково proxy кешує типові відповіді, знижуючи витрати на input_tokens на 20–30%. У результаті ні ключ, ні історія викликів не доступні на пристрої. Це підтверджується рекомендаціями Apple App Store Review Guidelines (Section 5.1).

Як організувати потокове виведення?

OpenAI повертає відповідь порціями через Server-Sent Events. Клієнт отримує рядки data:, кожен містить фрагмент delta.content. На iOS використовуємо URLSessionDataDelegate:

func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) { let lines = String(data: data, encoding: .utf8)?.components(separatedBy: "\n") ?? [] for line in lines where line.hasPrefix("data: ") { let jsonString = String(line.dropFirst(6)) guard jsonString != "[DONE]" else { return } // парсимо delta.content з JSON } } 

На Android — OkHttp з okhttp-sse:

val eventSource = EventSources.createFactory(client) .newEventSource(request, object : EventSourceListener() { override fun onEvent(source: EventSource, id: String?, type: String?, data: String) { if (data == "[DONE]") return // парсимо delta.content } }) 

Перший токен приходить через 200–400 мс. UI оновлюємо не частіше 50–100 мс, щоб не перевантажувати потік. Потокове виведення зменшує час очікування першої відповіді в 10 разів порівняно з повним завантаженням — користувач бачить текст практично миттєво.

Як керувати контекстом діалогу?

ChatGPT stateless — історію передаєте ви в масиві messages. Щоб не перевищити 128k токенів і не розоритися, застосовуємо одну з тактик:

  • Sliding window — останні 10–15 повідомлень, решту відкидаємо (економія 40–60%).
  • Summarization — при перевищенні порогу 8000 токенів стискаємо стару історію окремим запитом (економія 20–30%, але додає один API-виклик).
  • Selective memory — зберігаємо лише факти, які користувач явно вказав (економія 10–15%, складніша в реалізації).
Тактика Економія токенів Додаткові запити
Sliding window 40–60% 0
Summarization 20–30% 1 на стиснення
Selective memory 10–15% 0 (потрібен парсинг важливості)

Як відстежувати витрати?

Кожна відповідь містить usage.total_tokens. Логуємо його в Firebase або ваш backend. Встановлюємо жорсткий cap через OpenAI Usage Limits dashboard. Обмежуємо max_tokens під задачу — не 4096 там, де достатньо 256. Кешуємо system prompt через Prompt Caching — це знижує input-вартість на 35%.

Кейс: застосунок для мов з AI-репетитором (наш клієнт)

Наш клієнт розробляв застосунок для вивчення мов з AI-репетитором. Ми використовували gpt-4o-mini, streaming, контекст — останні 10 повідомлень + system prompt (300 токенів). Середній запит: 450 input + 180 output токенів. При 500 DAU і 15 повідомленнях у сесію — 3.4M токенів/день. Prompt Caching заощадив 35% input-вартості, що знизило щомісячні витрати на кілька сотень доларів.

Обробка помилок і типові помилки

429 — експоненційний backoff: 1s, 2s, 4s, до 3 retry. 503 — аналогічно. 400 — зазвичай неправильний формат messages. Всі помилки логуємо в Crashlytics / Sentry без ключа.

Типові помилки при інтеграції:

  • Зберігання ключа в UserDefaults / SharedPreferences.
  • Відсутність debounce на введення — кожен символ надсилає запит.
  • Ігнорування SSE парсингу на Android — використовують ResponseBody замість EventSource.
  • Перевищення лімітів токенів без summarization — контекст зростає нескінченно.

Що входить у роботу

  • Документація API та архітектура backend-proxy
  • Вихідний код інтеграції на Swift/Kotlin/Flutter
  • Навантажувальне тестування зі звітом
  • Інструкція з розгортання та CI/CD
  • Навчання команди (1–2 години вебінару)
  • Підтримка при публікації в App Store / Google Play

Як ми це робимо

Процес із п'яти кроків:

  1. Аналітика — розбираємо вашу архітектуру, вибираємо стратегію контексту та кешування.
  2. Проєктування — проєктуємо backend-proxy, схему маршрутизації, специфікацію API.
  3. Реалізація — пишемо код на Swift/Kotlin/Flutter, налаштовуємо streaming, логування, обробку помилок.
  4. Тестування — навантажувальне тестування з емуляцією реального трафіку, перевірка безпеки.
  5. Деплой — розгортання backend-proxy, налаштування CI/CD, публікація в App Store / Google Play.

Терміни та вартість

Базова інтеграція з потоковим виведенням, керуванням контекстом і backend-proxy — 3–5 робочих днів. Вартість розраховується індивідуально. Отримайте консультацію: напишіть нам, обговоримо ваш проєкт. Замовте інтеграцію ChatGPT API вже сьогодні.