הנחיות לאישור העברת אודיו

הכנה לקראת ההסמכה

  • מכינים את המכשירים לבדיקה.
    • נדרשים 5 מכשירי Android.
      • המכשירים האלה חייבים לכלול:
        • לפחות גרסה אחת של Android T‏ (13) וגרסה אחת של Android V‏ (15).
        • לפחות מכשיר Samsung אחד ומכשיר Pixel אחד.
        • לדוגמה:
          • 1 OnePlus (Android 10).
          • 3 Samsung (Android 11, ‏ 12, ‏ 13).
          • Pixel 1‏ (Android 15).
    • מכשיר אחד ללא מתג אודיו:
      • כל מכשיר iPhone,‏ PC,‏ מחשב נייד עם Bluetooth (BT) או טלפון Android שבו מתג האודיו מושבת.
        • אפשר להשבית את המתג של האודיו בהגדרות הפרטים של מכשיר ה-Bluetooth.
      • בנוסף ל-5 הטלפונים לבדיקה, צריך מכשיר ללא מתג אודיו לצורך בדיקת נקודה מרובת (MP) 2.8.
  • כדי להציג התראות לניפוי באגים בטלפונים לבדיקה, צריך להצטרף לקבוצת הבדיקה של מתג האודיו עם חשבונות הבדיקה.

    • כך Google יכולה גם לאסוף נתוני בדיקה דרך Google Analytics.

קלאסי עם A2DP+HFP

  • מוודאים שגרסת GmsCore 23.xx.xx ואילך מותקנת בכל מכשירי Android.

BLE עם LE Audio

  • לפחות שניים מהטלפונים לדוגמה חייבים לתמוך ב-LE Audio.
    • לדוגמה, טלפון Samsung אחד וטלפון Pixel אחד שתומכים ב-LE Audio.
  • מוודאים שגרסת GmsCore 24.33.xx ואילך מותקנת בכל מכשירי Android.

קריטריונים לקבלת אישור

  • שיעור ההצלחה של החלפת היעד צריך להיות גבוה מ-95% בכל תרחישי הבדיקה.
  • בבדיקות שדורשות החלפה, החיבור לפרופיל והמעבר למצב פעיל חייבים להסתיים תוך 3 שניות ממועד הפעלת אירועי האודיו, ב-75% מהמקרים לפחות.

קלאסי עם A2DP+HFP

צריך לבצע את הבדיקות העצמאיות בשילובים הבאים:

  • טלפון א' = Android S‏ (12) + טלפון ב' = Android T‏ (13)
  • טלפון א' = Android T‏ (13) + טלפון ב' = Android S‏ (12)

BLE עם LE Audio

צריך לבצע את הבדיקות העצמאיות בשילובים הבאים:

  • טלפון א': BT Classic, טלפון ב': BT Classic
  • טלפון א': LE Audio, טלפון ב': BT Classic
  • טלפון א': BT Classic, טלפון ב': LE Audio

ספקים שתומכים בחיבורי Dual LE Audio יכולים לבדוק את האפשרויות הבאות:

  • טלפון א': LE Audio, טלפון ב': LE Audio

מדריך לבדיקה

