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

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

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

    • इसकी मदद से, Google Analytics के ज़रिए टेस्ट डेटा भी इकट्ठा किया जा सकता है.

A2DP+HFP वाला क्लासिक

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

LE Audio के साथ BLE

  • कम से कम दो रेफ़रंस फ़ोन में LE Audio की सुविधा होनी चाहिए.
    • उदाहरण के लिए, एक Samsung फ़ोन और एक Pixel फ़ोन, जो LE Audio के साथ काम करता हो.
  • पक्का करें कि सभी 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 क्लासिक, फ़ोन B: BT क्लासिक
  • फ़ोन A: LE Audio, फ़ोन B: BT Classic
  • फ़ोन A: BT क्लासिक, फ़ोन B: LE Audio

विकल्प के तौर पर, Dual LE Audio वाले कनेक्शन का इस्तेमाल करने वाली कंपनियों को इन चीज़ों की जांच करनी चाहिए:

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

जांच करने की गाइड

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

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

दायरा

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

डिवाइस को अपने-आप रीस्टार्ट होने और अपने-आप जांच करने की सुविधा को पूरा करना

A2DP+HFP वाला क्लासिक

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

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

  • टेस्ट फ़ोन:

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

    • 1 दौड़ें. डिवाइस A=Samsung S10+ (12), डिवाइस B=Pixel 7 pro (13) कॉलम D: फ़ोन=Pixel 7 pro, OS=Android 13
    • दूसरा चरण. डिवाइस A=Pixel 7 pro (13), डिवाइस B=Pixel 6(12) कॉलम E: फ़ोन=Pixel 6, OS=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, मुख्य डीयूटी होगा.
    • टेंप्लेट के सबसे ऊपर मौजूद "फ़ोन" और "ओएस" फ़ील्ड में, डिवाइस B की जानकारी डालें.

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

  • टेस्ट फ़ोन:

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

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

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

इस इमेज में, टेस्ट के नतीजे दिखाए गए हैं

ऑडियो इवेंट:

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

    1. कॉल करें:
      1. पहले से मौजूद फ़ोन ऐप्लिकेशन.
    2. वीओआईपी: कोई भी वीओआईपी ऐप्लिकेशन काम करेगा, जैसे:
      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 ग्रुप में शामिल होने के बाद, सूचनाएं चालू हो जाती हैं. यहां कुछ उदाहरण दिए गए हैं:

    • स्थिति की नई सूचना:

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

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

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

    • इंतज़ार का समय बदलने की सूचना:

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

पेज के लोड होने में लगने वाले समय का मेज़रमेंट

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

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

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

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

यह इमेज, उदाहरण के तौर पर दी गई है कि आपका ऐप्लिकेशन कैसे काम करता है

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

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

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

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

ऑडियो टाइप

A2DP+HFP वाला क्लासिक

  • VoIP
    • इस मोड को चुनने पर, ऑडियो मोड AudioManager.MODE_IN_COMMUNICATION और कॉल AudioManager.startBluetoothSco पर सेट हो जाएगा. इसके बाद, ऑडियो को USAGE_VOICE_COMMUNICATION से चलाया जा सकेगा.
    • स्ट्रीम का टाइप STREAM_VOICE_CALL है.
    • सेवा देने वाली कंपनी के कनेक्शन की स्थिति 5 के अंदर CONNECTED_HFP में बदल जानी चाहिए सेकंड.
  • मीडिया
    • इस मोड को चुनने पर, AVRCP की सुविधा वाले डिवाइसों पर ऑडियो चलेगा. ऑडियो के इस्तेमाल का टाइप: USAGE_MEDIA.
    • सेवा देने वाली कंपनी के कनेक्शन की स्थिति इस पर स्विच होगी CONNECTED_A2DP_WITH_AVRCP 5 सेकंड के अंदर.
    • कनेक्शन की स्थिति कुछ समय के लिए 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 5 सेकंड के अंदर.
    • कनेक्शन की स्थिति कुछ समय के लिए इस पर स्विच हो सकती है चालू या बंद करने पर 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
    • इंतज़ार का समय, NearbyDeviceManager के SwitchHistory सेक्शन में दिखता है:
            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 मिलीसेकंड के इंतज़ार के तौर पर रिकॉर्ड किया जाएगा.

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

इंतज़ार के समय की जांच से मिले लॉग के उदाहरण

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

Seeker की वजह से होने वाली गड़बड़ियां:

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