دستورالعمل های صدور گواهینامه سوئیچ صوتی

آمادگی برای صدور گواهینامه

  1. دستگاه های تست را آماده کنید.
    • شما به 5 دستگاه اندرویدی نیاز دارید.
      • این دستگاه ها باید شامل موارد زیر باشند:
        • حداقل یک Android T (13) و یک Android S (12).
        • حداقل یک سامسونگ و یک پیکسل.
        • مثلا:
          • 1 OnePlus (اندروید 10).
          • 3 سامسونگ (اندروید 11، 12، 13).
          • 1 پیکسل (اندروید 13).
    • یک دستگاه بدون سوئیچ صوتی:
      • هر لپ‌تاپ آیفون، رایانه شخصی، بلوتوث (BT) یا تلفن Android که سوئیچ صوتی آن غیرفعال است.
        • می‌توانید سوئیچ صوتی را از تنظیم جزئیات دستگاه بلوتوث خاموش کنید.
      • جعبه تست چند نقطه ای (MP) 2.8 علاوه بر 5 تلفن آزمایشی به دستگاهی بدون سوئیچ صوتی نیاز دارد.
  2. به گروه تست سوئیچ صوتی با حساب های آزمایشی خود بپیوندید تا اعلان های اشکال زدایی را در تلفن های آزمایشی نشان دهید.
    • این همچنین به گوگل امکان می دهد تا داده های آزمایشی را از طریق Google Analytics جمع آوری کند.
  3. مطمئن شوید که همه دستگاه‌های Android GmsCore نسخه 23.xx.xx یا جدیدتر را نصب کرده‌اند.

معیارهای صدور گواهینامه

  • نرخ موفقیت سوئیچینگ هدف باید در همه موارد آزمایشی از 95٪ تجاوز کند.
  • در آزمایش‌هایی که نیاز به سوئیچ دارند، اتصال نمایه و حالت فعال سوئیچ باید در حداقل 75 درصد موارد در عرض 3 ثانیه پس از راه‌اندازی رویدادهای صوتی تکمیل شود.

راهنمای تست

آماده سازی دستگاه تحت آزمایش (DUT).

  • بررسی کنید که دستگاه BT قبلاً با هیچ تلفنی که به حساب Google در حال آزمایش وارد شده است جفت نشده باشد.
    • اگر دستگاه با حساب Google در حال آزمایش جفت شده است، برای پاک کردن جفت شدن موارد زیر را انجام دهید:
      • در دستگاه های جفت شده:
        • به تنظیمات بلوتوث بروید.
        • "فراموش کردن دستگاه" را انتخاب کنید.
        • حالت هواپیما را روشن و خاموش کنید.
    • مطمئن شوید که «ذخیره خودکار دستگاه‌ها» روشن است.
      • این سوئیچ به طور پیش فرض خاموش است.
      • می‌توانید این گزینه را در تنظیمات > Google > دستگاه‌ها > دستگاه‌های ذخیره‌شده (یکی در هر DUT) پیدا کنید.
    • دستگاه بلوتوث را در حالت جفت شدن قرار دهید.
    • دستگاه بلوتوث اولیه (A) را جفت کنید.
    • دستگاه های بلوتوث بعدی را با دستگاه های دیگر (B، C، D، و غیره) جفت کنید.

محدوده

  • همه هدست‌ها آزمایش‌هایی را از زبانه‌های مختلف در الگوی خودآزمایی سوئیچ صوتی انجام می‌دهند.
  • هدست هایی که فقط از حالت SinglePoint (SP) پشتیبانی می کنند موارد زیر را اجرا می کنند:
    • تب Generic_test.
  • هدست هایی که از حالت MP پشتیبانی می کنند موارد زیر را اجرا می کنند:
    • تب Generic_test.
    • تب Multipoint_only.
  • هدست‌های MP که می‌توانند در حالت SP جابجا شوند، موارد زیر را اجرا می‌کنند:
    • برگه Generic_test با MP خاموش است.
    • برگه Generic_test با MP روشن.
    • برگه Multipoint_only با MP روشن.

