הטמעת מעבר בין פרופילי eSIM באפליקציה לנייד

משתמשים עייפים מלעבור ידנית בין מספרי עבודה ופרטיים בהגדרות הסמארטפון—זה גוזל זמן ויוצר חסמים מיותרים. אנחנו מפתחים אפליקציות מובייל לניהול פרופילי eSIM שמבצעות מעבר אוטומטי ב-Android וב-iOS. הצוות שלנו מספק פתרון סוהר—מבדיקת היתכנות ועד פריסה ותמיכה שוטפת—כדי להבטיח מערכת אמינה שגדלה עם העסק שלכם.

פיתוח ותמיכה בכל סוגי היישומים הניידים:

יישומים ניידים למידע ובידור
אפליקציות חדשות, משחקים, מדריכים, קטלוגים מקוונים, אפליקציות מזג אוויר, אפליקציות כושר ובריאות, אפליקציות נסיעות, אפליקציות חינוכיות, רשתות חברתיות ומסנג'רים, חידונים, בלוגים ופודקאסטים, פורומים, אגרגטורים
יישומים ניידים למסחר אלקטרוני
חנויות מקוונות, אפליקציות B2B, מרקטפלייסים, בורסות מקוונות, שירותי קאשבק, בורסות, פלטפורמות דרופשיפינג, תוכניות נאמנות, משלוחי מזון ומוצרים, מערכות תשלום.
יישומים ניידים לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, ניהול פרויקטים, כלים לצוותי מכירות, ניהול פיננסי, ניהול ייצור, ניהול לוגיסטיקה ומשלוחים, ניהול משאבי אנוש, מערכות ניטור נתונים
יישומים ניידים לשירותים אלקטרוניים
פלטפורמות מודעות מסווגות, בתי ספר מקוונים, בתי קולנוע מקוונים, פלטפורמות שירות אלקטרוניות, פלטפורמות קאשבק, אירוח וידאו, פורטלים נושאיים, פלטפורמות הזמנות ותזמון מקוונות, פלטפורמות מסחר מקוונות

אלה הם רק חלק מסוגי היישומים הניידים שאנו עובדים איתם, ולכל אחד מהם עשויים להיות מאפיינים ופונקציונליות ספציפיים משלו, המותאמים לצרכים ולמטרות הספציפיות של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
הטמעת מעבר בין פרופילי eSIM באפליקציה לנייד
מורכב
מ- 1 שבוע עד 3 חודשים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

מבוא

דמיינו שאתם מפתחים אפליקציה לניהול פרופילי eSIM. משתמש רוצה לעבור בין מספרי עבודה ואישיים מבלי להיכנס ידנית להגדרות. באנדרואיד, EuiccManager מחזיר מגוון קודי שגיאה, וב-iOS ללא הרשאת ספק (Carrier entitlement) מקבלים רק קישור עמוק להגדרות. משתמשים מבזבזים עד דקה במעבר ידני, בעוד שמעבר פרוגרמטי באנדרואיד אורך כ-20 שניות בממוצע—פי 3 הפרש בזמן. כל מעבר חוסך עד 40 שניות. ב-10 מעברים ביום זה 6 דקות ביום, או שעתיים בחודש. בעלות ממוצעת של 30 דולר לשעה, החיסכון מגיע ל-60 דולר בחודש למשתמש. לחברה עם 10 עובדים, החיסכון השנתי מגיע ל-7,200 דולר. עלות פיתוח טיפוסית למודול מעבר eSIM בסיסי נעה בין 5,000 ל-10,000 דולר לפלטפורמה, ומציעה החזר השקעה מהיר. צברנו מומחיות ביותר מ-20 פרויקטים ואנחנו מוכנים לחלוק אותה.

למפעילים סלולריים ולפתרונות ארגוניים, אוטומציה של מעבר פרופילי eSIM היא תכונה קריטית שמגבירה נאמנות ומפחיתה עומס תמיכה. מאמר זה מכסה את כל תהליך פיתוח ה-eSIM: אינטגרציה, מלכודות ואיך להימנע מהן.

