بث خلوي

تحد وحدة CellBroadcast من الجهود المتكررة التي يبذلها المصنّعون الأصليون للأجهزة (والتي تعمل بدورها). تعمل على الحدّ من التجزئة على منظومة Android المتكاملة وتوفّر أداء متسقًا المستخدمين النهائيين) وتساعد في تبسيط عملية اختبار مشغّل شبكة الجوّال للمتطلبات المتعلقة بالبث الخلوي (لأن الكود لا يمكن تعديلها من قبل المصنّعين الأصليين للأجهزة). هذه الوحدة قابلة للتحديث، أي يمكنها تلقي التحديثات خارج دورة إصدار Android العادية.

تنسيق الحزمة

تتألف وحدة CellBroadcast من الخدمة والتطبيق التاليين.

  • تتوافق خدمة CellBroadcastService مع فك ترميز الرسائل القصيرة SMS عبر CellBroadcast. وضع الحدود الجغرافية لتنبيه الطوارئ اللاسلكي (WEA) 3.0، عمليات التحقّق من تكرار الرسائل، وبث الرسائل إلى التطبيقات. يُعد الاستهداف الجغرافي من واحد إلى متعدد خدمة مراسلة ذات حدود جغرافية مصمَّمة لتسليم الرسائل إلى أجهزة جوّالة متعددة لمستخدمي الهاتف، في منطقة محددة، في نفس الوقت. يتم تحديد الخدمة من خلال لجنة ETSI GSM، 3GPP، وهي جزء من معايير الاتصالات السلكية واللاسلكية.

  • تطبيق CellBroadcastReceiver هو تطبيق نظام تلقائي يعالج تنبيهات الطوارئ والتنبيهات غير المخصصة لحالات الطوارئ (مثل التنبيهات الكهرمانية والتنبيهات الرئاسية) تعرض المعلومات إلى المستخدمين النهائيين بناءً على شركة النقل وحسب المنطقة اللوائح التنظيمية.

مسار رسالة البث الخلوي

يوضح الشكل التالي تدفق رسالة CellBroadcast.

مسار رسالة جهاز CellBroadcastcast

الشكل 1. مسار رسالة CellBroadcastcast

  1. ترسل طبقة الواجهة اللاسلكية (RIL) إشعارًا إلى InBoundSMSHandler بشأن بروتوكول CDMA/GSM الرسائل القصيرة SMS لبث CellBroadcast.

  2. يعيد إطار العمل توجيه الرسائل القصيرة SMS CellBroadcast إلى وحدة CBS لتحليل معالجة الرسالة الواردة.

  3. بعد معالجة الرسالة، تعيد CellBroadcastService توجيه رسالة الخطأ إلى تطبيق CellBroadcastReceiver الافتراضي للنظام.

  4. يعرض تطبيق CellBroadcastReceiver الرسالة للمستخدم.

تنسيق الوحدة

يتم تضمين CellBroadcastService وتطبيق CellBroadcastRecipientr في ملف APEX واحد (com.android.cellbroadcast)، وهو متاح للأجهزة التي تعمل الإصدار 11 من نظام Android أو إصدار أحدث تتضمن الوحدة تعليمة برمجية في package/app/CellBroadcastReceiver ويتم نقل فئات أُطر العمل الحالية إلى packages/modules/CellBroadcastService

تبعيات الوحدة

تتفاعل وحدة CellBroadcast مع إطار العمل باستخدام العناصر الثابتة فقط. @SystemApi (لا تتوفّر واجهات برمجة تطبيقات من النوع @hide) وتعتمد على المكتبات الثابتة التالية.

  • Androidx.legacy_legacy-support-v13
  • Androidx.recyclerview_recyclerview
  • Androidx.preference_preference
  • androidx.legacy_legacy-preference-v14
  • androidx.appcompat_appcompat

يمكنك تخصيص الإعدادات باستخدام تراكبات الموارد في وقت التشغيل (RROs):

ضبط الإذن

