بدءًا من الإصدار Android 12، يوفّر نظام التشغيل Android TS.43 ضبط إذن الوصول إلى الخدمة، وهي إحدى مواصفات بروتوكول GSMA التي تحدّد خطوة التحقّق من الاستحقاق لتفعيل الخدمات، بما في ذلك Voice-over-Fi (VoWiFi) وVoice-over-LTE (VoLTE) والرسائل القصيرة SMS عبر IP (SMSoIP) و"تفعيل الخدمة على الجهاز" (ODSA) للأجهزة المرتبطة بمعلومات الجهاز المرتبطة بشريحة eSIM و"تفعيل الخدمة على الجهاز" (ODSA) للأجهزة المرتبطة.
ولدعم هذه المواصفات، يوفّر Android ميزة استحقاق خدمة الرسائل الفورية التي تتيح لمقدّم الخدمة إعلام الأجهزة الجوّالة بحالة خدمات شبكة النظام الفرعي للوسائط المتعددة (IMS). تسمح ميزة الاستحقاق هذه للجهاز بالاستعلام عن خادم الاستحقاق لمشغِّل شبكة الجوّال كما هو محدّد في مواصفات بروتوكول GSMA TS.43 لحالة استحقاق IMS باستخدام مصادقة EAP-AKA بدون مطالبة المستخدمين بإدخال أي بيانات اعتماد يدويًا.
يمكن لمشغّلي شبكات الجوّال الذين لديهم خوادم استحقاق استخدام خدمة IMS استخدام ميزة استحقاق خدمة الرسائل الفورية (IMS) لتوفير الخدمة. ويوفّر استخدام الميزة المزايا التالية:
- وخفض تكاليف الاختبار والاعتماد لدى شركات النقل، لأنّ ميزة الاستحقاق هذه يمكن استخدامها في منتجات متعددة ومصنّعين أصليين متعددين.
- تقليل النفقات العامة لتطوير الشركات المصنّعة للأجهزة من خلال تطبيق Android عادي.
- تسمح هذه الميزة للشركات المصنّعة للأجهزة ومشغّلي شبكات الجوّال بالمساهمة بالرمز البرمجي للميزة، لأنّ الميزة مفتوحة المصدر.
- يقدِّم خدمات إدارة عناوين الطوارئ لمشغِّلي شبكات الجوّال في أمريكا الشمالية.
البنية
يصف الشكل التالي بنية ميزة استحقاق خدمة IMS وسلوكها.
الشكل 1. بنية ميزة استحقاق TS.43
كما هو موضح في الشكل 1، تتضمن بنية ميزة استحقاق خدمة IMS العناصر التالية:
service_entitlement
مكتبة TS.43 Service API الثابتة: تنفِّذ هذه المكتبة مواصفات TS.43 وتتفاعل مع خادم أذونات الوصول إلى مشغِّل شبكة الجوّال وتعرِض واجهات برمجة تطبيقات مواجهة للتطبيقات لكل حالة من حالات استخدام TS.43.ImsServiceEntitlement
تطبيق العميل: يستخدم هذا التطبيق واجهة برمجة التطبيقات TS.43 Service API. ينفِّذ التطبيق عناصر واجهة المستخدم بما في ذلك WebView لعرض بوابة خدمة مشغّل شبكة الجوّال للمستخدمين لتفعيل الخدمات والتفاعل مع مكوّنات 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
.
يمكن دمج مكتبة service_entitlement
مع تطبيقاتك الخاصة بحالات استخدام TS.43، مثل خطة البيانات وODSA. يمكن أيضًا دمج المكتبة في تطبيق لحالات استخدام الاستحقاق غير التابعة لـ TS.43 استنادًا إلى بروتوكول EAP-AKA.
في ما يلي وصف لواجهات برمجة التطبيقات التي يجب استخدامها في حالات الاستخدام هذه:
- تطبيق TS.43 باستخدام بروتوكول TS.43 HTTP المنفَّذ في المكتبة:
استخدام واجهات برمجة التطبيقات في الفئة
ServiceEntitlement
- تطبيقات ليست TS.43 وتستخدم بروتوكول EAP-AKA المنفَّذ في المكتبة: استخدِم واجهات برمجة التطبيقات المعروضة في الفئة
EapAkaHelper
تطبيق ImsServiceEntitlement
يتضمّن Android تلقائيًا تطبيق "ImsServiceEntitlement
" المثبّت في قسم المنتج كتطبيق امتياز. لإعداد التطبيق، استخدِم مفاتيح
CarrierConfig التالية:
المفتاح | القيمة |
---|---|
KEY_ENTITLEMENT_SERVER_URL_STRING |
عنوان URL لخادم أذونات الاستخدام لمشغّل شبكة الجوّال. ويجب تضمين البادئة https:// . |
KEY_FCM_SENDER_ID_STRING |
معرّف مرسل خدمة "المراسلة عبر السحابة الإلكترونية من Firebase" لمشغّل شبكة الجوّال. لا تضبط هذه القيمة إذا لم يطالب مشغّل شبكة الجوّال بخدمة "المراسلة عبر السحابة الإلكترونية من Firebase". |
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 للأجهزة الجوّالة (GMS): مشغّلو شبكات الجوّال التاليون متوافقون مع تطبيق الاستحقاق TS.43 في نظام التشغيل Android 12، وفقًا للمواصفات TS.43 v5.0:
- الولايات المتحدة: CSpire وUS Cellular وCellcom
- فرنسا: برتقالي
واجهة مستخدم النظام الإضافية لإدارة حسابات IMS
يوضّح هذا القسم كيف يمكن للمصنّعين الأصليين للأجهزة استخدام عناصر إضافية لواجهة مستخدم النظام متعلقة بتوفير خدمة IMS (على سبيل المثال، عند عرض إشعار عند توفير VoWiFi).
يضبط تطبيق ImsServiceEntitlement
حالة توفير خدمة VoWiFi على
النظام الأساسي باستخدام واجهة برمجة تطبيقات
نظام ProvisioningManager.setProvisioningIntValue(KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE,
value)
. تُستخدَم واجهة برمجة التطبيقات هذه أيضًا في VoLTE (مع KEY_VOLTE_PROVISIONING_STATUS
) والرسائل القصيرة SMS (مع KEY_SMS_OVER_IP_ENABLED
).
يمكن لواجهة مستخدم النظام بعد ذلك قراءة حالة توفير المتطلبات اللازمة باستخدام getProvisioningIntValue
أو عن طريق تسجيل معاودة الاتصال لرصد تغيير حالة توفير المتطلبات اللازمة من خلال registerProvisioningChangedCallback
.
إلغاء عمليات الضبط للاختبار
استخدِم الإجراءات التالية لتعديل سلوك ImsServiceEntitlement
مؤقتًا لأغراض الاختبار. للحصول على تفاصيل حول كيفية إلغاء إعدادات مشغّل شبكة الجوّال،
يمكنك الاطّلاع على إلغاء إعدادات
مشغّل شبكة الجوّال.
تخطّي عملية الاشتراك في VoWiFi
لتخطّي عملية الاشتراك في VoWiFi والسماح بتفعيل خدمة VoWiFi مباشرةً،
يمكنك إلغاء إعدادات مشغّل شبكة الجوّال
KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING
وضبط قيمتها على سلسلة فارغة.
تخطّي إدارة حسابات 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