ऑडियो स्विच करने की सुविधा के सर्टिफ़िकेशन से जुड़े दिशा-निर्देश

सर्टिफ़िकेशन की तैयारी

  • टेस्ट डिवाइस तैयार करें.
    • इसके लिए, आपके पास पांच Android डिवाइस होने चाहिए.
      • इन डिवाइसों में ये शामिल होने चाहिए:
        • कम से कम एक Android T (13) और एक Android V (15) होना चाहिए.
        • कम से कम एक Samsung और एक Pixel डिवाइस.
        • उदाहरण के लिए:
          • एक OnePlus डिवाइस (Android 10).
          • Samsung के तीन डिवाइस (Android 11, 12, 13).
          • Pixel 1 (Android 15).
    • एक ऐसा डिवाइस जिसमें ऑडियो स्विच करने की सुविधा नहीं है:
      • कोई भी iPhone, पीसी, ब्लूटूथ (बीटी) की सुविधा वाला लैपटॉप या Android फ़ोन, जिसमें ऑडियो स्विच की सुविधा बंद हो.
        • ब्लूटूथ डिवाइस की जानकारी वाली सेटिंग में जाकर, ऑडियो स्विच करने की सुविधा बंद की जा सकती है.
      • मल्टीपॉइंट (एमपी) टेस्ट केस 2.8 के लिए, पांच टेस्ट फ़ोन के अलावा, ऑडियो स्विच की सुविधा के बिना काम करने वाले डिवाइस की ज़रूरत होती है.
  • अपने टेस्ट खातों से ऑडियो स्विच करने की सुविधा की टेस्टिंग वाले ग्रुप में शामिल हों, ताकि टेस्ट फ़ोन पर डीबग करने से जुड़ी सूचनाएं दिख सकें.

    • इससे Google को, Google Analytics के ज़रिए टेस्ट डेटा इकट्ठा करने की अनुमति भी मिलती है.

A2DP+HFP के साथ क्लासिक

  • पक्का करें कि सभी Android डिवाइसों पर GmsCore का 23.xx.xx या इसके बाद का वर्शन इंस्टॉल हो.

LE Audio के साथ BLE

  • कम से कम दो रेफ़रंस फ़ोन में LE Audio की सुविधा होनी चाहिए.
    • उदाहरण के लिए, LE Audio के साथ काम करने वाला एक Samsung फ़ोन और एक Pixel फ़ोन.
  • पक्का करें कि सभी Android डिवाइसों पर GmsCore का 24.33.xx या इसके बाद का वर्शन इंस्टॉल हो.

सर्टिफ़िकेशन के लिए ज़रूरी शर्तें

  • सभी टेस्ट केस में, टारगेट स्विच करने की सुविधा के काम करने की दर 95% से ज़्यादा होनी चाहिए.
  • जिन टेस्ट में स्विच करने की ज़रूरत होती है उनमें प्रोफ़ाइल कनेक्शन और स्विच की चालू स्थिति, कम से कम 75% मामलों में ऑडियो इवेंट ट्रिगर होने के तीन सेकंड के अंदर पूरी होनी चाहिए.

A2DP+HFP के साथ क्लासिक

सेल्फ़-टेस्ट इन कॉम्बिनेशन में किए जाने चाहिए:

  • फ़ोन A=Android S (12) + फ़ोन B=Android T (13)
  • फ़ोन A=Android T (13) + फ़ोन B=Android S (12)

LE Audio के साथ BLE

सेल्फ़-टेस्ट इन कॉम्बिनेशन में किए जाने चाहिए:

  • फ़ोन A: BT Classic, फ़ोन B: BT Classic
  • फ़ोन A: LE Audio, फ़ोन B: BT Classic
  • फ़ोन A: BT Classic, फ़ोन B: LE Audio

जिन प्रोवाइडर के डिवाइसों में Dual LE Audio कनेक्शन की सुविधा काम करती है उन्हें यह जांच करनी चाहिए:

  • फ़ोन A: LE Audio, फ़ोन B: LE Audio

टेस्टिंग गाइड

