بالنسبة إلى الأجهزة التي تعمل بالإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث، يمكن استخدام نظام يتيح استخدام العديد من الملفات الشخصية المفعَّلة (MEPs) لواجهة eUICC. تتيح هذه الميزة للأجهزة أن يتيح استخدام شريحة eSIM واحدة باستخدام شريحة eSIM واحدة، والتي يمكن أن تحتوي على شرائح SIM متعددة الملفات الشخصية كما يمكنك الاتصال باثنين من مشغلي شبكات الجوّال المختلفين في الوقت نفسه. الجهاز أن تعمل الشركات المصنّعة مع مورّدي منظومة على الرقاقة (SoC) وشريحة eSIM البائعين بدمج هذه الميزة على أجهزتهم.
خلفية
على الأجهزة التي تعمل بالإصدار 12 من نظام التشغيل Android والإصدارات الأقدم، يوفّر AOSP دعم محدود من خلال السماح لشريحة eSIM واحدة بالتوافق مع عدة ملفات شخصية على في نفس الوقت. على الرغم من المساحة الكبيرة وتوفير التكاليف الذي توفره شريحة eSIM، عدم توفُّر إمكانية استخدام شريحتَي SIM، ما يمنع الشركات المصنّعة للأجهزة من استخدام شريحة eSIM فقط الأجهزة. لإتاحة إمكانية استخدام شريحتَي SIM على جهاز مزوّد بشريحة eSIM فقط، يجب أن تدمج الشركات المصنّعة عنصرَي شريحة eSIM في الجهاز، ما يزيد من تكلفة فاتورة المواد (BOM) وتؤدي إلى ترك انطباعات سيئة لدى المستخدمين بسبب الاشتراك المشروع. تتوفّر ميزة MEP في مشروع AOSP من يعالج نظام Android 13 هذه المشكلة.
بنية eUICC
يوضّح هذا القسم بنية شريحة eSIM للأجهزة التي تستخدم ميزة MEP. بإصدارات Android المختلفة وبنية شرائح eSIM للأجهزة غير MEP.
Android 14
بالنسبة إلى الأجهزة التي تعمل بالإصدار 14 من نظام التشغيل Android أو الإصدارات الأحدث، يمكن استخدام يتوافق مع MEP-A1 وMEP-B لتحديد جذر النطاق الأمني لجهة الإصدار (ISD-R) و مجموعة منافذ eSIM كما هو محدَّد في GSMA SGP V22 3.0. في ما يلي بعض الأمثلة على نماذج اختيار MEP-A1 وMEP-B ISD-R.
MEP-A1: يتم اختيار ISD-R في المنفذ 0 (منفذ الأوامر هو 0) و الملفات الشخصية على منافذ eSIM 1 والأعلى. تكون أوامر ES10 دائمًا المرسلة إلى المنفذ 0، ويكون منفذ الأوامر والمنفذ المستهدف مختلفين دائمًا. تختار "إعلانات الأنشطة التجارية المحلية" المنفذ.
الشكل 1. نموذج اختيار MEP-A1 ISD-R
MEP-B: يتم اختيار ISD-R على أي منفذ ويمكن تعيين بك. يتم إرسال أوامر التفعيل والإيقاف إلى المنفذ الذي تفعيل الملف الشخصي أو إيقافه (في حال كانت عملية إعادة التحميل معلّقة). تشير رسالة الأشكال البيانية دائمًا ما يكون منفذ الأوامر والمنفذ الهدف متماثلين.
الشكل 2. نموذج اختيار MEP-B ISD-R
Android 13
في نظام التشغيل Android 13 أو الإصدارات الأحدث، وفي الأجهزة المتوافقة مع تقنية MEP، تحتوي فتحة eSIM على منافذ eUICC متعددة حيث يمكن تفعيل المنفذ بك. وكما هو موضح في الشكل 3، باستخدام هذه البنية، يمكن استخدام eUICC واحدة الفتحة الفعلية) تتوافق مع وضع الاستعداد المزدوج لشريحة SIM المزدوجة (DSDS) من خلال توفُّر كل منفذ eUICC متصل بنطاق أساسي للمودم. تقنية HAL وواجهات برمجة التطبيقات في نظام التشغيل Android 13 هما صيغة MEP مستقلة.
الشكل 3: بنية شريحة eSIM التي تتوافق مع بروتوكول MEP (نظام التشغيل Android 13 أو إصدار أحدث)
الإصدار 12 من نظام التشغيل Android والإصدارات الأقدم
بالنسبة إلى الأجهزة التي تعمل بالإصدار 12 من نظام التشغيل Android أو الإصدارات الأقدم بدون بروتوكول MEP كما هو موضّح في الشكل 4، يجب إدخال القيم التالية لا تتوافق منفذ eSIM إلا مع ملف شخصي واحد مفعَّل في كل مرة، ويتوافق الجهاز لا تتوافق مع تقنية DSDS.
الشكل 4: بنية شريحة eSIM لا تتوافق مع بروتوكول MEP (نظام التشغيل Android 12 أو أقل)
تدفق معلومات واجهة برمجة التطبيقات للملفات الشخصية المفعّلة المتعددة
يصف الشكل 5 تدفق المعلومات لـ MEP لـ eUICC في
الإصدار 13 من نظام التشغيل Android ويشمل إطار عمل الاتصال الهاتفي
الفئة UiccPort
، التي تمثّل البنية المادية في eUICC. تشير رسالة الأشكال البيانية
تُستخدَم الفئة UiccPort
مع جميع أنواع شرائح SIM: شريحة SIM الفعلية (pSIM).
شريحة SIM مدمجة (iSIM) وشريحة SIM مضمّنة (eSIM). بالنسبة إلى eUICC مع العديد
المنافذ، ويتم ربط كائن UiccSlot
واحد وكائن UiccCard
عدة مثيلات UiccPort
. يمكن لكل مثيل UiccPort
الارتباط بمثال واحد على الأكثر
مثيل UiccProfile
يسمح هذا المسار لـ UiccPort
بالربط في خانة منطقية
UiccSlot
(مادية)
) لتعيينه إلى خانات منطقية متعددة.
الشكل 5. تدفق المعلومات لواجهة eUICC مع دعم MEP
التنفيذ
يصف هذا القسم كيفية تطبيق ميزة MEP بما في ذلك التفاصيل. حول متطلبات HAL وواجهات برمجة التطبيقات وواجهة المستخدم. ينبغي على الشركات المصنعة للأجهزة ونتعاون مع مورّدي المنظومة على الرقاقة (SoC) ومورِّدي شرائح eSIM لدعم بروتوكول MEP.
متطلبات HAL
لدعم MEP في eUICC، يجب تنفيذ واجهات برمجة تطبيقات IRadio AIDL HAL التالية، الموجودة على الموقع
بوصة
/platform/hardware/interfaces/radio/aidl/aidl_api
يجب أن تستخدم الأجهزة التي تعمل بنظام التشغيل Android 14 أو الإصدارات الأحدث الإصدار IRadio 2.1 من HAL.
والواجهات التي تستخدم
MultipleEnabledProfileMode
(نموذج اختيار ISD-R متوافق مع المودم أو eUICC) وينجح في اجتياز ES10 APDU
معلومات الأوامر أثناء عمليات القناة المنطقية لمجلس ICC.
حالة البطاقة
يجب أن يدعم المودم
CardStatus
واجهة برمجة التطبيقات كاستجابة للطلب
getIccCardStatusResponse
. يجب أن تتضمّن الاستجابة فهرس المنفذ وفهرس الخانة الفعلي.
محددة بواسطة
SimPortSlotMapping
بالنسبة إلى الأجهزة التي تعمل بنظام التشغيل Android 14 أو الإصدارات الأحدث، يجب استخدام المودم أن يجتاز المعايير المعتمدة وضع MEP مع جميع أحداث CardStatus.
حالة SimSlotStatus
يجب أن يدعم المودم
SimSlotStatus
واجهة برمجة التطبيقات كاستجابة للطلب
getSimSlotsStatus
. وتتضمن حالة فتحة شريحة SIM صفيفًا من
SimPortInfo
وواجهة المستخدم، والتي تتضمن فهرس المنفذ ومعرّف ICCID للملف الشخصي المفعَّل.
حالة المنفذ. يجب أن يعرض المودم كائنَي SimPortInfo
على الأقل.
بالنسبة إلى الأجهزة التي تعمل بنظام التشغيل Android 14 أو الإصدارات الأحدث، يجب استخدام المودم أن يجتاز المعايير المعتمدة وضع MEP مع جميع أحداث CardStatus.
تعيينSimSlotMapping
تشير رسالة الأشكال البيانية
setSimSlotMapping
أن تمر الطريقة صفيفًا من
SimPortSlotMapping
فهرس الصفيفة هو الفتحة المنطقية
تحدّد السمة SimPortSlotMapping
المنفذ المحدّد والمنفذ الفعلي المطابق
الفهرس. تضبط الطريقة setSimSlotMapping
عملية الربط من المنافذ على الوضع المنطقي.
الخانات. يستخدمه تطبيق LPA
هذه الطريقة لتحديد المنفذ النشط.
واجهات برمجة تطبيقات متوافقة مع MEP لنظام eUICC
أجهزة Android التي تتوافق مع العديد من الملفات الشخصية المفعَّلة كجزء من بروتوكول AOSP يجب توفُّر حِزم الاتصال الهاتفي لدعم واجهات برمجة التطبيقات التالية.
معلومات UiccCardInfo
- (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث)
isMultipleEnabledProfilesSupported
: يعرض ما إذا كان UICC هذا متوافقًا مع MEP. - (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث)
getPorts
: الركلات المردودة قائمة بجميع المنافذ الممكنة لـ UICC معينة. إذا كانت UICC عبارة عن شريحة pSIM أو شريحة eSIM التي لا تتوافق مع ميزة MEP، ستعرض قائمة بعنصر واحد. - (متوقّف نهائيًا)
getIccId
: تعرض معرّف ICCID. لأنّ واجهة UICC يمكن أن تحتوي على أكثر من معرّف ICCID واحد للأجهزة مع MEP، استخدِمUiccPortInfo.getIccId()
بدلاً منها.
(Android 13 والإصدارات الأحدث) UiccPortInfo
getIccId
: يعرض معرّف ICCID إذا كان هناك اشتراك مفعَّل على هذا المنفذ.getPortIndex
: تعرض فهرس المنفذ.getLogicalSlotIndex
: تعرض فهرس تكديس المودم المنطقي النشط.
معلومات الاشتراك
- (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث)
getPortIndex
: عرض فهرس المنفذ الذي تم تفعيل الاشتراك عليه. إذا كانت تم إيقاف الاشتراك، ويتم إرجاع مبلغINVALID_PORT_ID -1
.
مدير EuiccManager
switchToSubscription
: للتبديل إلى اشتراك معيّن. يستخدِمها التطبيقات التي ليس لديها مشغِّل شبكة جوّال الامتياز المتاح على الاشتراكات النشطة. عند استدعائها، يطلق على المنصة يحل فهرس المنفذ داخليًا من خلال تحديد ثلاثة خيارات مربّع حوار لإيقاف الاشتراك النشِط المحدَّد في حال عدم توفُّر منافذ. يجب عدم استخدام التطبيقات التي تستهدف الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث واجهة برمجة التطبيقات هذه لإيقاف اشتراك من خلال تفعيل رقم تعريف اشتراك غير صالح أو بدلاً من ذلك، يجب عليه استخدامswitchToSubscription
(مُضافة في Android 13) مع فهرس المنفذ المحددة.- (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث)
switchToSubscription(int subscriptionId, int portIndex, PendingIntent callback)
: للتبديل إلى اشتراك معيّن. الاتصال بالتطبيقات التي حصلت على امتياز مشغِّل شبكة الجوّال لفترة أطول يمكن للاشتراكات النشطة تحديد المنفذ المطلوب تفعيل الاشتراك مفعَّلة. - (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث)
isSimPortAvailable
: يعرض ما إذا كان فهرس المنفذ الذي تم تمريره متاحًا أم لا. يتوفّر منفذ إذا لم يفعّل الاشتراك أو كان تطبيق الاتصال يملك امتياز مشغّل شبكة الجوّال عبر الاشتراك المثبّت على المنفذ المحدد.
خدمة EuiccService
- (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث)
onSwitchToSubscriptionWithPort
: للتبديل إلى اشتراك معيّن على منفذ محدّد. تنفيذ إعلانات الأنشطة التجارية المحلية أن يتوافق مع هذه الميزة على نظام التشغيل Android 13 والإصدارات الأحدث.
مدير الاتصال الهاتفي
- (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث)
getSimApplicationState
: عرض ثابت يشير إلى حالة تطبيق البطاقة. واجهة برمجة التطبيقات هذه يمرر كل من فهرس الفتحة الفعلية وفهرس المنافذ. تشير رسالة الأشكال البيانيةgetSimApplicationState(int physicalSlotIndex)
(متوقّفة نهائيًا) مؤشر الخانة الفعلي فقط عنصرsimApplicationState
. - (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث)
setSimSlotMapping(Collection<UiccSlotMapping> slots)
: عليك ربط الخانات المنطقية بالمنافذ والمنافذ الفعلية. - (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث)
Collection<UiccSlotMapping> getSimSlotMapping
: يتيح هذا الخيار الربط بين الخانات المنطقية وفهارس المنافذ ومنافذ SIM الفعلية.
واجهة المستخدم
لحلّ الغموض في اختيار منفذ eSIM على الأجهزة المتوافقة مع تقنية MEP يجب أن يتمكّن المستخدمون من إيقاف أحد الاشتراكات النشطة لتفعيل اشتراكك. في Android 13، يتضمن AOSP مسار المستخدم باستخدام ثلاثة خيارات مربّع حوار التي يمكن تطبيقها على الاشتراك لتفعيل تدفقات المستخدمين من تطبيق "الإعدادات". يوضح الشكل 6 مثالاً لتدفق تجربة المستخدم هذا.
الشكل 6. مسار المستخدم لتفعيل اشتراك شريحة SIM
مفاتيح تبديل أوضاع الميزات
لإتاحة استخدام ميزة MEP، يجب أن تتضمّن الأجهزة علامات الميزات التالية:
تنفيذ إعلانات الأنشطة التجارية المحلية
لدعم MEP، تأكَّد من أنّ اتفاقية المطوّرين للنشر التنفيذ يلبي المتطلبات التالية:
- تنفيذ واجهات برمجة التطبيقات من EuiccService لإتاحة منافذ متعددة.
- تستخدم واجهات برمجة التطبيقات لاختيار المنافذ وتفعيل الملف الشخصي.
- توفر تجربة مستخدم تتيح لتطبيقات مشغّلي شبكة الجوّال تفعيل الملفات الشخصية على منافذ محددة.
التحقُّق
لاختبار تنفيذ ميزة MEP، تأكَّد من أنّ الإصدارات تجتاز
حالات اختبار CTS التالية (لواجهات برمجة التطبيقات العامة):
/platform/cts/tests/tests/telephony/current/src/android/telephony/euicc/cts
يجب أن تعمل الشركات المصنّعة للأجهزة أيضًا مع المودم وشريحة eUICC ونظام التشغيل eSIM. لضمان قدرة الجهاز على إجراء ما يلي:
- يمكن تفعيل ملفَّين شخصيَّين لشريحة eSIM وتوصيلهما بشبكتَين مختلفتَين.
- يمكن تفعيل الملفات الشخصية لشرائح eSIM أو إيقافها على أي منفذ eSIM.
- ظهور تدفق تجربة المستخدم بدأه تطبيق مشغّل شبكة الجوّال يسمح للمستخدمين بالتبديل الشخصية.
اقتراح لمشغّلي شبكة الجوّال
لضمان عدم انقطاع الخدمة للمستخدمين عند نقل الملفات الشخصية لشرائح eSIM من ملف نقل البيانات إلى خادم آخر، ننصح بأن يقدّم مشغّلو شبكات الجوّال الدعم لما يلي:
- التخطيط المرن لرمز IMEI وشريحة SIM
- أرقام تعريف ICCID أو شرائح SIM متعددة لكل معرّف eUICC (EID)