يتم توقيع وحدة CellBroadcast باستخدام توقيع Google بدلاً من المنصة. التوقيع، ما يعني أن الوحدة تفقد إمكانية الوصول إلى أذونات التوقيع. بدلاً من ذلك، يحدد Android 11 التوقيع الجديد الإذن com.android.cellbroadcastservice.FULL_ACCESS_CELL_BROADCAST_HISTORY داخل وحدة البث الخلوي؛ فقط الحزم الموجودة في الوحدة النمطية هي التي يمكنها الحصول على الإذن نظرًا لتسجيلهما بالمفتاح نفسه. يسمح هذا الإذن للحصول على إمكانية الوصول الكامل إلى قاعدة البيانات داخل تطبيق CellBroadcastReceiver. CellBroadcastService.

تمنح المنصة بيئة تشغيل "android.permission.READ_CELL_BROADCASTS". منح إذن الوصول إلى تطبيق الرسائل القصيرة (SMS) للنظام التلقائي للوصول إلى سجلّ حالات الطوارئ التنبيهات.

دمج وحدة البث الخلوي

يصف هذا القسم كيفية دمج وحدة CellBroadcast.

الدمج مع الإعدادات

يمكنك تحديد مكان دمج إعدادات CellBroadcast في تطبيق "الإعدادات". (يمكن للمستخدمين الوصول إلى صفحة إعدادات CellBroadcast من الإعدادات > التطبيقات الإشعارات > إعدادات متقدمة > تنبيه الطوارئ). للإطلاق تطبيق CellBroadcastSendr من تطبيق "الإعدادات"، عليك تغيير ما يلي إعدادات الضبط باستخدام اسم الحزمة com.android.cellbroadcastreceiver

<!-- Cell broacast receiver package name [DO NOT TRANSLATE] -->
<string name="cell_broadcast_receiver_package">
com.android.cellbroadcastreceiver</string>

الدمج مع تطبيقات المراسلة

يمكنك دمج رابط تطبيق في تطبيقات المراسلة لفتح تطبيق CellBroadcast. سجلّ الرسائل وقد تم دمج ذلك في تطبيق "المراسلة على Android" الإعدادات > إعدادات متقدّمة > تنبيه الطوارئ: لدمج رابط في تطبيق المراسلة الخاص بك، حدِّد المسار في تطبيق المراسلة واضبط اسم المكون لوحدة البث الخلوي com.android.cellbroadcastreceiver/com.android.cellbroadcastreceiver.CellBroadcastListActivity

الدمج مع البريد الوارد للرسائل القصيرة

يمكنك تفعيل عرض رسائل CellBroadcast في تطبيق المراسلة التلقائي من خلال إلغاء الإعدادات التالية باستخدام تراكب موارد وقت التشغيل

<item type="bool" name="enable_write_alerts_to_sms_inbox" />

ونظرًا لأن منح الأذونات خارج نطاق وحدة البث الخلوي، يجب منح إذن AppOpsManager.OP_WRITE_SMS لجهاز CellBroadcast. لتوفير دعم شامل. لتنفيذ مرجع AOSP، يُرجى الرجوع إلى حزمة التصحيح SmsApplication.java هذه.

تشغيل تطبيق CellBroadcastRecipientr

يوفِّر تطبيق CellBroadcastSendr نقاط التشغيل التالية.

  • قائمة تطبيق الإعدادات

  • تطبيقات (بما في ذلك التطبيقات التابعة لجهات خارجية)، مثل تطبيق رسائل يرتبط بـ سجلّ رسائل البث الخلوي

  • (اختياري) رمز التشغيل من شاشة Android الرئيسية والذي يضيفه المصنّع الأصلي للجهاز لمعرفة التفاصيل، يُرجى الاطّلاع على إضافة رمز تشغيل.

إعدادات تطبيق CellBroadcastRecipientr

تعرض لقطات الشاشة التالية قائمة إعدادات تطبيق CellBroadcastSendr.

قائمة إعدادات تطبيق CellBroadcastRecipientr

الشكل 2. قائمة إعدادات تطبيق CellBroadcastRecipientr

سجلّ إنذارات الطوارئ

الشكل 3. شاشة سجلّ تنبيهات الطوارئ

إضافة رموز الإطلاق