टेस्ट किए जाने वाले डिवाइस (डीयूटी) को तैयार करना

  • पुष्टि करें कि बीटी डिवाइस को पहले किसी ऐसे फ़ोन से न जोड़ा गया हो जिसमें टेस्टिंग के लिए इस्तेमाल किए जाने वाले Google खाते से लॉग इन किया गया हो.
    • अगर डिवाइस को टेस्टिंग के लिए इस्तेमाल किए जा रहे Google खाते से जोड़ा गया है, तो डिवाइस को अनपेयर करने के लिए यह तरीका अपनाएं:
      • जोड़े गए डिवाइसों में जाकर:
        • ब्लूटूथ सेटिंग पर जाएं.
        • "डिवाइस की जानकारी हटाएं" को चुनें.
        • हवाई जहाज़ मोड को चालू और बंद करें.
    • पक्का करें कि "जोड़े गए डिवाइस को अपने-आप सेव होने की अनुमति दें" सेटिंग चालू हो.
      • यह स्विच, डिफ़ॉल्ट रूप से बंद होता है.
      • आपको यह विकल्प, सेटिंग > Google > डिवाइस > सेव किए गए डिवाइस (हर DUT के लिए एक) में मिलेगा.
    • ब्लूटूथ डिवाइस को दूसरे डिवाइस से जोड़ने वाले मोड में रखें.
    • पहले ब्लूटूथ डिवाइस (A) को जोड़ें.
    • इसके बाद, अन्य ब्लूटूथ डिवाइसों को दूसरे डिवाइसों (B, C, D वगैरह) से जोड़ें.

दायरा

  • सभी हेडसेट, BT Classic या BT LE Audio की सेल्फ़-टेस्ट रिपोर्ट में मौजूद अलग-अलग टैब से टेस्ट करते हैं.
  • सिर्फ़ सिंगलपॉइंट (एसपी) मोड के साथ काम करने वाले हेडसेट, ये काम करते हैं:
    • Generic_test टैब.
  • एमपी मोड के साथ काम करने वाले हेडसेट, ये काम करते हैं:
    • Generic_test टैब.
    • Multipoint_only टैब.
  • एसपी मोड में टॉगल किए जा सकने वाले एमपी हेडसेट, इन पर काम करते हैं:
    • MP बंद होने पर Generic_test टैब.
    • MP चालू होने पर, Generic_test टैब.
    • मल्टीपॉइंट_ओनली टैब में एमपी चालू है.

खुद पर पाबंदी लगाने और खुद की जांच करने की रिपोर्ट पूरी करना

  • BT Classic या BT LE Audio की सेल्फ़-टेस्ट रिपोर्ट की कॉपी बनाएं.
  • सभी टेस्ट केस को कम से कम दो बार चलाएं.
  • टेस्ट इस फ़ॉर्म में किए जाने चाहिए:

A2DP+HFP के साथ क्लासिक

  • डिवाइस B, मुख्य DUT होगा.
    • टेंप्लेट में सबसे ऊपर मौजूद "फ़ोन" और "ओएस" फ़ील्ड में, डिवाइस B की जानकारी डालें.

टेस्ट केस का उदाहरण:

  • टेस्ट फ़ोन:

    • डिवाइस 1: Samsung (Android 13)
    • डिवाइस 2: Pixel (Android 12 या 13) और अन्य डिवाइस.
  • लागू किए गए टेस्ट:

    • रन 1. डिवाइस A=Samsung S10+ (12), डिवाइस B=Pixel 7 Pro (13) कॉलम D: फ़ोन=Pixel 7 Pro, ओएस=Android 13
    • रन 2. डिवाइस A=Pixel 7 Pro (13), डिवाइस B=Pixel 6(12) कॉलम E: फ़ोन=Pixel 6, ओएस=Android 12

सेल्फ़-टेस्ट टेंप्लेट में पूरे किए गए टेस्ट का उदाहरण:

इस इमेज में, जांच के उदाहरण के नतीजे दिखाए गए हैं

LE Audio के साथ BLE

  1. डिवाइस A=Android V (15) + डिवाइस B=Android T (13)
  2. डिवाइस A=Android T (13) + डिवाइस B=Android V (15)
  3. डिवाइस A=Android T (13) + डिवाइस B=Android S (12)
  4. डिवाइस A=Android T (15) + डिवाइस B=Android V (15)
  5. डिवाइस B, मुख्य DUT होगा.
    • टेंप्लेट में सबसे ऊपर मौजूद "फ़ोन" और "ओएस" फ़ील्ड में, डिवाइस B की जानकारी डालें.

