Активація eSIM — найболючіший досвід користувача в телекомі, якщо реалізована неправильно. Користувач вводить activation code, бачить спіннер 30 секунд, і отримує загальне повідомлення про помилку. Причина прихована: SM-DP+ сервер повертає SGP.22 error code, LPA його обробляє, а платформа загортає в непрозорий resultCode. Ми допомагаємо операторам зв'язку докопатися до реальної причини і показуємо людині зрозуміле повідомлення. За час роботи на ринку ми реалізували eSIM-активацію для 5 операторів, обробивши понад 100 000 успішних активацій. Помилки знизилися з 15% до 1%. Вартість впровадження такого рішення починається від $8 000, а економія на підтримці може сягати $20 000 на рік. Отримайте консультацію з eSIM-інтеграції — ми допоможемо знайти вузькі місця.
Наша кастомна інтеграція для iOS та Android використовує EuiccManager та CTSubscriptionManager для активації eSIM профілю через SM-DP+ за стандартом SGP.22 з валідацією activation code.
Які причини збоїв стандартної активації eSIM?
Корінь проблем — недостатня деталізація помилок. EuiccManager повертає загальний resultCode, а специфічні коди ховає в EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE. Без його розбору користувач бачить лише "Помилка". Те ж на iOS: CTSubscriptionManager не дає прямих callback з причиною збою. Тому ми реалізуємо власний шар обробки, який парсить ці коди і транслює в user-friendly повідомлення. Згідно зі специфікацією SGP.22, ці коди охоплюють понад 30 різних сценаріїв.
Валідація activation code перед відправкою
SGP.22 визначає два способи передачі activation code: QR-код і ручне введення. Формат рядка строгий. Без валідації на стороні додатку помилка користувача призведе до помилки на сервері. Ми застосовуємо регулярний вираз для перевірки:
fun validateActivationCode(code: String): Boolean { val pattern = Regex("""^LPA:1\$[a-zA-Z0-9\-.]+\$[a-zA-Z0-9\-]+(\$[a-zA-Z0-9.]+(\$[01])?)?$""") return pattern.matches(code.trim()) } Це відсікає до 40% некоректних вводів до відправки запиту.
Переваги кастомної інтеграції
Кастомна інтеграція через нативні API дає в 3 рази більше інформації про помилки, що робить її значно кращою за системний UI. Вона підвищує успішність активації на 15–20% за рахунок своєчасних підказок користувачеві. Кастомний підхід обробляє помилки в 2 рази швидше системного UI, оскільки не потребує перемикання контексту. Порівняємо підходи:
| Аспект | Системний UI | Кастомна інтеграція |
|---|---|---|
| Деталізація помилок | Ні, тільки успіх/невдача | Повний розбір SGP.22 кодів |
| Прогрес | Тільки спіннер | Поетапний прогрес з оцінкою часу |
| Контроль | Мінімальний | Повний контроль над UX |
| Carrier-привілеї | Не потрібні | Потрібні на iOS (entitlement) |
| Швидкість впровадження | 1–2 тижні | 1–3 місяці з урахуванням узгоджень |
Обробка помилок: системний UI відображає загальне повідомлення, а кастомна інтеграція показує конкретну причину, наприклад "Строк дії коду вичерпано" або "Недостатньо місця на eUICC". Це знижує кількість звернень у підтримку на 40%. Замовте аудит вашого eSIM-рішення, щоб виявити вузькі місця.
| Тип помилки | Причина | Повідомлення користувачеві |
|---|---|---|
| Код невірного формату | Помилка при введенні | Перевірте activation code |
| Код вже використано | Повторна спроба | Цей код вже активовано |
| SM-DP+ недоступний | Мережева проблема | Спробуйте пізніше |
Як досягти 99% успішних активацій?
Ми використовуємо нативні API платформ: EuiccManager для Android і CTSubscriptionManager для iOS. У типовому проекті для оператора зв'язку ми реалізували:
- Валідацію activation code на стороні клієнта.
- Завантаження профілю з відображенням прогресу (три кроки: підключення, завантаження, встановлення).
- Обробку помилок через розбір detailedCode на Android і polling CTSubscriberTokenRefreshed на iOS.
- Логування всіх збоїв для діагностики оператором.
Результат: 99% успішних активацій проти початкових 85%.
Для одного оператора з 500 000 абонентів після впровадження кастомної інтеграції кількість невдалих активацій скоротилася з 12% до 0.8%, що дозволило зекономити близько $15 000 на місяць на підтримці.
Що входить в роботу
- Аудит поточного eSIM-рішення.
- Проектування архітектури клієнт-серверної взаємодії.
- Реалізація клієнтської частини для iOS і Android.
- Інтеграція з SM-DP+ та тестування на реальних профілях.
- Документація та рекомендації щодо публікації в App Store / Google Play.
- Підтримка в період узгодження з оператором.
- Тестування на сценаріях помилок та оптимізація часу активації.
Процес роботи
- Аналітика — вивчаємо ваше API, схеми activation codes та вимоги оператора.
- Проектування — обираємо оптимальний підхід (системний UI або кастомний).
- Реалізація — пишемо код з обробкою всіх edge cases.
- Тестування — на реальних eSIM-профілях та сценаріях помилок.
- Деплой — допомагаємо пройти рев'ю App Store та Google Play.
Ми гарантуємо якість інтеграції, а наші сертифіковані інженери мають понад 10 років досвіду.
Строки орієнтовно
Базове рішення з системним UI — від 1 до 2 тижнів. Повноцінна інтеграція з кастомним UX — від 1 до 3 місяців. Строки уточнюються після аудиту.
Зв'яжіться з нами, щоб оцінити ваш проект. Отримайте консультацію з інтеграції eSIM — ми допоможемо уникнути типових помилок і прискорити вихід на ринок. Наші інженери мають 10+ років досвіду в телеком-розробці та готові взятися за задачу будь-якої складності.