يمكنك تفعيل الوصول إلى سجلّ رسائل CellBroadcast من مشغّل التطبيقات. ومن خلال أيقونات الإطلاق الخاصة بك

  • لتفعيل الوصول إلى سجلّ الرسائل من مشغّل التطبيقات، عليك إلغاء باستخدام RRO.

    <item type="bool" name="show_message_history_in_launcher" />
    
  • لتجاوز الرمز التلقائي لميزة AOSP، يمكنك إلغاء الإعدادات التالية باستخدام RRO.

    <!-- Customize launcher icon for cellbroadcast history -->
    <item type="mipmap" name="ic_launcher_cell_broadcast" />
    

تفعيل الرمز السرّي لـ CMAS

لتفعيل الرمز السري CMAS، *#*#CMAS#*#* (*#*#2627#*#* على لوحة اتصال)، يجب أن يستمع تطبيق الاتصال إلى رمز برنامج الاتصال الخاص على هيئة *#*#code#*#* والتعامل مع الرمز باستخدام الطريقة العامة sendDialerSpecialCode

متطلبات معلومات المنطقة: القناة 50

القناة 50 هي قناة خاصة لمشغِّلي شبكات الجوّال تتيح لهم البث (باستثناء MTN في جنوب أفريقيا). بث محتوى لهذه القناة لا تؤدي الرسائل إلى ظهور مربع حوار أو إشعار منبثق. بدلاً من ذلك، يمكنك بث تظهر الرسائل في حالة شريحة SIM لقائمة الإعدادات أو في شريط الحالة (مع على سبيل المثال، عرض الرمز البريدي).

يوفر تنفيذ Android CellBroadcastService دعمًا لخدمة واجهات برمجة التطبيقات التالية في خدمة البث الخلوي لتطبيق الإعدادات وSysUI من أجل الحصول على معلومات قناة البث 50. لتنفيذ ذلك، قم بما يلي:

  • تسجيل البث android.telephony.action.AREA_INFO_UPDATED وإلغاء تسجيل الدخول اسم حزمة المُستلِم config_area_info_receiver_packages من خلال RRO.

  • الارتباط بـ "CellBroadcastService.CELL_BROADCAST_SERVICE_INTERFACE"

وذلك نظرًا لأن تطبيق Settings (الإعدادات) وتطبيق SysUI خارج نطاق CellBroadcast يجب تنفيذ التغييرات في SystemUI أو تطبيق "الإعدادات" وتوفير دعم شامل. لمزيد من المعلومات، يُرجى مراجعة إعدادات CellBroadcastService التطبيق.

تخصيص

لا يمكنك تعديل التعليمات البرمجية المصدر لوحدة CellBroadcast مباشرةً، ولكن استخدام تراكبات موارد وقت التشغيل (RROs) إلى تفعيل (أو إيقاف) المَعلمات (على سبيل المثال، يمكنك تخصيص لون الإشعارات الأبعاد في مربعات الحوار). لإلغاء القيم الافتراضية للمعلمات المستخدمة في وحدة البث الخلوي، فقم بتغيير اسم الحزمة المستهدفة إلى com.android.cellbroadcastreceiver بالإضافة إلى ذلك:

  • للاطّلاع على قائمة بالإعدادات القابلة للتراكب، يُرجى الرجوع إلى overlayable.xml

  • للاطّلاع على مثال لعملية التنفيذ، يُرجى الرجوع إلى RROSampleTestApp في بروتوكول AOSP.

ما إذا كان التنفيذ يفتقد إلى موارد ترجمة سلسلة واجهة المستخدم أو إذا لا تلبي الترجمات توقعاتك، يمكنك إلغاء الترجمة باستخدام RRO أو التعاون مع فريق الترجمة في Google ترجمات نصية إلى وحدة البث الخلوي. في حال تجاهل الترجمة الموارد، يجب أن تكشف Google عن هذه السلاسل في overlayable.xml للسماح وتجاوزها. إذا كنت بحاجة إلى المزيد من الإعدادات لتخصيص واجهة المستخدم، يُرجى التواصل مع مجموعة دعم CellBroadcast.

نقل البيانات

يشتمل Android 11 على تطبيق CellBroadcast قديم، هي آلية للحفاظ على بيانات التطبيق ونقلها (بما في ذلك إعدادات المستخدم سجلات تنبيهات الطوارئ) للأجهزة التي تتم ترقيتها إلى وحدة البث الخلوي. يجب أن تتضمن تطبيقات Android التي تستخدم وحدة CellBroadcast تطبيق CellBroadcast القديم في بنيته لنقل البيانات. إذا كان التنفيذ باستخدام حل CellBroadcast مخصص، فيجب تحديد CellBroadcastContentProvider APK للحفاظ على البيانات (يمكنك إزالة حزمة APK قديمة لبث الخلية في إصدار لاحق).

