सेलब्रॉडकास्ट

CellBroadcast मॉड्यूल, OEM के लिए बार-बार की जाने वाली कोशिशों को कम करता है (इससे यह Android नेटवर्क में फ़्रैगमेंटेशन को कम करता है और एक जैसी असली उपयोगकर्ताओं के व्यवहार से जुड़ा हो सकता है) और मोबाइल और इंटरनेट सेवा देने वाली कंपनी की जाँच को आसान बनाने में मदद करता है और CellBroadcast से जुड़ी ज़रूरी शर्तों के लिए सर्टिफ़िकेशन की सुविधा (क्योंकि कोड यह नहीं हो सकता कि जिन्हें OEM ने बदला है). यह मॉड्यूल अपडेट करने लायक है, जिसका मतलब है कि इसे जो सामान्य Android रिलीज़ साइकल से बाहर हैं.

पैकेज फ़ॉर्मैट

CellBroadcast मॉड्यूल में ये सेवाएं और ऐप्लिकेशन शामिल हैं.

  • CellBroadcastService सेवा, CellBroadcast SMS डिकोडिंग का समर्थन करती है, वायरलेस इमरजेंसी अलर्ट (WEA) 3.0 के लिए जियोफ़ेंसिंग, मैसेज के डुप्लीकेट वर्शन की जांच, मैसेज ब्रॉडकास्ट करने में मदद मिलती है. यह एक वन-टू-मेनी जियोटारगेट है और एक से ज़्यादा मोबाइल पर मैसेज डिलीवर करने के लिए डिज़ाइन की गई जियोफ़ेंस्ड मैसेज सेवा किसी निश्चित इलाके में एक ही समय पर, इन उपयोगकर्ताओं के फ़ोन का इस्तेमाल कर सकते हैं. सेवा देने वाली कंपनी ईटीएसआई जीएसएम कमिटी, 3GPP, दूरसंचार मानक.

  • CellBroadcastReceiver ऐप्लिकेशन एक डिफ़ॉल्ट सिस्टम ऐप्लिकेशन है जो आपातकालीन और कोई भी आपातकालीन स्थिति न होने की चेतावनियां (जैसे, ऐंबर और राष्ट्रपति चुनाव से जुड़ी चेतावनियां) और यह मोबाइल और इंटरनेट सेवा देने वाली कंपनी और क्षेत्र के हिसाब से, असली उपयोगकर्ताओं को जानकारी देता है कानून के हिसाब से सही हैं.

सेलब्रॉडकास्ट मैसेज फ़्लो

नीचे दिए गए डायग्राम में CellBroadcast मैसेज का फ़्लो दिखाया गया है.

CellBroadcastReceiver मैसेज फ़्लो

पहला डायग्राम. CellBroadcastReceiver मैसेज फ़्लो

  1. रेडियो इंटरफ़ेस लेयर (RIL) InBoundSMSHandler को CDMA/जीएसएम के बारे में सूचना देता है सेलब्रॉडकास्ट मैसेज.

  2. यह फ़्रेमवर्क, आने वाले मैसेज को प्रोसेस कर सके.

  3. मैसेज प्रोसेस होने के बाद, CellBroadcastService, इंटेंट को इस सिस्टम का डिफ़ॉल्ट CellBroadcastReceiver ऐप्लिकेशन मौजूद होगा.

  4. CellBroadcastReceiver ऐप्लिकेशन उपयोगकर्ता को मैसेज दिखाता है.

मॉड्यूल फ़ॉर्मैट

CellBroadcastService और CellBroadcastReceiver ऐप्लिकेशन एक APEX फ़ाइल (com.android.cellbroadcast), जो डिवाइस का इस्तेमाल करने के लिए उपलब्ध है Android 11 या इसके बाद वाला वर्शन होना चाहिए. इस मॉड्यूल में कोड 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

रनटाइम रिसॉर्स ओवरले का इस्तेमाल करके, कॉन्फ़िगरेशन को पसंद के मुताबिक बनाया जा सकता है (आरआरओ).