יישום באנדרואיד

איך ליישם מעבר eSIM באנדרואיד?

שלב 1: הגדרת הרשאות

הוסיפו את ההרשאה switchToSubscription() ל-manifest שלכם.

שלב 2: קבלת פרופילים מותקנים

השתמשו ב-Settings מסונן לפי EuiccManager.switchToSubscription(). דוגמה:

fun switchToProfile(subscriptionId: Int) {
    val activeSubInfo = subscriptionManager.activeSubscriptionInfoList
    val currentEsimId = activeSubInfo?.firstOrNull { it.isEmbedded }?.subscriptionId
    if (currentEsimId == subscriptionId) {
        showMessage("Этот профиль уже активен")
        return
    }
    euiccManager.switchToSubscription(
        subscriptionId,
        PendingIntent.getBroadcast(
            context,
            REQUEST_CODE_SWITCH,
            Intent(ACTION_ESIM_SWITCH_COMPLETE),
            PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
        )
    )
}

// BroadcastReceiver для обработки результата
private val switchReceiver = object : BroadcastReceiver() {
    override fun onReceive(context: Context, intent: Intent) {
        val resultCode = intent.getIntExtra(EuiccManager.EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE, 0)
        if (resultCode == EuiccManager.EMBEDDED_SUBSCRIPTION_RESULT_OK) {
            onSwitchSuccess()
        } else {
            onSwitchError(resultCode)
        }
    }
}

שלב 3: מעבר לפרופיל

השתמשו ב-subscriptionId. דוגמה:

if (Build.MANUFACTURER.equals("samsung", ignoreCase = true)) {
    euiccManager.switchToSubscription(
        subscriptionId,
        forceDeactivateSim = true,
        callbackIntent = pendingIntent
    )
}

שלב 4: טיפול בפרטים ספציפיים ליצרן

במכשירי סמסונג, השתמשו ב-PendingIntent כדי לדכא את תיבת הדו-שיח:

import CoreTelephony
let subscriptionManager = CTSubscriptionManager()
let subscriptions = subscriptionManager.subscriptions
// Прямого switch без entitlement нет

חשוב: במכשירי Qualcomm, לאחר BroadcastReceiver מודול הרדיו מאתחל מחדש. אנחנו תמיד מזהירים את המשתמש: "המעבר יגרום לאובדן אות למשך 15–30 שניות." ב-95% מהמקרים, המעבר מצליח בניסיון הראשון, אך ב-5% נתקלים בשגיאה זמנית שנפתרת בניסיון חוזר. אם אתם נתקלים באתגרי אינטגרציה, צרו קשר—המהנדסים שלנו יעזרו.

מגבלות iOS

מהן המגבלות של מעבר eSIM ב-iOS?

ב-iOS, מעבר פרוגרמטי זמין רק דרך הרשאת ספק (Carrier entitlement). אפליקציות רגילות יכולות רק לפתוח את הגדרות הסלולר. אין API ישיר לבחירת הפרופיל הפעיל. זהו אמצעי אבטחה—פרופילי eSIM מקושרים לספק. אם יש לכם את ההרשאה, השתמשו ב-switchToSubscription:

fun getInstalledEsimProfiles(): List<SubscriptionInfo> {
    val allSubs = subscriptionManager.availableSubscriptionInfoList ?: emptyList()
    return allSubs.filter { it.isEmbedded }
        .map { sub ->
            // sub.displayName — имя оператора
            // sub.simSlotIndex: -1 если inactive, >= 0 если active
            sub
        }
}

