Інтеграція Freshdesk SDK для підтримки в мобільному додатку

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

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

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

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

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

Інтеграція Freshdesk SDK для підтримки у мобільному додатку

Freshdesk SDK (Freshchat) — вибір, коли потрібна тікет-система з чатом й при цьому хочеться уникнути enterprise-ціноків Zendesk або Intercom. SDK достатньо зрілий, але документація періодично відстає від актуальних версій, що створює нестандартні складності при інтеграції.

Встановлення

iOS

# Podfile
pod 'FreshchatSDK'

Freshchat SDK — важкий: додає близько 8–12 MB до розміру бінарника. Для додатків, де вага критична, це важливо врахувати до початку інтеграції.

Android

// build.gradle.kts
implementation("com.freshchat.consumer.sdk:freshchat-android:5.x.x")

Для Android потрібен мінімальний minSdk = 21 — якщо в проекті нижче, потребує понижень або умовної загрузки.

Ініціалізація

// iOS: AppDelegate
import FreshchatSDK

func application(_ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    let config = FreshchatConfig(
        appID: "YOUR_APP_ID",
        andAppKey: "YOUR_APP_KEY"
    )
    config.teamMemberInfoVisible = true
    config.showNotificationBanner = true
    Freshchat.sharedInstance().initWith(config)
    return true
}
// Android: Application.onCreate()
val config = FreshchatConfig("YOUR_APP_ID", "YOUR_APP_KEY")
config.isTeamMemberInfoVisible = true
Freshchat.init(this, config)

Ідентифікація й користувацькі властивості

// iOS: встановлення даних користувача
let user = FreshchatUser.sharedInstance()
user.firstName = "John"
user.lastName = "Doe"
user.email = "[email protected]"
user.externalID = "user_id_12345"
Freshchat.sharedInstance().setUser(user)

// Кастомні властивості для агента
Freshchat.sharedInstance().setUserPropertyforKey("subscription_plan", withValue: "premium")

Важливо: кастомні властивості передаються агенту — вони видні в панелі Freshdesk при перегляді чату. Не передавайте чутливі дані навіть замасковані.

Відкриття інтерфейсу

// Конкретний канал підтримки
Freshchat.sharedInstance().showConversations(self, with: nil)

// FAQ-раздел
Freshchat.sharedInstance().showFAQs(self, with: nil)

Freshchat дозволяє обмежити показувані FAQ по тегам — зручно, якщо FAQ написані на кількох мовах або для різних сегментів користувачів:

let options = FreshchatOptions()
options.tags = ["premium", "ios"]
Freshchat.sharedInstance().showFAQs(self, with: options)

Push-уведомлення

// iOS: передаємо APNs токен
func application(_ application: UIApplication,
    didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    Freshchat.sharedInstance().setPushRegistrationToken(deviceToken)
}

// Обробка push
func application(_ application: UIApplication,
    didReceiveRemoteNotification userInfo: [AnyHashable: Any]) {
    if Freshchat.sharedInstance().isFreshchatNotification(userInfo) {
        Freshchat.sharedInstance().handleRemoteNotification(userInfo, andAppState: application.applicationState)
    }
}

Freshchat використовує власний push-канал через APNs. p8-ключ або p12-сертифікат завантажується в Freshdesk Admin → Mobile App.

Типові проблеми

Конфлікт тем на Android. Freshchat тягне свою тему FreshchatTheme й переопалює кольори ActionBar. Якщо в додатку кастомна тема — після відкриття Freshchat UI кольори тулбара скидаються. Вирішення: насліджувати тему Freshchat від вашої базової теми через FreshchatTheme override у styles.xml.

Localization. SDK з коробки підтримує кілька мов, але якщо потрібна кастомна локалізація строк інтерфейсу (наприклад, брендована кнопка «Написати нам» замість «Start a conversation») — необхідно переопалювати строки через Localizable.strings (iOS) або strings.xml (Android) з тими ж ключами, що використовує SDK.

Restore ID. Після видалення й переустановлення додатку історія чату пропадає, якщо не реалізувати механізм Restore ID. Freshchat генерує ID при першій ініціалізації — його потрібно зберегти на backend й відновити при наступній сесії.

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

Базова інтеграція з чатом і push — 2–4 дні. Повна інтеграція з Restore ID, кастомною темою, FAQ по тегам і мультиязычністю — до 1 тижня.