अनुमति का कॉन्फ़िगरेशन

CellBroadcast मॉड्यूल को प्लैटफ़ॉर्म के बजाय Google के हस्ताक्षर से साइन किया जाता है हस्ताक्षर का मतलब है कि मॉड्यूल के पास हस्ताक्षर की अनुमतियां नहीं हैं. इसके बजाय, Android 11 में नया सिग्नेचर तय किया गया है अनुमति com.android.cellbroadcastservice.FULL_ACCESS_CELL_BROADCAST_HISTORY CellBroadcast मॉड्यूल के अंदर; केवल मॉड्यूल में मौजूद पैकेज ही अनुमति नहीं है, क्योंकि वे एक ही कुंजी से हस्ताक्षर किए हुए हैं. इस अनुमति की मदद से, CellBroadcastReceiver ऐप्लिकेशन के डेटाबेस का पूरा ऐक्सेस होता है CellBroadcastService.

यह प्लैटफ़ॉर्म, android.permission.READ_CELL_BROADCASTS रनटाइम देता है डिफ़ॉल्ट सिस्टम एसएमएस ऐप्लिकेशन को आपातकालीन स्थिति का इतिहास ऐक्सेस करने की अनुमति चेतावनियां.

CellBroadcast मॉड्यूल को इंटिग्रेट करना

इस सेक्शन में CellBroadcast मॉड्यूल को इंटिग्रेट करने का तरीका बताया गया है.

सेटिंग के साथ इंटिग्रेट करना

आप सेटिंग ऐप्लिकेशन में जाकर यह तय कर सकते हैं कि CellBroadcast सेटिंग को कहां इंटिग्रेट करना है (असली उपयोगकर्ता सेटिंग > से सेलब्रॉडकास्ट सेटिंग पेज को ऐक्सेस करते हैं ऐप्लिकेशन और सूचनाएं > बेहतर > आपातकालीन स्थिति के बारे में चेतावनी). लॉन्च करने के लिए नीचे दिए गए सेटिंग ऐप्लिकेशन से CellBroadcastReceiver ऐप्लिकेशन में जाकर, नीचे दी गई सेटिंग बदलें पैकेज के नाम के साथ सेटिंग कॉन्फ़िगरेशन com.android.cellbroadcastreceiver.

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

मैसेजिंग ऐप्लिकेशन के साथ इंटिग्रेट करना

CellBroadcast को खोलने के लिए, ऐप्लिकेशन के लिंक को मैसेजिंग ऐप्लिकेशन में इंटिग्रेट किया जा सकता है मैसेज का इतिहास. Android मैसेज सेवा ऐप्लिकेशन में, इसे सेटिंग > बेहतर > आपातकालीन स्थिति के बारे में चेतावनी. लिंक को Google खाते में इंटिग्रेट करने के लिए, वह अपना मैसेजिंग ऐप्लिकेशन, मैसेजिंग ऐप्लिकेशन में पाथ तय कर सकता है. इसके बाद, CellBroadcast मॉड्यूल के लिए कॉम्पोनेंट का नाम com.android.cellbroadcastreceiver/com.android.cellbroadcastreceiver.CellBroadcastListActivity.

एसएमएस इनबॉक्स के साथ इंटिग्रेट किया जा रहा है

आप रनटाइम रिसॉर्स ओवरले का इस्तेमाल करके, नीचे दिए गए कॉन्फ़िगरेशन को बदलना.

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

अनुमतियां देना, CellBroadcast मॉड्यूल के दायरे से बाहर का है, आपको CellBroadcast को AppOpsManager.OP_WRITE_SMS की अनुमति देनी होगी मॉड्यूल का इस्तेमाल, एंड-टू-एंड सहायता उपलब्ध कराने के लिए किया जाता है. एओएसपी रेफ़रंस को लागू करने के लिए, यह SmsApplication.java पैच देखें.

CellBroadcastReceiver ऐप्लिकेशन को लॉन्च करना

