eUICC API hatalarını ele alma

eUICC API'leri uygulamaların ve kullanıcıların eSIM profillerini indirme, etkinleştirme, devre dışı bırakma ve silme ile ilgili sorunları gidermelerine yardımcı olmak için hata kodları sağlar.

Hataları işleme

eUICC API çağrılırken bir hata oluşursa bekleyen intent geri çağırması sağlanır ve ayrıntılı hata kodunu alma anahtarı olarak EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE kullanılır. Android 11'den itibaren aşağıdaki dört anahtar ve değer, sonuç amacına dahil edilmiştir:

Bu dört değer, eUICC API çağrısı yapan kişinin belirli hataları ayrı ayrı ele almasına olanak tanır. Aşağıda, bu hataların nasıl ele alınacağına dair bir örnek verilmiştir.

int operationCode = intent.get(EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE)
int errorCode = intent.get(EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE)
String smdxSubjectCode = intent.get(EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE)
String smdxReasonCode = intent.get(EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE)

if (operationCode == OPERATION_DOWNLOAD && errorCode == ERROR_CARRIER_LOCKED) {
  // handle specific error i.e. tries to download but the device is carrier locked
} else if (operationCode == OPERATION_SMDX) {
  // handle all SM-DP+/SM-DS errors
} else if (errorCode == ERROR_TIME_OUT) {
  // handle all types of time out issues, regardless of operation.
} else if ("8.1".equals(smdxSubjectCode) && "3.1".equals(smdxReasonCode)) {
  // handle specific subject code and reason code: 8.1 and 4.1 means insufficient memory.
}

Desteklenen işlem ve hata kodu kombinasyonları

Aşağıdaki tabloda, yerel profil asistanı (LPA) tarafından döndürülen işlem ve hata kodlarının desteklenen kombinasyonu açıklanmaktadır.

İşlem ve hata kodu kombinasyonları
İşlem kodu Hata kodu Açıklama
OPERATION_SYSTEM Geçerli değil Dahili bir hata oluştu. Örneğin, ileti dizisi kesintiye uğradı veya IOException hatası oluştu.
OPERATION_SIM_SLOT Geçerli değil SIM kartı yuvası işlemi gerçekleştirilirken dahili bir hata oluştu.
ERROR_TIME_OUT SIM kartı yuvası işlemi gerçekleştirilmeye çalışılırken zaman aşımı oluştu.
ERROR_EUICC_MISSING Cihazda etkin veya kullanılabilir eUICC yok.
OPERATION_EUICC_CARD Geçerli değil eUICC işlemi gerçekleştirilirken dahili bir hata oluştu.
ERROR_UNSUPPORTED_VERSION eUICC (çip) sürümü ve EuiccCard (yazılım) sürümü uyumlu değil.
ERROR_EUICC_MISSING Cihazda SIM kart yok. Örneğin, LPA SIM kartı algılayamaz.
OPERATION_SMDX Geçerli değil SM-DP+/SM-DS işlemi yürütülürken dahili bir hata oluştu.
ERROR_ADDRESS_MISSING Profili indirilecek SM-DP+ adresi yok.
ERROR_INVALID_CONFIRMATION_CODE Etkinleştirme kodu ayrıştırılırken hata oluştu (geçersiz biçim).
ERROR_CERTIFICATE_ERROR Doğrulama için TLS bağlantısında kullanıldığında anahtar mağazası veya sertifika hatası.
ERROR_NO_PROFILES_AVAILABLE SM-DP+ tarafından kullanılabilir profil yok.
ERROR_CONNECTION_ERROR Sunucuyla bağlantı oluşturulamıyor.
ERROR_INVALID_RESPONSE SM-DP+/SM-DS sunucusundan geçersiz yanıt alındı.
OPERATION_SWITCH Geçerli değil Geçiş işlemi gerçekleştirilirken dahili bir hata oluştu.
ERROR_CARRIER_LOCKED Cihaz operatör kilitli (SIM kilitli) olduğu için profil değiştirmeye izin verilmiyor.
OPERATION_DOWNLOAD Geçerli değil İndirme işlemi gerçekleştirilirken dahili bir hata oluştu.
ERROR_DISALLOWED_BY_PPR eUICC'deki Kural Yetkilendirme Tablosu null ise veya indirme işlemine profil politikası kuralı tarafından izin verilmiyorsa.
ERROR_INVALID_ACTIVATION_CODE Etkinleştirme kodu ayrıştırılırken (geçersiz biçim) veya etkinleştirme kodu olmadan indirmeye çalışırken hata oluştu.
ERROR_CARRIER_LOCKED Cihaz operatör kilitli (SIM kilitli) olduğu için indirmeye izin verilmiyor.
ERROR_INCOMPATIBLE_CARRIER Operatör kara listedeyse ve LPA, SM-DP+/SM-DS'den profil indiremez.
ERROR_OPERATION_BUSY Profil indirme işlemi devam ediyor ve SIM durumu değişikliklerini tetikleyebilecek başka işlemlere izin verilmiyor.
OPERATION_METADATA Geçerli değil Meta veri işlemi gerçekleştirilirken dahili bir hata oluştu.
ERROR_INVALID_ACTIVATION_CODE Abonelik meta verileri boş veya abonelik meta verilerinin içindeki etkinleştirme kodu boş ya da geçersiz.
ERROR_INCOMPATIBLE_CARRIER Operatör kara listededir ve LPA, bu operatörün profilini SM-DP+/SM-DS'den indiremez.
OPERATION_EUICC_GSMA Geçerli değil eUICC GSMA işlemi gerçekleştirilirken dahili bir hata oluştu.
ERROR_INSTALL_PROFILE Profil yüklenmeye çalışılırken eUICC ile ilgili hata. Örneğin, profil zaten mevcuttur veya ICCID eşleşmez.
ERROR_EUICC_INSUFFICIENT_MEMORY Profil yüklenmeye çalışılırken eUICC ile ilgili hata. eUICC'de yeterli bellek yok.
ERROR_DISALLOWED_BY_PPR Profil yüklenmeye çalışılırken eUICC ile ilgili hata. Profil politikası kuralı izin vermiyor.
OPERATION_APDU Geçerli değil APDU işlemi gerçekleştirilirken dahili bir hata oluştu.
OPERATION_HTTP 1-999 Hata kodu bir HTTP hata değeridir.
İşlem kodu Konu kodu Neden kodu Açıklama
OPERATION_SMDX_SUBJECT_REASON_CODE Dize, başta sıfır olmadan noktayla ayrılmış 3 basamak içerir. Örneğin, 8.1.1. Dize, başında sıfır olmadan noktayla ayrılmış 3 basamak içerir. Örneğin, 3.8. GSMA'dan (SGP.22 v2.2) SubjectCode[5.2.6.1] ve REASONCode[5.2.6.2]. Örneğin, 8.1.1 SubjectCode ve 3.8 ReasonCode değerleri, EID'nin başka bir cihaza bağlı olduğu anlamına gelir.