הכנת המכשיר לבדיקה (DUT)

  • מוודאים שמכשיר BT לא צורף בעבר לטלפון כלשהו שמחובר לחשבון Google לבדיקה.
    • אם המכשיר מותאם לחשבון Google לבדיקה, מבצעים את הפעולות הבאות כדי לבטל את ההתאמה:
      • ברשימת המכשירים המותאמים:
        • עוברים להגדרות ה-Bluetooth.
        • בוחרים באפשרות 'הסרת המכשיר'.
        • מפעילים את מצב הטיסה ולאחר מכן מכבים אותו.
    • מוודאים שהאפשרות 'שמירה אוטומטית של מכשירים' מופעלת.
      • המתג הזה מושבת כברירת מחדל.
      • אפשר למצוא את האפשרות הזו בקטע 'הגדרות' > 'Google' > 'מכשירים' > 'מכשירים שמורים' (מכשיר אחד לכל מכשיר DUT).
    • מעבירים את מכשיר ה-Bluetooth למצב התאמה.
    • מתאימים את מכשיר ה-Bluetooth הראשוני (A).
    • מתאימים מכשירי Bluetooth נוספים למכשירים אחרים (B,‏ C,‏ D וכו').

היקף

  • כל האוזניות מריצות בדיקות מהכרטיסיות השונות בדוח הבדיקה העצמית של BT Classic או של BT LE Audio.
  • אוזניות שתומכות רק במצב SinglePoint‏ (SP) מפעילות את הפקודות הבאות:
    • הכרטיסייה Generic_test.
  • באוזניות שתומכות במצב MP פועלים הדברים הבאים:
    • הכרטיסייה Generic_test.
    • הכרטיסייה Multipoint_only.
  • באוזניות MP שאפשר להעביר למצב SP פועלים הדברים הבאים:
    • הכרטיסייה Generic_test כשהאפשרות MP מושבתת.
    • הכרטיסייה Generic_test עם MP מופעל.
    • הכרטיסייה Multipoint_only כש-MP מופעל.

השלמת תהליך ה-Self-Rest והדוח של הבדיקה העצמית

  • יוצרים עותק של דוחות הבדיקה העצמית של BT Classic או של BT LE Audio.
  • מריצים את כל מקרי הבדיקה לפחות פעמיים.
  • צריך להריץ את הבדיקות בפורמט הבא:

קלאסי עם A2DP+HFP

  • מכשיר ב' יהיה מכשיר ה-DUT הראשי.
    • מזינים את הפרטים של מכשיר ב'טלפון' ו'מערכת הפעלה' בחלק העליון של התבנית.

דוגמה לתרגיל בדיקה:

  • טלפונים לבדיקה:

    • מכשיר 1: Samsung‏ (Android 13)
    • מכשיר 2: Pixel‏ (Android 12 או 13) ואחרים.
  • הבדיקות שבוצעו:

    • מריצים את 1. מכשיר א'=Samsung S10+‏ (12), מכשיר ב'=Pixel 7 pro‏ (13) עמודה ד': טלפון=Pixel 7 pro, מערכת הפעלה=Android 13
    • ריצה 2. מכשיר א'=Pixel 7 Pro‏ (13), מכשיר ב'=Pixel 6‏(12) עמודה ה': טלפון=Pixel 6, מערכת הפעלה=Android 12

דוגמה לבדיקה שהושלמו בתבנית הבדיקה העצמית:

בתמונה הזו מוצגות התוצאות של בדיקה לדוגמה

BLE עם LE Audio

  1. מכשיר א' = Android V‏ (15) + מכשיר ב' = Android T‏ (13)
  2. מכשיר א' = Android T‏ (13) + מכשיר ב' = Android V‏ (15)
  3. מכשיר א'=Android T‏ (13) + מכשיר ב'=Android S‏ (12)
  4. מכשיר א' = Android T‏ (15) + מכשיר ב' = Android V‏ (15)
  5. מכשיר ב' יהיה מכשיר ה-DUT הראשי.
    • מזינים את הפרטים של מכשיר ב'טלפון' ו'מערכת הפעלה' בחלק העליון של התבנית.

דוגמה לתרגיל בדיקה:

  • טלפונים לבדיקה:

    • מכשיר 1: Samsung‏ (Android 13)
    • מכשיר 2: Pixel (Android 15) ואחרים.
  • הבדיקות שבוצעו:

    • [LEA+BT]: Device A= Pixel 8 (15), Device B=Pixel 7 pro (13) column D: Phone=Pixel 7 pro, OS=Android 13
    • [BT+LEA]: Device A=Pixel 7‏ (13), Device B=Pixel 8‏ (Android 15) עמודה E: Phone=Pixel 8, OS=Android 15
    • [BT+BT]: מכשיר א'=Pixel 7 pro‏ (13), מכשיר ב'=Samsung S10+‏ (12) עמודה E: טלפון=Samsung S10+‏, מערכת הפעלה=Android 12
    • [LEA+LEA]: מכשיר א'=Pixel 8‏ (15), מכשיר ב'=Pixel 8‏(15) עמודה E: טלפון=Pixel 8, מערכת הפעלה=Android 15

דוגמה לבדיקה שהושלמו בתבנית הבדיקה העצמית:

בתמונה הזו מוצגות התוצאות של בדיקה לדוגמה

אירועי אודיו:

  • 4 סוגי אירועי האודיו שנבדקו והאפליקציות המומלצות לבדיקה הם:

    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: מוצגת ההודעה 'עדכון לגבי המצב הנוכחי'.

    • ללא התראה על החלפת מצב:

    איור 2: מוצגת ההודעה 'אין התראה על החלפה'.

    • החלפת ההתרעה על זמן אחזור:

    איור 3: מוצגת ההודעה 'הודעה על זמן אחזור של המתג'.

מדידת זמן האחזור

  • יש שני סוגים של זמן אחזור למעבר:
    1. חיבור פרופיל Bluetooth למכשיר Seeker מנותק.
      • הבעיה הזו כוללת את כל בקשות התמיכה מסוג SinglePoint, וחלק מבקשות התמיכה מסוג MP שבהן מכשיר החיפוש היעד (מכשיר ב') מנותק.
    2. החלפת המכשיר המחובר הפעיל שמחפש.
      • הנתון הזה כולל מקרים מסוימים של מודעות MP שבהם המכשיר של מבצע החיפוש היעד (מכשיר ב') כבר מחובר.
  • יש שתי דרכים לאחזר את פרטי זמן האחזור:
    1. אפשר להפיק דוח של כל זמני האחזור באמצעות הפקודה adb.
    2. באמצעות אפליקציית הבדיקה של שינוי מקור האודיו.
      • באפליקציה שפועלת ב-Seeker היעד יוצג זמן אחזור אחרי המעבר.
      • אם לא היה מעבר, באפליקציה תוצג הסיבה 'no switch'.

אפליקציית הבדיקה של שינוי מקור האודיו:

  • שימוש באפליקציה כדי להפעיל אירועי אודיו של VoIP/מדיה/משחק במהלך בדיקה עצמית פשוט יותר להגדרת הבדיקה וגם מפחית את זמן האחזור של האירועים ב-Seeker.
    • כאן אפשר להוריד את הגרסה האחרונה.
    • כדי להפעיל את הבדיקה של 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 test' ברשימת האפליקציות.
    3. נותנים גישה להתראות.

סקירה כללית של האפליקציה:

התמונה הזו היא דוגמה לאפליקציה שפועלת

  • ספק היעד

    • כשלוחצים על הלחצן הזה, מוצגת רשימה של מכשירי Bluetooth מותאמים. בוחרים את האפשרות שרוצים לבדוק.
    • הלחצנים 'התחברות' ו'ניתוק' פועלים כמו הלחצן שמופיע בפרטי המכשיר בהגדרות Bluetooth.
  • המצב הנוכחי

    • השדה הזה מציג את מצב החיבור האחרון שהמכשיר המחפש קיבל מספק באמצעות פרסום BLE או מקור אירועים.
    • כאן מוצגות גם התראות על ניפוי באגים של מתג האודיו.
  • סוג מבצע החיפוש

    • האפשרות הזו משמשת להעברת המכשיר בין מקורות אודיו.

סוג האודיו

קלאסי עם A2DP+HFP

  • VoIP
    • בחירה במצב הזה תשנה את מצב האודיו ל-AudioManager.MODE_IN_COMMUNICATION ותפעיל את הפקודה AudioManager.startBluetoothSco, ואז תפעיל את האודיו באמצעות הפקודה USAGE_VOICE_COMMUNICATION.
    • סוג הסטרימינג הוא STREAM_VOICE_CALL.
    • סטטוס החיבור של הספק אמור לעבור ל-CONNECTED_HFP תוך 5 שניות.
  • מדיה
    • בחירה במצב הזה תפעיל אודיו שתומך ב-AVRCP. סוג השימוש באודיו הוא: USAGE_MEDIA.
    • סטטוס החיבור של הספק אמור לעבור ל-CONNECTED_A2DP_WITH_AVRCP תוך 5 שניות.
    • ייתכן שמצב החיבור ישתנה ל-CONNECTED_A2DP_ONLY לזמן קצר כשהוא מתחיל או נעצר.
  • משחק
    • בחירה במצב הזה מאפשרת להפעיל אודיו שלא תומך ב-AVRCP. סוג השימוש באודיו הוא: USAGE_GAME.
    • סטטוס החיבור של הספק אמור לעבור ל-CONNECTED_A2DP_ONLY תוך 5 שניות.

BLE עם LE Audio

  • VoIP

    • בחירה במצב הזה תשנה את מצב האודיו ל-AudioManager.MODE_IN_COMMUNICATION ותפעיל את האודיו באמצעות USAGE_VOICE_COMMUNICATION.
    • סוג הסטרימינג הוא STREAM_VOICE_CALL.
    • סטטוס החיבור של הספק אמור לעבור ל-CONNECTED_LE_AUDIO_CALL תוך 5 שניות.
  • מדיה

    • בחירה במצב הזה תפעיל אודיו עם סוג שידור 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 תוך 5 שניות.
  • לחצני הפעלה והשהיה

    • הלחצנים 'הפעלה' ו'עצירה' מפעילים או מפסיקים את האודיו.
  • תוצאת המעבר

    • בשדה הזה מוצג זמן האחזור הפעיל של Connect and Switch. הוא גם מציג את הסיבה לדחיית החלפה אם אירוע אודיו הופעל אבל החלפה לא התרחשה.
    • זמן האחזור נמדד באלפיות שנייה (ms).
    • באופן כללי, זמן האחזור נמדד מתחילת ההפעלה של מתג האודיו ועד לקבלת אירוע של פרופיל BT מחובר או Notify multipoint-switch.
    • המתגים שמופעל על ידי הספק מודדים את זמן האחזור מתחילת האודיו.

זמן האחזור של ה-dump

  • הפקודה הבאה מאפשרת למשתמש לתעד מדידות זמן אחזור בזמן ריצה של בדיקות ידניות: adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService
    • מדידות זמן האחזור מוצגות בקטע NearbyDeviceManager's 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 לא יכול למדוד (למשל, מעבר פעיל ל-HFP) יירשם כזמן אחזור של 0ms.

הפניות לתבניות יומן:

דוגמאות ליומנים מבדיקת זמן האחזור

בעיות ידועות:

אלה באגים ידועים שנגרמים על ידי Seeker:

  1. מעבר שגוי של אודיו במשחק.
    • טלפונים של Samsung יגדירו את מצב החיבור ל-CONNECTED_A2DP_WITH_AVRCP במקום ל-CONNECTED_A2DP_ONLY כשמשחקים.
    • במשחקים מסוימים (כמו Candy Crush) יכול להיות שתתבצע הפעלה חוזרת של מוזיקה ברקע והפעלה של אירוע אודיו חדש ללא קלט מהמשתמש. יכול להיות שהטלפונים המקושרים ישנו את מקור האודיו כל הזמן בכל טלפון שבו נפתח המשחק.