टेस्ट केस का उदाहरण:

  • टेस्ट फ़ोन:

    • डिवाइस 1: Samsung (Android 13)
    • डिवाइस 2: Pixel (Android 15) और अन्य डिवाइस.
  • लागू किए गए टेस्ट:

    • [एलईए+बीटी]: डिवाइस A= Pixel 8 (15), डिवाइस B=Pixel 7 pro (13) कॉलम D: फ़ोन=Pixel 7 pro, ओएस=Android 13
    • [BT+LEA]: Device A=Pixel 7 (13), Device B=Pixel 8 (Android 15) column E: Phone=Pixel 8, OS=Android 15
    • [BT+BT]: Device A=Pixel 7 pro (13), Device B=Samsung S10+ (12) column E: Phone=Samsung S10+, OS=Android 12
    • [LEA+LEA]: डिवाइस A=Pixel 8 (15), डिवाइस B=Pixel 8(15) कॉलम E: फ़ोन=Pixel 8, ओएस=Android 15

सेल्फ़-टेस्ट टेंप्लेट में पूरे किए गए टेस्ट का उदाहरण:

इस इमेज में, जांच के उदाहरण के नतीजे दिखाए गए हैं

ऑडियो इवेंट:

  • ऑडियो इवेंट की जांच चार तरह से की जाती है. साथ ही, जांच के लिए सुझाए गए ऐप्लिकेशन ये हैं:

    1. कॉल करें:
      1. पहले से मौजूद फ़ोन ऐप्लिकेशन.
    2. VoIP: कोई भी VoIP ऐप्लिकेशन काम करेगा. जैसे:
      1. ऑडियो स्विच करने की सुविधा की जांच करने वाला ऐप्लिकेशन.
      2. FB Messenger.
      3. लाइन.
      4. WhatsApp.
      5. Google Meet.
      6. Google Meet.
    3. मीडिया: कोई भी ऑडियो प्लेयर काम करेगा. जैसे:
      1. ऑडियो स्विच करने की सुविधा की जांच करने वाला ऐप्लिकेशन.
      2. YouTube Music.
      3. Apple Music.
      4. Spotify.
      5. Google Podcasts.
    4. गेम:
      1. ऑडियो स्विच करने की सुविधा की जांच करने वाला ऐप्लिकेशन.

डीबग की जानकारी:

  • fp-sass-partner-test ग्रुप में शामिल होने के बाद, सूचनाएं पाने की सुविधा चालू हो जाती है. यहां कुछ उदाहरण दिए गए हैं:

    • राज्य की ओर से भेजी गई हाल ही की सूचना:

    पहली इमेज: इसमें 'राज्य सरकार की ओर से जारी की गई नई सूचना' मैसेज दिखाया गया है.

    • स्विच करने की कोई सूचना नहीं:

    दूसरी इमेज: इसमें 'स्विच करने की सूचना नहीं' मैसेज दिखाया गया है.

    • स्विच करने में लगने वाले समय की सूचना:

    तीसरी इमेज: इसमें 'स्विच करने में लगने वाले समय की सूचना' मैसेज दिखाया गया है.

इंतज़ार के समय का मेज़रमेंट

  • स्विच करने में लगने वाला समय दो तरह का होता है:
    1. डिसकनेक्ट किए गए सीज़र से ब्लूटूथ प्रोफ़ाइल कनेक्ट करना.
      • इसमें SinglePoint के सभी मामले और कुछ ऐसे MP मामले शामिल हैं जिनमें टारगेट सीक करने वाला डिवाइस (डिवाइस B) डिसकनेक्ट हो गया है.
    2. कनेक्ट किए गए Seeker को स्विच करना.
      • इसमें कुछ ऐसे एमपी केस शामिल हैं जिनसे टारगेट सीक करने वाला डिवाइस (डिवाइस B) पहले से कनेक्ट है.
  • विलंबता की जानकारी पाने के दो तरीके हैं:
    1. adb कमांड की मदद से, सभी तरह की लेटेन्सी को डंप किया जा सकता है.
      • ज़्यादा जानकारी के लिए, डंप करने में लगने वाला समय सेक्शन देखें.
      • यह कमांड, कम से कम एक टेस्ट केस पूरा होने के बाद, लेटेन्सी की जानकारी दे सकती है और उसे रिकॉर्ड कर सकती है.
    2. ऑडियो स्विच करने की सुविधा की जांच करने वाले ऐप्लिकेशन का इस्तेमाल करके.
      • टारगेट सीक करने वाले व्यक्ति के डिवाइस पर चल रहा ऐप्लिकेशन, स्विच करने के बाद लेटेन्सी दिखाएगा.
      • अगर स्विच नहीं किया गया है, तो ऐप्लिकेशन में 'स्विच नहीं किया गया' वजह दिखेगी.

