İlgili içeriği oluşturmak için kullanılan eUICC API'leri uygulamaların ve kullanıcıların eSIM profillerini indirme, etkinleştirme, devre dışı bırakma ve silme.
Hataları işleme
eUICC API çağrılırken bir hata oluşursa bekleyen intent geri çağırması
sağlanır ve
EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE
anahtar kelimesi olarak kullanılır. Başlangıç tarihi:
Android 11'de, aşağıdaki dört anahtar ve değer şunlardır:
dahil edilir:
EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE
: Sorunla ilgili bilgi sağlar. Örneğin, dosya indirme veya eSIM profili siliniyor. Bu alan hiçbir zaman boş değildir.EXTRA_EMBEDDED_SUBSCRIPTION_ERROR_CODE
: Hatanın neden oluştuğuyla ilgili bilgiler. Örneğin, istek zamanlanmış veya operatör tarafından kilitlenmiş olması gerekir. Bu alan şu durumlardan biridir:- İşlem kodu:
OPERATION_SMDX_SUBJECT_REASON_CODE
. - Hata,
IOException
veyaInterruptedException
.
- İşlem kodu:
EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE
: Birlikte kullanılanEXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE
ile birlikte GSMA'dan (SGP.22) SubjectCode[5.2.6.1] ve REASONCode[5.2.6.2] bilgilerini sağlayın sürüm 2.2) destekler. Bu alan yalnızca işlem kodu şu olduğunda doldurulur:OPERATION_SMDX_SUBJECT_REASON_CODE
.EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE
: Birlikte kullanılanEXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE
ile birlikte GSMA'dan (SGP.22) SubjectCode[5.2.6.1] ve REASONCode[5.2.6.2] bilgilerini sağlayın sürüm 2.2) destekler. Bu alan yalnızca işlem kodu şu olduğunda doldurulur:OPERATION_SMDX_SUBJECT_REASON_CODE
.
Bu dört değer, eUICC API çağrısı yapan kişinin belirli hataları işlemesine olanak tanır. ayrı ayrı düzenleyebilirsiniz. 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, desteklenen işlem ve yerel profil asistanının (LPA) döndürdüğü hata kodları.
İş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 hata oluştu. |
|
OPERATION_SIM_SLOT |
Geçerli değil | SIM yuvası işlemi gerçekleştirilirken dahili bir hata oluştu. | |
ERROR_TIME_OUT |
SIM yuvası işlemi gerçekleştirilmeye çalışılırken zaman aşımına uğradı. | ||
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ü bu değil uyumlu olmalıdır. | ||
ERROR_EUICC_MISSING |
Cihazda SIM kart yok. Örneğin, LPA devre dışı bırakılır. | ||
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 bir hata oluştu (geçersiz biçim). | ||
ERROR_CERTIFICATE_ERROR |
için TLS bağlantısında kullanıldığında anahtar deposu veya sertifika hatası doğrulama. | ||
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. | ||
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 olduğundan profil değiştirmeye izin verilmiyor (SIM kilitli). | ||
OPERATION_DOWNLOAD |
Geçerli değil | İndirme işlemi gerçekleştirilirken dahili hata oluştu. | |
ERROR_DISALLOWED_BY_PPR |
eUICC'deki Kural Yetkilendirme Tablosu boş veya indirme işlemi profil politikası kuralı tarafından engellendi. | ||
ERROR_INVALID_ACTIVATION_CODE |
Etkinleştirme kodu ayrıştırılırken bir hata oluştu (geçersiz biçim) veya etkinleştirme kodu olmadan indirmeye çalışıyor. | ||
ERROR_CARRIER_LOCKED |
Cihaz operatör kilitli olduğu için indirmeye izin verilmiyor (SIM kilitli). | ||
ERROR_INCOMPATIBLE_CARRIER |
Operatör kara listede ve LPA şuradan profil indiremiyor SM-DP+/SM-DS | ||
ERROR_OPERATION_BUSY |
Profil indirme işlemi devam ediyor ve SIM'i tetikleyebilecek başka işlem yok durum değişikliklerine izin verilir. | ||
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 etkinleştirme kodu abonelik meta verisi boş veya geçersiz. | ||
ERROR_INCOMPATIBLE_CARRIER |
Operatör kara listede ve LPA bu operatörün profilindeki gibi. | ||
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 hatası oluştu. Örneğin, profil zaten mevcut veya ICCID eşleşmiyor. | ||
ERROR_EUICC_INSUFFICIENT_MEMORY |
Profil yüklenmeye çalışılırken eUICC hatası oluştu. Cihazınızda yeterli bellek yok eUICC. | ||
ERROR_DISALLOWED_BY_PPR |
Profil yüklenmeye çalışılırken eUICC hatası oluştu. profil politikası kuralı. | ||
OPERATION_APDU |
Geçerli değil | APDU işlemi gerçekleştirilirken dahili 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 |
Dizede noktayla ayrılmış, başında sıfır olmayan 3 basamak var. Örneğin,
örnek, 8.1.1 . |
Dize, başında sıfır olmadan noktayla ayrılmış 3 basamak içeriyor. Örneğin,
örnek, 3.8 . |
GSMA'dan (SGP.22 v2.2) SubjectCode[5.2.6.1] ve REASONCode[5.2.6.2]. Örneğin,
örnek, 8.1.1 SubjectCode ve REASONCode:
3.8 , SIM kimliği anlamına gelir
bağlı olduğundan emin olun. |