CellBroadcastReceiver ऐप्लिकेशन के लॉन्च पॉइंट ये हैं.

  • सेटिंग ऐप्लिकेशन मेन्यू.

  • कोई ऐप्लिकेशन (इसमें तीसरे पक्ष के ऐप्लिकेशन शामिल हैं), जैसे कि मैसेज करने वाला ऐसा ऐप्लिकेशन जो सेलब्रॉडकास्ट मैसेज का इतिहास.

  • (ज़रूरी नहीं) Android की होम स्क्रीन पर मौजूद लॉन्च आइकॉन, जिसे OEM ने जोड़ा हो. ज़्यादा जानकारी के लिए, लॉन्च आइकॉन जोड़ना देखें.

CellBroadcastReceiver ऐप्लिकेशन की सेटिंग

नीचे दिए गए स्क्रीनशॉट, CellBroadcastReceiver ऐप्लिकेशन की सेटिंग का मेन्यू दिखा रहे हैं.

CellBroadcastReceiver ऐप्लिकेशन की सेटिंग का मेन्यू

दूसरा डायग्राम. CellBroadcastReceiver ऐप्लिकेशन की सेटिंग का मेन्यू

खतरे की चेतावनियों का इतिहास

तीसरी इमेज. खतरे की चेतावनियों के इतिहास वाली स्क्रीन

लॉन्च आइकॉन जोड़ना

ऐप्लिकेशन लॉन्चर से, CellBroadcast मैसेज के इतिहास को ऐक्सेस करने की सुविधा चालू की जा सकती है और आपके लॉन्च आइकॉन से.

  • ऐप्लिकेशन लॉन्चर से मैसेज का इतिहास ऐक्सेस करने के लिए, इसे बदलें RRO का इस्तेमाल करके, नीचे दिए गए कॉन्फ़िगरेशन को पूरा करें.

    <item type="bool" name="show_message_history_in_launcher" />
    
  • एओएसपी डिफ़ॉल्ट आइकॉन को बदलने के लिए, इसका इस्तेमाल करके नीचे दिए गए कॉन्फ़िगरेशन को बदलें आरआरओ.

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

CMAS गुप्त कोड सक्षम करना

CMAS गुप्त कोड सक्षम करने के लिए, *#*#CMAS#*#* (*#*#2627#*#* डायल पैड), डायलर ऐप को विशेष डायलर कोड को *#*#code#*#* और सार्वजनिक तरीके का इस्तेमाल करके कोड हैंडल करें sendDialerSpecialCode.

एरिया की जानकारी देना ज़रूरी है: चैनल 50

चैनल 50, मोबाइल और इंटरनेट सेवा देने वाली कंपनियों के लिए एक खास चैनल है, ताकि वे इलाके से जुड़े ब्रॉडकास्ट कर सकें जानकारी (दक्षिण अफ़्रीका में MTN को छोड़कर). इस चैनल के लिए, ब्रॉडकास्ट करें मैसेज के नतीजे में पॉप-अप डायलॉग या सूचना नहीं मिलती है. इसके बजाय, ब्रॉडकास्ट करें सेटिंग मेनू की सिम स्थिति में या स्थिति बार में ( उदाहरण के लिए, ज़िप कोड दिखाना).

Android CellBroadcastService, Google Maps के लिए सहायता उपलब्ध कराता है सेल ब्रॉडकास्ट सेवा में इन एपीआई को सेटिंग और SysUI ऐप्लिकेशन के लिए सेट कर सकते हैं, ताकि ब्रॉडकास्ट चैनल 50 से जुड़ी जानकारी देखने के लिए. इसे लागू करने के लिए, ये काम करें:

  • ब्रॉडकास्ट android.telephony.action.AREA_INFO_UPDATED को रजिस्टर करें और उसे बदलें RRO के ज़रिए, पाने वाले के पैकेज का नाम config_area_info_receiver_packages.

  • CellBroadcastService.CELL_BROADCAST_SERVICE_INTERFACE से बाइंड करें.