ऑडियो स्विच करने की सुविधा की जांच करने वाला ऐप्लिकेशन:

  • सेल्फ़ टेस्ट के दौरान VoIP/मीडिया/गेम के ऑडियो इवेंट को ट्रिगर करने के लिए ऐप्लिकेशन का इस्तेमाल करने से, टेस्ट सेटअप करना आसान हो जाएगा. साथ ही, सीक करने वाले व्यक्ति के लिए इवेंट की लेटेन्सी कम हो जाएगी.
  • ऐप्लिकेशन इंस्टॉल करना:
    • apk को अपने टेस्ट फ़ोन पर कॉपी करें और उसे खोलें.
    • इसके अलावा, adb install audio_test_app.apk का इस्तेमाल करें.
  • अगर आपको सूचनाएं ऐक्सेस करने की अनुमति माँगने वाला कोई डायलॉग दिखता है, तो:
    1. "ठीक है" पर क्लिक करें
    2. ऐप्लिकेशन की सूची में "FP SASS test" चुनें
    3. सूचनाओं को ऐक्सेस करने की अनुमति दें.

ऐप्लिकेशन की खास जानकारी:

इस इमेज में, ऐप्लिकेशन के चालू होने का उदाहरण दिखाया गया है

  • टारगेट करने की सुविधा देने वाली कंपनी

    • इस बटन पर क्लिक करने से, आपको जोड़े गए ब्लूटूथ डिवाइसों की सूची दिखेगी. वह चुनें जिसे आपको टेस्ट करना है.
    • कनेक्ट और डिसकनेक्ट बटन, ब्लूटूथ सेटिंग में डिवाइस की जानकारी वाले बटन की तरह काम करते हैं.
  • मौजूदा स्थिति

    • इस फ़ील्ड से, Seeker को BLE विज्ञापन या इवेंट स्ट्रीम का इस्तेमाल करके, Provider से मिला आखिरी कनेक्शन स्टेटस दिखता है.
    • ऑडियो स्विच करने से जुड़ी डीबग सूचनाएं भी यहां दिखती हैं.
  • नौकरी ढूंढने वाले का टाइप

    • इस विकल्प का इस्तेमाल, डिवाइस को ऑडियो स्ट्रीम के बीच स्विच करने के लिए किया जाता है.

ऑडियो टाइप

A2DP+HFP के साथ क्लासिक

  • VoIP
    • इस मोड को चुनने पर, ऑडियो मोड AudioManager.MODE_IN_COMMUNICATION और कॉल AudioManager.startBluetoothSco पर सेट हो जाएगा. इसके बाद, USAGE_VOICE_COMMUNICATION के साथ ऑडियो चलेगा.
    • स्ट्रीम का टाइप STREAM_VOICE_CALL है.
    • सेवा देने वाली कंपनी के कनेक्शन का स्टेटस, पांच सेकंड में CONNECTED_HFP पर स्विच हो जाना चाहिए.
  • मीडिया
    • इस मोड को चुनने पर, AVRCP के साथ काम करने वाला ऑडियो चलेगा. ऑडियो के इस्तेमाल का टाइप यह है: USAGE_MEDIA.
    • सेवा देने वाली कंपनी के कनेक्शन का स्टेटस, पांच सेकंड के अंदर CONNECTED_A2DP_WITH_AVRCP पर स्विच हो जाना चाहिए.
    • कनेक्शन शुरू या बंद होने पर, कनेक्शन की स्थिति कुछ समय के लिए CONNECTED_A2DP_ONLY पर स्विच हो सकती है.
  • गेम

    • इस मोड को चुनने पर, ऐसा ऑडियो चलाया जाता है जो AVRCP के साथ काम नहीं करता. ऑडियो के इस्तेमाल का टाइप यह है: USAGE_GAME.
    • सेवा देने वाली कंपनी के कनेक्शन का स्टेटस CONNECTED_A2DP_ONLY में पांच सेकंड के अंदर बदल जाना चाहिए.