לרוב האפליקציות, האפשרות היחידה נשארת קישור עמוק ל-fun switchToProfile(subscriptionId: Int) { val activeSubInfo = subscriptionManager.activeSubscriptionInfoList val currentEsimId = activeSubInfo?.firstOrNull { it.isEmbedded }?.subscriptionId if (currentEsimId == subscriptionId) { showMessage("Этот профиль уже активен") return } euiccManager.switchToSubscription( subscriptionId, PendingIntent.getBroadcast( context, REQUEST_CODE_SWITCH, Intent(ACTION_ESIM_SWITCH_COMPLETE), PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE ) ) } // BroadcastReceiver для обработки результата private val switchReceiver = object : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { val resultCode = intent.getIntExtra(EuiccManager.EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE, 0) if (resultCode == EuiccManager.EMBEDDED_SUBSCRIPTION_RESULT_OK) { onSwitchSuccess() } else { onSwitchError(resultCode) } } } . חוויית המשתמש נפגעת, אבל זו הדרך היחידה ללא משא ומתן מורכב עם אפל.

השוואת פלטפורמות

פרמטר אנדרואיד iOS (ללא הרשאה)
API forceDeactivateSim = true רק פתיחת WRITE_EMBEDDED_SUBSCRIPTIONS
זמן מעבר 10–30 שניות (ממוצע 20 שניות) לא מבוקר (המשתמש ידנית)
תיבת דו-שיח מערכתית כן (ניתן לדכא בסמסונג) לא (רק הגדרות)
קבלת כל הפרופילים if (Build.MANUFACTURER.equals("samsung", ignoreCase = true)) { euiccManager.switchToSubscription( subscriptionId, forceDeactivateSim = true, callbackIntent = pendingIntent ) } רק פעיל דרך switchToSubscription
הצלחה בניסיון ראשון ~95% ~70% (בגלל הגורם האנושי)

מעבר פרוגרמטי מהיר פי 3 ממעבר ידני, ושיעור ההצלחה של אנדרואיד (95%) גבוה בכמעט 40% מזה של iOS (70%).

טיפול בשגיאות

שגיאות eSIM נפוצות

שגיאות eSIM נפוצות כוללות קוד Carrier entitlement (כללי) ו-CTSubscriptionManager. לפי מפרט ה-GSMA eSIM, טיפול נכון בשגיאות הוא קריטי לחוויית משתמש חלקה.

תהליך הפיתוח

איך עובד תהליך פיתוח eSIM?

תהליך פיתוח eSIM כולל ניתוח, עיצוב, יישום, בדיקות והשקה. אנחנו מבטיחים אינטגרציה מוצלחת ומספקים 30 ימי תמיכה. הצוות שלנו מחזיק בהסמכות באבטחת מובייל ובטכנולוגיות eSIM.

תוצרים

  • קוד מקור של מודול מעבר ה-eSIM עם הערות.
  • תיעוד על שימוש ב-API וטיפול בשגיאות.
  • הגדרות הרשאות וחתימה.
  • הוראות לפרסום בחנות.
  • תמיכה ל-30 יום לאחר המסירה.

לוח זמנים ועלות

לוחות זמנים: אנדרואיד (מעבר בסיסי עם ממשק משתמש) — 1–2 שבועות; iOS (קישור עמוק + תצוגה) — 3–5 ימים. פתרון מלא ברמת ספק לשתי הפלטפורמות — 1–2 חודשים. העלות מחושבת באופן אישי לפי מורכבות ומספר הפלטפורמות. קבלו הערכה לפרויקט שלכם ביום עסקים אחד—צרו קשר.

ניסיון החברה

אנחנו עוסקים בפיתוח מובייל כבר 5+ שנים והעברנו 20+ פרויקטים עם אינטגרציית eSIM. אנחנו מכירים את כל המלכודות: מקודי שגיאה של EuiccManager ועד באגים ב-iOS. אם אתם רוצים לאוטמט מעבר eSIM, בקשו ייעוץ—נעריך את הפרויקט שלכם ביום עסקים אחד.

לפי ויקיפדיה eSIM, מפרט ה-GSMA RSP מגדיר את הפרוטוקול להורדה ומעבר בין פרופילים.