क्योंकि सेटिंग और SysUI ऐप्लिकेशन, CellBroadcast के दायरे से बाहर हैं मॉड्यूल के लिए, आपको SystemUI या सेटिंग ऐप्लिकेशन में अपने बदलाव लागू करने होंगे, एंड-टू-एंड सहायता उपलब्ध कराते हैं. रेफ़रंस के तौर पर इसे लागू करने के लिए, यहां जाएं: CellBroadcastService सेटिंग ऐप्लिकेशन है.

अनुकूलित

CellBroadcast मॉड्यूल के सोर्स कोड में सीधे तौर पर बदलाव नहीं किया जा सकता, लेकिन रनटाइम रिसॉर्स ओवरले का इस्तेमाल कर सकता है (आरआरओ) से पैरामीटर चालू या बंद करना (उदाहरण के लिए, सूचनाओं के रंग को अपनी पसंद के मुताबिक बनाया जा सकता है और डाइमेंशन के हिसाब से. इसमें इस्तेमाल किए गए पैरामीटर की डिफ़ॉल्ट वैल्यू बदलने के लिए CellBroadcast मॉड्यूल, टारगेट पैकेज का नाम बदलकर ऐसा कर सकता है: com.android.cellbroadcastreceiver. साथ ही:

  • ओवरले किए जा सकने वाले कॉन्फ़िगरेशन की सूची के लिए, यह देखें overlayable.xml.

  • लागू करने के उदाहरण के लिए, यहां जाएं: RROSampleTestApp में शामिल हैं.

अगर लागू करने की प्रोसेस में यूज़र इंटरफ़ेस (यूआई) स्ट्रिंग के अनुवाद के संसाधन मौजूद नहीं हैं या अनुवाद आपकी अपेक्षाओं पर खरे नहीं उतरते, इसलिए आप अनुवाद को ओवरराइड कर सकते हैं RRO का इस्तेमाल करने वाले संसाधन या अपस्ट्रीम के लिए Google की अनुवाद टीम के साथ काम करने वाले संसाधन CellBroadcast मॉड्यूल में स्ट्रिंग अनुवाद. अगर अनुवाद की जगह पर बदलाव किया जाता है संसाधन नहीं हैं, तो Google को उन स्ट्रिंग को overlayable.xml में दिखाना होगा, ताकि ओवरराइड कर रहा है. अगर आपको यूज़र इंटरफ़ेस (यूआई) को पसंद के मुताबिक बनाने के लिए और कॉन्फ़िगरेशन चाहिए, तो यहां संपर्क करें CellBroadcast सहायता ग्रुप.

डेटा माइग्रेट करना

Android 11 में एक लेगसी CellBroadcast ऐप्लिकेशन शामिल है, जो है, जो ऐप्लिकेशन डेटा को सुरक्षित रखने और माइग्रेट करने का तरीका है (इसमें उपयोगकर्ता सेटिंग और CellBroadcast मॉड्यूल में अपग्रेड करने वाले डिवाइसों के लिए, आपातकालीन स्थिति की चेतावनी का इतिहास). सेलब्रॉडकास्ट मॉड्यूल का इस्तेमाल करने वाले Android के तरीकों में ये शामिल होनी चाहिए डेटा माइग्रेशन के लिए लेगसी सेलब्रॉडकास्ट ऐप्लिकेशन का इस्तेमाल करें. अगर आपके लागू करने के लिए कस्टम CellBroadcast समाधान का इस्तेमाल करेंगे, तो आपको CellBroadcastContentProvider APK को डेटा सुरक्षित रखने के लिए (आप सुरक्षित रूप से बाद वाली रिलीज़ में लेगसी सेल ब्रॉडकास्ट APK के लिए होता है).

सेलब्रॉडकास्ट मॉड्यूल इस्तेमाल करने के लिए अपग्रेड किए गए डिवाइसों पर, यह मॉड्यूल डेटा फ़ेच करता है या तो AOSP LegacyCellBroadcastApp से या OEM-तय CellBroadcastContentProvider APK को अच्छी तरह से बताया गया हो cellbroadcast-legacy की संस्था.

OEM-तय CellBroadcastContentProvider APK का इस्तेमाल करना

CellBroadcastContentProvider APK को परिभाषित करते समय, APK को इनका पालन करना होगा खास जानकारी.

  • APK एक हेडलेस APK है, जो सिर्फ़ इसके डेटाबेस का कॉन्टेंट दिखाता है और SharedPreferences के ज़रिए ContentProvider ऑब्जेक्ट को cellbroadcast-legacy अनुमति के साथ शेयर करें और इसे ऐक्सेस नहीं किया जा सकता तीसरे पक्ष के ऐप्लिकेशन का इस्तेमाल करते हैं.

  • APK को OEM ने बनाया है और उसका मालिकाना हक है. इसके आधार पर OEM अपना काम जारी रख सकता है छिपाए गए एपीआई स्कीमा को होस्ट कर सकते हैं.

SharedPreferences को CellBroadcast मॉड्यूल में माइग्रेट करने के लिए, CellBroadcastContentProvider APK को ContentProvider.call) इस तरीके का इस्तेमाल करें:

  • सर्टिफ़िकेट: @SystemAPI CellBroadcast.LEGACY_CONTENT_URI
  • तरीका: @SystemAPI CellBroadcast.CALL_METHOD_GET_PREFERENCE
  • आर्ग: @SystemAPI CellBroadcast.Preference

    यह सेलब्रॉडकास्ट के लिए इस्तेमाल की जा सकने वाली शेयर की गई पसंद की कुंजियों की सूची है मॉड्यूल का इस्तेमाल नहीं किया जाएगा. यह डेटा SharedPreferences से ContentProvider.call तरीका.

