بدءًا من الإصدار 12 من Android، يتيح هذا النظام إعداد ميزة "تفعيل الخدمة على الجهاز" (ODSA) وفقًا لمعيار TS.43، وهو مواصفة تابعة لاتحاد GSMA تحدّد خطوة التحقّق من الأهلية لتفعيل الخدمات، بما في ذلك ميزة "الاتصال الصوتي عبر Wi-Fi" وميزة "الاتصال الصوتي عبر LTE" ورسائل SMS عبر بروتوكول الإنترنت (SMSoIP) وميزة "تفعيل الخدمة على الجهاز" لأجهزة eSIM المصاحبة (المرتبطة بالجهاز المُرسِل للطلب) ومعلومات خطة البيانات.
لدعم هذه المواصفات، يوفّر Android ميزة منح إذن استخدام خدمة IMS التي تسمح لمقدّم الخدمة بإعلام الأجهزة الجوّالة بحالة خدمات شبكة نظام IP Multimedia Subsystem (IMS). تتيح ميزة الأهلية هذه للجهاز طلب معلومات من خادم أهلية مشغّل شبكة الجوّال كما هو محدّد في مواصفة GSMA TS.43 لحالة أهلية IMS باستخدام مصادقة EAP-AKA بدون مطالبة المستخدمين بإدخال أي بيانات اعتماد يدويًا.
يمكن لمشغّلي شبكات الجوّال الذين لديهم خوادم أذونات IMS استخدام ميزة أذونات خدمة IMS لتوفير الخدمة. يوفّر استخدام الميزة الفوائد التالية:
- تقليل تكاليف الاختبار والاعتماد لمشغّلي شبكات الجوّال، لأنّه يمكن استخدام ميزة منح الإذن على مستوى منتجات ومصنّعين أصليين متعددين
- تقليل الوقت الذي تستغرقه عملية التطوير لدى الشركات المصنّعة للأجهزة من خلال تطبيق Android عادي
- السماح لشركات تصنيع الأجهزة ومشغّلي شبكات الجوّال بتقديم رمز لهذه الميزة لأنّها ميزة مفتوحة المصدر
- يوفّر هذا القسم إدارة عناوين الطوارئ لمشغّلي شبكات الجوّال في أمريكا الشمالية.
شركاء خدمات Google للأجهزة الجوّالة:
بالنسبة إلى مشغّلي شبكات الجوّال الذين لا يتيحون استخدام مواصفة TS.43، يمكن لشركاء حِزم Google Mobile Services استخدام تطبيق تفعيل ميزة "الربط اللاسلكي للسيارة"، الذي يتوفّر على أجهزة حِزم Google Mobile Services كتطبيق غير مجمّع، لتوفير خدمات شبكة IMS.
إذا كانت لديك طلبات ميزات متعلّقة بميزة "أهلية استخدام خدمة IMS"، يُرجى التواصل مع ممثّل Google أو إرسال رسالة إلكترونية إلى gms-connectivity-apps@google.com.
هندسة معمارية
يوضِّح الشكل التالي بنية ميزة منح أذونات استخدام خدمات IMS وسلوكها.
الشكل 1: بنية ميزة الإذن في TS.43
كما هو موضّح في الشكل 1، تتضمّن بنية ميزة "أهلية استخدام خدمة IMS" المكوّنات التالية:
service_entitlement
مكتبة ملفّات ثابتة لواجهة برمجة التطبيقات TS.43 Service API: تنفِّذ هذه المكتبة مواصفات TS.43 وتتفاعل مع خادم الأذونات الخاص بمشغّل شبكة الجوّال وتوفّر واجهات برمجة التطبيقات الموجّهة للتطبيقات لكل حالة استخدام من حالات TS.43.ImsServiceEntitlement
تطبيق العميل: يستخدم هذا التطبيق واجهة برمجة التطبيقات TS.43 Service API. ينفِّذ التطبيق عناصر واجهة المستخدِم، بما في ذلك عروض الويب لعرض بوابة خدمة مشغّل شبكة الجوَّال التي يمكن للمستخدِمين من خلالها تفعيل الخدمات، ويتفاعل مع مكوّنات Android الأخرى لإدارة تجربة المستخدِم من البداية إلى النهاية.لمزيد من المعلومات حول كيفية ضبط Android للعمل مع خادم أذونات يستند إلى TS.43 لمشغّل شبكة الجوّال، يُرجى الاطّلاع على تطبيق ImsServiceEntitlement.
توضِّح الخطوط المرقّمة في الشكل 1 كيفية تواصل مكونات خدمة IMS باستخدام ميزة الإذن مع بعضها البعض. في ما يلي وصف لكلٍّ من الخطوات كما هو موضّح:
(1) يستدعي تطبيق العميل واجهة برمجة تطبيقات خدمة TS.43 لبدء طلب ترخيص استخدام الخدمة.
(2) تُرسِل واجهة برمجة التطبيقات للخدمة TS.43 طلب HTTP إلى ملف الخادم الخاص بحق استخدام شبكة الجوّال لمشغّل شبكة الجوّال لبدء طلب مصادقة EAP-AKA.
(3) تستدعي واجهة برمجة تطبيقات الخدمة TS.43 واجهات برمجة تطبيقات الهاتف (مثل
getIccAuthentication
)
لإكمال طلب/ردّ بروتوكول EAP-AKA.
(4) تتلقّى خدمة TS.43 بيانات إعدادات الخدمة أو بيانات الأهلية للاستفادة من الخدمة من خادم الأهلية لمشغّل شبكة الجوّال بعد التحقّق من استجابة EAP-AKA.
(5) تُعيد خدمة TS.43 بيانات إعدادات الخدمة أو إذن استخدامها إلى تطبيق العميل.
(6) يعالج تطبيق العميل البيانات ويعرض اختياريًابوابة الخدمة الخاصة بمشغّل شبكة الجوّال ليتمكّن المستخدم من إكمال تفعيل الخدمة.
التكامل
يصف هذا القسم عملية دمج service_entitlement
المكتبة وتطبيق ImsServiceEntitlement
.
وبما أنّه لا تتوفّر أي تبعية لواجهة برمجة تطبيقات Android 12، يمكن نقل مكتبة service_entitlement
وتطبيق ImsServiceEntitlement
إلى الإصدارات القديمة من Android.
مكتبة service_entitlement
بما أنّ مكتبة service_entitlement
مرتبطة بشكل ثابت بملف ImsServiceEntitlement app
، لا يلزم اتخاذ أي خطوات إضافية لدمج مكتبة
ImsServiceEntitlement
في تطبيق ImsServiceEntitlement
.
يمكن دمج مكتبة service_entitlement
مع تطبيقاتك لحالات استخدام TS.43
، مثل خطة البيانات وإدارة الخدمات الرقمية للمؤسسات (ODSA). يمكن أيضًا دمج المكتبة في
تطبيق لحالات استخدام الأذونات غير المستندة إلى TS.43 استنادًا إلى بروتوكول EAP-AKA.
في ما يلي وصف واجهات برمجة التطبيقات التي يجب استخدامها في حالات الاستخدام هذه:
- تطبيق TS.43 يستخدم بروتوكول TS.43 HTTP المُطبَّق في المكتبة:
استخدام واجهات برمجة التطبيقات في فئة
ServiceEntitlement
- تطبيق غير متوافق مع TS.43 يستخدم بروتوكول EAP-AKA المُطبَّق في المكتبة: استخدِم
واجهات برمجة التطبيقات المعروضة في فئة
EapAkaHelper
.
شركاء حِزم Google Mobile Services: في ما يلي مورّدو خادم الأذونات وفقًا لمعيار TS.43 الذين تم اختبار مكتبة service_entitlement معهم في الإصدار 12 من Android.
- Ericsson
- HPE
- Nokia
تطبيق ImsServiceEntitlement
يتضمّن Android تلقائيًا تطبيق ImsServiceEntitlement
المثبَّت في ملف تعريف "التقسيم الخاص بالمنتج" كتطبيق مفوَّض. لضبط التطبيق، استخدِم مفاتيح ملف تعريف "CarrierConfig" التالية:
المفتاح | القيمة |
---|---|
KEY_ENTITLEMENT_SERVER_URL_STRING |
عنوان URL لخادم أذونات مشغّل شبكة الجوّال يجب تضمين البادئة https:// . |
KEY_FCM_SENDER_ID_STRING |
معرّف المرسِل في خدمة "المراسلة عبر السحابة الإلكترونية من Firebase" لمشغّل شبكة الجوّال لا تضبط هذه القيمة إذا لم تكن خدمة FCM مطلوبة من قِبل شركة النقل. |
KEY_SHOW_VOWIFI_WEBVIEW_BOOL |
اضبط القيمة على true إذا كان مشغّل شبكة الجوّال يتطلّب واجهة مستخدم بوابة ويب للمستخدمين
للاشتراك في خدمة VoWiFi. على سبيل المثال، الموافقة على البنود والأحكام أو إدخال عنوان الطوارئعادةً ما تطلب شركات النقل في أمريكا الشمالية ذلك. |
KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING |
اضبط القيمة على
com.android.imsserviceentitlement/.WfcActivationActivity ، إذا كانت قيمة
KEY_SHOW_VOWIFI_WEBVIEW_BOOL هي true . |
KEY_IMS_PROVISIONING_BOOL |
اضبط القيمة على true إذا كان مشغّل شبكة الجوّال يتطلّب توفير خدمات IMS
(VoLTE/VoWiFi/SMSoIP) على الشبكة في الخلفية.يُطلب ذلك من قِبل بعض مشغّلي شبكات الجوّال الأوروبية. |
KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL |
اضبط القيمة على true إذا كانت KEY_IMS_PROVISIONING_BOOL
true . |
يتم نقل حركة مرور HTTP إلى خادم الأذونات وخدمة البوابة الإلكترونية لمشغّل شبكة الجوّال عبر الشبكة التلقائية، مثل بيانات الجوّال التلقائية أو شبكة Wi-Fi.
شركاء خدمات Google للأجهزة الجوّالة: تتوفّر مشغّلو شبكات الجوّال التالية في تطبيق TS.43 للحصول على الإذن في Android 12، وفقًا لمواصفات TS.43 v5.0:
- الولايات المتحدة: CSpire وUS Cellular وCellcom
- فرنسا: Orange
واجهة مستخدم إضافية للنظام لتوفير خدمات IMS
يوضّح هذا القسم كيفية إتاحة المصنّعين الأصليّين للأجهزة لعناصر إضافية لواجهة مستخدم النظام المرتبطة بتوفير خدمة IMS (على سبيل المثال، عند عرض إشعار عند توفير خدمة VoWiFi).
يضبط تطبيق ImsServiceEntitlement
حالة إعداد VoWiFi في
المنصة باستخدام
ProvisioningManager.setProvisioningIntValue(KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE,
value)
واجهة برمجة التطبيقات الخاصة بالنظام. تُستخدَم واجهة برمجة التطبيقات هذه أيضًا لخدمة VoLTE (مع
KEY_VOLTE_PROVISIONING_STATUS
) وSMSoIP (مع KEY_SMS_OVER_IP_ENABLED
).
يمكن لواجهة مستخدم النظام بعد ذلك قراءة حالة الإعداد باستخدام getProvisioningIntValue
أو من خلال تسجيل طلب معاودة الاتصال لرصد تغيير حالة الإعداد من خلال registerProvisioningChangedCallback
.
إلغاء الإعدادات للاختبار
استخدِم الإجراءات التالية لتغيير سلوك ImsServiceEntitlement
التطبيق مؤقتًا لأغراض الاختبار. لمعرفة التفاصيل حول كيفية إلغاء إعدادات carrier
، يُرجى الاطّلاع على إلغاء إعدادات carrier.
تخطّي عملية الاشتراك في خدمة VoWiFi
لتخطّي عملية الاشتراك في خدمة VoWiFi، ما يتيح تفعيلها مباشرةً،
ألغِ إعدادات مشغّل شبكة الجوّال
KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING
واضبط قيمتها على سلسلة فارغة.
تخطّي عملية إعداد IMS
لتخطّي عملية توفير خدمات IMS، عليك إتاحة خدمات IMS والسماح للمستخدمين ب
تفعيل هذه الخدمات بدون توفير الشبكة، ويجب إلغاء إعدادات مشغّل شبكة الجوَّال
KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL
وضبط قيمتها على false
.
تغيير عنوان URL لخادم الأذونات
لتغيير عنوان URL لخادم الأذونات، عليك إلغاء إعدادات مشغّل شبكة الجوّال
KEY_ENTITLEMENT_SERVER_URL_STRING
وضبط قيمته على سلسلة عنوان URL المتوقّعة. يجب تضمين البادئة
https://
.
إلغاء إعدادات مشغّل شبكة الجوّال
اعتبارًا من Android 11، أصبحت أوامر إلغاء ضبط مشغّل شبكة الجوّال مضمّنة ومتاحة مع امتيازات الجذر.
يوضّح الأمر التالي كيفية إلغاء مفتاح إعدادات مشغّل شبكة الجوّال
carrier_volte_provisioning_required_bool
وضبط قيمته على false
. يمكنك
تنفيذ الأمر عدة مرات لإلغاء إعدادات متعددة.
adb root
adb shell cmd phone cc set-value -p carrier_volte_provisioning_required_bool false
لمحو جميع عمليات الاستبدال، استخدِم الأمر التالي:
adb shell cmd phone cc clear-values
للحصول على مزيد من المعلومات، شغِّل الأمر التالي:
adb shell cmd phone cc