تکمیل خود استراحت و گزارش خودآزمایی

  • تمام موارد تست را حداقل دو بار اجرا کنید.
  • تست ها باید به شکل زیر اجرا شوند:
  1. دستگاه A=Android S (12) + دستگاه B=Android T (13)
  2. دستگاه A=Android T (13) + دستگاه B=Android S (12)
  3. دستگاه B DUT اصلی خواهد بود.
    • جزئیات دستگاه B را در قسمت‌های «تلفن» و «OS» در بالای الگو وارد کنید.

نمونه آزمایشی:

  • تلفن های تست:

    • دستگاه 1: سامسونگ (اندروید 13)
    • دستگاه 2: پیکسل (اندروید 12 یا 13) و موارد دیگر.
  • تست های اجرا شده:

    • اجرا 1. دستگاه A=Samsung S10+ (12)، دستگاه B=Pixel 7 pro (13) ستون D: Phone=Pixel 7 pro، OS=Android 13
    • اجرا 2. دستگاه A=Pixel 7 pro (13)، دستگاه B=Pixel 6(12) ستون E: Phone=Pixel 6، OS=Android 12

نمونه ای از تست تکمیل شده در قالب خودآزمایی:

This picture shows the results of an example test

رویدادهای صوتی:

  • 4 نوع رویداد صوتی آزمایش شده و برنامه های آزمایشی توصیه شده عبارتند از:
    1. زنگ زدن:
      1. اپلیکیشن داخلی گوشی
    2. VoIP: هر برنامه VoIP کار می کند، مانند:
      1. برنامه تست سوئیچ صوتی.
      2. پیام رسان FB.
      3. خط.
      4. واتس اپ.
      5. Google Meet
      6. Google Meet
    3. رسانه: هر پخش کننده صوتی کار می کند، مانند:
      1. برنامه تست سوئیچ صوتی.
      2. موسیقی یوتیوب.
      3. اپل موزیک.
      4. Spotify.
      5. پادکست گوگل
    4. بازی:
      1. برنامه تست سوئیچ صوتی.

اطلاعات رفع اشکال:

  • اعلان‌ها پس از پیوستن به گروه تست fp-sass-partner فعال می‌شوند. در اینجا چند نمونه آورده شده است:

    1. آخرین اطلاعیه دولت: Figure 1: This shows the 'latest state notification' message.

    2. بدون اعلان سوئیچ: Figure 2: This shows the 'no switch notification' message.

  1. اعلان تأخیر سوئیچ: Figure 3: This shows the 'switch latency notification' message.

اندازه گیری تاخیر

  • دو نوع تأخیر سوئیچ وجود دارد:
    1. اتصال نمایه بلوتوث به جستجوگر قطع شده.
      • این شامل تمام موارد SinglePoint و برخی از موارد MP است که جستجوگر هدف (دستگاه B) قطع شده است.
    2. جابجایی جستجوگر متصل فعال.
      • این شامل برخی از موارد MP است که جستجوگر هدف (دستگاه B) قبلاً متصل است.
  • دو راه برای بازیابی اطلاعات تاخیر وجود دارد:
    1. تمام تاخیرها را می توان با دستور adb حذف کرد.
      • برای جزئیات بیشتر به بخش تأخیر تخلیه مراجعه کنید.
      • این دستور می تواند پس از اتمام حداقل یک مورد تست، تأخیر را ارائه و ثبت کند.
    2. با استفاده از برنامه تست سوئیچ صوتی
      • برنامه ای که روی جستجوگر هدف اجرا می شود، پس از تعویض، تأخیر را نشان می دهد.
      • اگر سوئیچ وجود نداشت، برنامه دلیل "بدون سوئیچ" را نمایش می دهد.

برنامه تست سوئیچ صوتی:

  • استفاده از برنامه برای راه‌اندازی رویدادهای صوتی VoIP/Media/Game در طول خودآزمایی، راه‌اندازی آزمایش را ساده‌تر کرده و تأخیر رویداد Seeker را کاهش می‌دهد.
  • نصب اپلیکیشن:
    • apk را در تلفن آزمایشی خود کپی کنید و آن را باز کنید.
    • از طرف دیگر، از adb install audio_test_app.apk استفاده کنید.
  • اگر گفتگویی می بینید که درخواست دسترسی به اعلان می کند:
    1. روی "OK" کلیک کنید
    2. "تست FP SASS" را در لیست برنامه انتخاب کنید
    3. اجازه دسترسی به اطلاعیه