في الأجهزة التي تمت ترقيتها لاستخدام وحدة البث الخلوي، تجلب الوحدة البيانات. إما من AOSP LegacyCellBroadcastApp أو حزمة APK CellBroadcastContentProvider التي تم تعريفها من قِبل المصنّع الأصلي للجهاز من خلال حزمة APK المحدّدة جيدًا مصدر cellbroadcast-legacy

استخدام حزمة APK CellBroadcastContentProvider التي يحدّدها المصنّع الأصلي للجهاز

عند تحديد حزمة APK CellBroadcastContentProvider، يجب أن يتّبع ملف APK ما يلي: والمواصفات.

  • حزمة APK هي حزمة APK بلا واجهة مستخدم رسومية لا تعرض سوى محتوى قاعدة البيانات الخاصة بها أو SharedPreferences من خلال ContentProvider يخضع لسلطة "cellbroadcast-legacy"، ولا يمكن الوصول إليه إلى تطبيقات تابعة لجهات خارجية

  • تم تطوير حزمة APK وامتلاكها من قِبل المصنّع الأصلي للجهاز، حيث يمكن للمصنّع الأصلي للجهاز مواصلة تستضيف مخطط واجهة برمجة التطبيقات المخفي.

لنقل بيانات "SharedPreferences" إلى وحدة البث الخلوي، يجب أن تدعم حزمة APK CellBroadcastContentProvider ContentProvider.call) بالمعلمات التالية:

  • السلطة: @SystemAPI CellBroadcast.LEGACY_CONTENT_URI
  • الطريقة: @SystemAPI CellBroadcast.CALL_METHOD_GET_PREFERENCE
  • الوسيط: @SystemAPI CellBroadcast.Preference

    هذه قائمة بمفاتيح الإعدادات المفضّلة المشتركة المتوافقة مع CellBroadcast. واحدة. تأتي البيانات من "SharedPreferences" ContentProvider.call .

لنقل سجل الرسائل إلى وحدة البث الخلوي، يجب أن تدعم حزمة APK CellBroadcastContentProvider ContentProvider.query بالمعلمات التالية:

  • السلطة: @SystemAPI CellBroadcast.LEGACY_CONTENT_URI. أعمدة طلب البحث إدراج خصائص الرسالة المتوافقة لوحدة CellBroadcast. تشمل البيانات (من قاعدة البيانات) لطريقة ContentProvider.query.

بالنسبة إلى التنفيذ المرجعي لـ CellBroadcastContentProvider,، يُرجى الرجوع إلى LegacyCellBroadcastContentProvider

الاختبار

تتحقق "مجموعة اختبار التوافق مع Android" (CTS) من وظائف واجهات برمجة تطبيقات النظام التي تعتمد على التطبيق. يمكنك أيضًا تشغيل وحدة البث الخلوي unit tests/testappsp

إذا كان المصنّع الأصلي للجهاز قد فعّل الرمز السرّي CMAS لأحد الأجهزة، يعني ذلك أن يتيح الجهاز وضع تصحيح الأخطاء باستخدام الميزات التالية.

  • يتم تجميع تنبيهات الاختبار ضمن تنبيهات أخرى مع مفتاح تبديل التفعيل/الإيقاف.

  • يتضمن السجلّ جميع الرسائل التي تم استلامها ولكن لم يتم عرضها، مثل تكرار رسائل أو رسائل بلغة أخرى.

  • يعرض تطبيق "الرسائل" جميع المعلمات المتاحة، بما في ذلك الرقم التسلسلي والرسالة ورقم التعريف وتاريخ انتهاء الصلاحية.

لتفعيل وضع تصحيح الأخطاء، اطلب *#*#CMAS#*#* في برنامج الاتصال.

Contact

لمزيد من التفاصيل أو الأسئلة حول وحدة البث الخلوي، اتصل بـ مجموعة دعم CellBroadcast.