मैसेज के इतिहास को CellBroadcast मॉड्यूल में माइग्रेट करने के लिए, CellBroadcastContentProvider APK को ContentProvider.query इस तरीके का इस्तेमाल करें:

  • सर्टिफ़िकेट देने वाली संस्था या निकाय: @SystemAPI CellBroadcast.LEGACY_CONTENT_URI. क्वेरी कॉलम CellBroadcast मॉड्यूल के लिए, इस्तेमाल की जा सकने वाली मैसेज प्रॉपर्टी की सूची बनाना. डेटा इकट्ठा करता है (आपके डेटाबेस से) ContentProvider.query तरीके के लिए.

CellBroadcastContentProvider, के लिए रेफ़रंस लागू करने के लिए, इसे देखें LegacyCellBroadcastContentProvider.

टेस्ट करना

Android कंपैटबिलिटी टेस्ट सुइट (सीटीएस) इन चीज़ों की पुष्टि करता है: ऐप्लिकेशन पर निर्भर सिस्टम एपीआई. आप CellBroadcast मॉड्यूल भी चला सकते हैं unit tests/testappsp.

अगर OEM ने किसी डिवाइस के लिए CMAS सीक्रेट कोड को चालू किया है, तो डिवाइस में नीचे दी गई सुविधाएं इस्तेमाल करके, डीबग मोड को इस्तेमाल किया जा सकता है.

  • टेस्ट अलर्ट, चालू/बंद टॉगल के साथ अन्य चेतावनियां में एक साथ ग्रुप किए जाते हैं.

  • इतिहास में वे सभी मैसेज शामिल होते हैं जो मिले थे, लेकिन दिखाए नहीं गए, जैसे डुप्लीकेट मैसेज या किसी दूसरी भाषा के मैसेज.

  • Messages, सीरियल नंबर, मैसेज के साथ-साथ सभी उपलब्ध पैरामीटर दिखाते हैं आईडी, और समयसीमा खत्म होने की तारीख.

डीबग मोड चालू करने के लिए, डायलर पर *#*#CMAS#*#* डायल करें.

संपर्क

CellBroadcast मॉड्यूल के बारे में ज़्यादा जानकारी या सवालों के लिए, CellBroadcast सहायता ग्रुप.