نمای کلی برنامه:

This picture is an example of the app running

ارائه دهنده هدف
این دکمه پس از کلیک کردن، لیستی از دستگاه های بلوتوث جفت شده را نشان می دهد. موردی را که می خواهید تست کنید انتخاب کنید.
دکمه های Connect and Disconnect مانند آنچه در جزئیات دستگاه تنظیمات بلوتوث وجود دارد کار می کند.
وضعیت فعلی
این فیلد آخرین حالت اتصال را نشان می دهد که جستجوگر از یک ارائه دهنده با استفاده از تبلیغات BLE یا جریان رویداد دریافت کرده است.
اعلان‌های رفع اشکال سوئیچ صوتی نیز در اینجا نشان داده می‌شوند.
نوع جستجوگر
این گزینه برای جابجایی دستگاه بین جریان های صوتی استفاده می شود.
نوع صدا
VoIP انتخاب این حالت حالت صدا را به AudioManager.MODE_IN_COMMUNICATION تغییر می‌دهد و AudioManager.startBluetoothSco فراخوانی می‌کند، سپس صدا را با USAGE_VOICE_COMMUNICATION پخش می‌کند.
  • نوع جریان STREAM_VOICE_CALL است.
  • وضعیت اتصال ارائه دهنده باید ظرف 5 ثانیه به CONNECTED_HFP تغییر کند.
رسانه با انتخاب این حالت، صدایی با پشتیبانی از AVRCP پخش می شود. نوع استفاده از صدا این است: USAGE_MEDIA .
  • وضعیت اتصال ارائه دهنده باید ظرف 5 ثانیه به CONNECTED_A2DP_WITH_AVRCP تغییر کند.
  • وضعیت اتصال ممکن است برای مدت کوتاهی به CONNECTED_A2DP_ONLY تغییر کند هنگام شروع یا توقف.
بازی با انتخاب این حالت صدایی پخش می شود که از AVRCP پشتیبانی نمی کند. نوع استفاده از صدا این است: USAGE_GAME .
  • وضعیت اتصال ارائه دهنده باید ظرف 5 ثانیه به CONNECTED_A2DP_ONLY تغییر کند.
دکمه های پخش و توقف
دکمه های PLAY و STOP صدا را شروع یا متوقف می کنند.
تغییر نتیجه

این فیلد تاخیر فعال Connect and Switch را نمایش می دهد. همچنین دلیل رد کردن سوئیچ را در صورتی که یک رویداد صوتی راه اندازی شده باشد اما سوئیچ اتفاق نیفتاده است را نشان می دهد.

  • تأخیر در میلی ثانیه (ms) اندازه گیری می شود.
  • به طور کلی، تأخیر از شروع ماشه سوئیچ صوتی تا دریافت نمایه BT متصل یا رویداد سوئیچ چند نقطه‌ای Notify اندازه‌گیری می‌شود.
  • سوئیچ های راه اندازی شده توسط ارائه دهنده، تأخیر را از شروع صدا اندازه گیری می کنند.

Dump Latency

  • دستور زیر به کاربر اجازه می‌دهد هنگام اجرای آزمایش‌های دستی، اندازه‌گیری تأخیر را بگیرد: adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService
    • اندازه گیری تاخیر در بخش SwitchHistory NearbyDeviceManager نشان داده می شود:
            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) به عنوان تأخیر 0 میلی ثانیه ثبت می شود.

مرجع الگوهای لاگ:

Examples of logs from the latency test

مشکلات شناخته شده:

موارد زیر باگ های شناخته شده ای هستند که توسط جستجوگر ایجاد می شوند:

  1. تعویض نادرست صدای بازی.
    • تلفن‌های سامسونگ هنگام اجرای بازی‌ها به جای CONNECTED_A2DP_ONLY ، وضعیت اتصال را روی CONNECTED_A2DP_WITH_AVRCP تنظیم می‌کنند.
    • برخی از بازی‌ها (مثلاً Candy crush) ممکن است موسیقی پس‌زمینه را دوباره پخش کنند و یک رویداد صوتی جدید را بدون ورودی کاربر راه‌اندازی کنند. تلفن های متصل ممکن است به طور مداوم صدا را روی هر تلفنی که بازی را باز می کند تغییر دهد.