LE Audio के साथ BLE

  • VoIP

    • इस मोड को चुनने पर, ऑडियो मोड AudioManager.MODE_IN_COMMUNICATION में बदल जाएगा और ऑडियो USAGE_VOICE_COMMUNICATION के साथ चलेगा.
    • स्ट्रीम का टाइप STREAM_VOICE_CALL है.
    • सेवा देने वाली कंपनी के कनेक्शन का स्टेटस CONNECTED_LE_AUDIO_CALL में पांच सेकंड के अंदर बदल जाना चाहिए.
  • मीडिया

    • इस मोड को चुनने पर, STREAM_MUSIC के तौर पर स्ट्रीम किए गए ऑडियो को चलाया जाएगा. ऑडियो के इस्तेमाल का टाइप यह है: USAGE_MEDIA.
    • सेवा देने वाली कंपनी के कनेक्शन का स्टेटस, पांच सेकंड के अंदर CONNECTED_LE_AUDIO_MEDIA_WITH_CONTROL पर स्विच हो जाना चाहिए.
    • कनेक्शन शुरू या बंद होने पर, कनेक्शन की स्थिति कुछ समय के लिए CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL पर स्विच हो सकती है.
  • गेम

    • इस मोड को चुनने पर, ऐसा ऑडियो चलता है जिस पर उपयोगकर्ता का सीधा कंट्रोल नहीं होता. ऑडियो के इस्तेमाल का टाइप यह है: USAGE_GAME.
    • सेवा देने वाली कंपनी के कनेक्शन का स्टेटस, पांच सेकंड के अंदर CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL पर स्विच हो जाना चाहिए.
  • चलाएं और रोकें बटन

    • 'चलाएं' और 'रोकें' बटन से ऑडियो शुरू या बंद होता है.
  • स्विच करने का नतीजा

    • इस फ़ील्ड में, कनेक्ट करने और स्विच करने की सक्रियता में लगने वाला समय दिखता है. अगर ऑडियो इवेंट ट्रिगर हुआ है, लेकिन स्विच नहीं हुआ है, तो यह स्विच न होने की वजह भी दिखाता है.
    • लेटेंसी को मिलीसेकंड (ms) में मापा जाता है.
    • आम तौर पर, ऑडियो स्विच करने की सुविधा को ट्रिगर करने से लेकर, कनेक्ट किए गए बीटी प्रोफ़ाइल या नोटिफ़ाई मल्टीपॉइंट-स्विच इवेंट के मिलने तक की अवधि को लेटेंसी कहा जाता है.
    • ऑडियो स्विच करने की सुविधा देने वाली कंपनी के ट्रिगर किए गए स्विच, ऑडियो शुरू होने से लेकर स्विच होने तक की लेटेन्सी को मेज़र करते हैं.

डंप करने में लगने वाला समय

  • मैन्युअल टेस्ट चलाते समय, यह कमांड उपयोगकर्ता को लेटेन्सी मेज़रमेंट कैप्चर करने की अनुमति देती है: adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService
    • लेटेंसी मेज़रमेंट, NearbyDeviceManagerSwitchHistory सेक्शन में दिखते हैं:
            NearbyDeviceManager
              Nearby Sass device count: 1
                Sass device - address:XX:XX:XX:XX:XX:XX, name:Googler's Pixel Buds, accountKey:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, modelId:6edaf7
                  SwitchHistory
                    15:30:21:166 - 15:30:25:201, latency 3035ms, Succeed, SASS_TRIGGERED_CONNECT, SASS switch, A2DP
                    15:34:58:568 - 15:34:58:568, latency 0ms, Succeed, SWITCH_ACTIVE_TO_SELF, SASS switch, HFP
                    15:36:26:615 - 15:36:31:603, latency 1988ms, Succeed, SASS_TRIGGERED_CONNECT, SASS switch, A2DP
                    15:37:56:108 - 15:37:56:250, latency 142ms, Succeed, SWITCH_ACTIVE_TO_SELF, SASS switch, A2DP"
  • GmsCore जिस स्विच को मेज़र नहीं कर सकता (जैसे, एचएफ़पी के लिए चालू स्विच), उसे 0 मि॰से॰ की लेटेन्सी के तौर पर रिकॉर्ड किया जाएगा.

लॉग पैटर्न का रेफ़रंस:

लेटेंसी टेस्ट के लॉग के उदाहरण

ऐसी समस्याएं जिनके बारे में हमें पता है:

सीकर की वजह से होने वाली इन गड़बड़ियों के बारे में हमें पहले से पता है:

  1. गेम के ऑडियो को स्विच करने में गड़बड़ी.
    • गेम खेलने के दौरान, Samsung फ़ोन कनेक्शन की स्थिति को CONNECTED_A2DP_ONLY के बजाय CONNECTED_A2DP_WITH_AVRCP पर सेट करेंगे.
    • कुछ गेम (जैसे, Candy Crush) में, उपयोगकर्ता के इनपुट के बिना ही बैकग्राउंड संगीत फिर से चलाया जा सकता है और नया ऑडियो इवेंट ट्रिगर किया जा सकता है. गेम खोलने पर, कनेक्ट किए गए फ़ोन पर ऑडियो लगातार स्विच हो सकता है.