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

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

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

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

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

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

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

MobileIron—EMM-платформа, з 2020 року у складі Ivanti як Ivanti Mobile@Work та Ivanti Neurons for MDM. Зустрічається в enterprise-організаціях з довгою історією MDM-розгортання: банки, державні структури,크крупний retail. Якщо замовник уже використовує MobileIron/Ivanti—інтеграція додатка будується на MobileIron AppConnect SDK або через стандартний Managed App Configuration протокол Apple/Android Enterprise.

Два шляхи інтеграції: AppConnect SDK vs Managed Config

Шлях 1: MobileIron AppConnect SDK. Проприетарний SDK, який створює ізольований контейнер навколо додатка. Дані додатка шифруються незалежним ключем, керованим MobileIron сервером. Контейнер відкривається лише при наявності активної MobileIron-реєстрації.

Шлях 2: Managed App Configuration (Apple) / Android Managed Configurations. Стандартний механізм без проприетарного SDK. MobileIron як MDM-сервер підтримує обидва протоколи. Додаток не залежить від вендора EMM—працює з Intune, Workspace ONE, MobileIron.

Для нових проектів переважіємо Managed App Configuration—менше vendor lock-in. AppConnect SDK виправданий, якщо потрібні специфічні функції: AppConnect Tunnel (per-app VPN), шифрування AppConnect Keychain, або інфраструктура вже на MobileIron і переходу не планується.

AppConnect SDK: інтеграція на iOS

Додавання через CocoaPods:

pod 'AppConnectLib'

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

import AppConnectLib

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, ACManagerDelegate {

    func application(_ app: UIApplication, didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        ACManager.shared().delegate = self
        ACManager.shared().startUp(with: self.window)
        return true
    }

    // Отримуємо конфігурацію від MobileIron сервера
    func appConnectConfigReceived(_ config: [AnyHashable: Any]?) {
        guard let config = config else { return }
        let serverURL = config["server_url"] as? String
        let orgID = config["org_id"] as? String
        AppSettings.shared.configure(serverURL: serverURL, orgID: orgID)
    }

    // Політика DLP змінилась
    func appConnectPolicyReceived(_ policy: [AnyHashable: Any]?) {
        let copyPasteAllowed = policy?["copy_paste_out"] as? Bool ?? false
        DLPEnforcer.shared.setCopyPasteEnabled(copyPasteAllowed)
    }
}

AppConnect Keychain: ізольоване сховище секретів

AppConnect надає власний Keychain, зашифрований ключем контейнера. Якщо MDM-реєстрація відзивається—ключі недоступні без повторної авторизації.

// Зберігання через AppConnect Keychain
let acKeychain = ACKeychain()
acKeychain.setData(tokenData, forKey: "auth_token", inGroup: "corporate")

// Читання
let tokenData = acKeychain.data(forKey: "auth_token", inGroup: "corporate")

Відмінність від стандартного iOS Keychain: при remote wipe через MobileIron AppConnect Keychain очищується незалежно. Особисті ключи користувача не торкаються.

Android: MobileIron Android AppConnect

На Android AppConnect працює аналогічно, реалізований через AppConnect wrapper навколо Application:

class MyApplication : AppConnectApplication() {
    override fun onCreate() {
        super.onCreate()
        // AppConnect перехватує ContentProvider, ClipboardManager, FileProvider
    }
}

Важливо: AppConnectApplication вимагає, щоб усі Activity наслідувалися від AppConnectActivity. Серйозне обмеження для legacy-додатків на Fragment + ViewPager архітектурі. Частковий вихід—AppConnectFragmentActivity як проміжний базовий клас.

Ivanti Neurons for MDM: сучасний API

Після ребрендінгу в Ivanti з'явився новий cloud-native MDM з REST API: GET /api/v1/devices, POST /api/v1/policies, DELETE /api/v1/apps/{appId}. Дозволяє автоматизувати управління додатком з CI/CD без ручних дій в UI консолі.

Приклад: автоматичний push нового IPA при релізі через GitHub Actions:

# Ivanti Neurons REST API
curl -X POST "https://tenant.mobileiron.com/api/v1/apps" \
  -H "Authorization: Bearer $IVANTI_TOKEN" \
  -H "Content-Type: multipart/form-data" \
  -F "file=@build/app.ipa" \
  -F "metadata={\"bundleId\":\"com.company.app\",\"appStoreId\":\"enterprise\"}"

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

AppConnect не ініціалізується при першому запуску. Причина: MobileIron Go (клієнтське додаток) не встановлено або не залогінено. AppConnect SDK потребує MobileIron Go як «сторожа контейнера». У production enrollment workflow—MobileIron Go встановлюється першим через MDM.

Конфігурація не приходить після смени політики на сервері. AppConnect polling interval за замовчуванням—15 хвилин. Для force-sync: ACManager.shared().checkIn(). У production додаємо checkin при кожному applicationWillEnterForeground.

Етапи інтеграції

Аналіз інфраструктури MobileIron/Ivanti → вибір AppConnect SDK або Managed App Configuration → інтеграція SDK → реалізація config/policy callbacks → AppConnect Keychain → тестування enrollment та wipe → деплой через MobileIron App Catalog.

Терміни: Managed App Configuration (без SDK)—2–3 тижні. Повна інтеграція AppConnect SDK—4–7 тижнів. Вартість розраховується індивідуально.