Внедрите меры защиты от отвлечения внимания

Поскольку при использовании Android Auto телефон пользователя подключается к автомобильным динамикам, необходимо принять дополнительные меры предосторожности, чтобы предотвратить отвлечение внимания водителя.

При разработке мультимедийных приложений для Android Auto необходимо внедрить специальные меры защиты, чтобы свести к минимуму отвлечение водителя. К таким мерам относятся:

  • Предотвратите автоматическое воспроизведение звука через автомобильные динамики вашего приложения, даже для будильников, настроенных пользователем.

  • Как управлять отображением уведомлений в Android Auto при переключении между музыкой и рекламой в вашем приложении.

Для этого используйте API CarConnection , чтобы определить, проецирует ли телефон изображение на экран автомобиля. Если да, отключите уведомления или предоставьте интерфейс на телефоне для управления ими. Для рекламы установите ключ метаданных METADATA_KEY_IS_ADVERTISEMENT чтобы подавить отвлекающие уведомления.

Отключите сигнализацию в автомобиле

Приложения Android Auto не должны начинать воспроизведение звука через автомобильные динамики, если пользователь не запустит воспроизведение, например, нажав кнопку «Воспроизвести» . Даже установленный пользователем будильник в приложении не должен запускать воспроизведение музыки через автомобильные динамики.

Для выполнения этого требования ваше приложение может использовать CarConnection в качестве сигнала перед воспроизведением любого аудио. Ваше приложение может проверить, проецируется ли изображение с телефона на экран автомобиля. Обратите внимание на LiveData для типа подключения . Убедитесь, что значение равно CONNECTION_TYPE_PROJECTION .

Если телефон пользователя использует проекцию, медиаприложения, поддерживающие будильники, должны выполнить одно из следующих действий:

  • Отключите сигнализацию.

  • Воспроизвести сигнал тревоги STREAM_ALARM и предоставить на экране телефона интерфейс для отключения сигнала тревоги.

Обработка рекламных объявлений в СМИ.

По умолчанию Android Auto отображает уведомление при изменении метаданных медиафайлов во время воспроизведения аудио. Когда медиаприложение переключается с воспроизведения музыки на показ рекламы, отображение уведомления отвлекает пользователя. Чтобы предотвратить отображение уведомления в Android Auto, установите для ключа метаданных медиафайлов METADATA_KEY_IS_ADVERTISEMENT значение METADATA_VALUE_ATTRIBUTE_PRESENT :

Котлин

import androidx.media.utils.MediaConstants

override fun onPlayFromMediaId(mediaId: String, extras: Bundle?) {
    MediaMetadataCompat.Builder().apply {
        if (isAd(mediaId)) {
            putLong(
                MediaConstants.METADATA_KEY_IS_ADVERTISEMENT,
                MediaConstants.METADATA_VALUE_ATTRIBUTE_PRESENT)
        }
        // ...add any other properties you normally would.
        mediaSession.setMetadata(build())
    }
}

Java

import androidx.media.utils.MediaConstants;

@Override
public void onPlayFromMediaId(String mediaId, Bundle extras) {
    MediaMetadataCompat.Builder builder = new MediaMetadataCompat.Builder();
    if (isAd(mediaId)) {
        builder.putLong(
            MediaConstants.METADATA_KEY_IS_ADVERTISEMENT,
            MediaConstants.METADATA_VALUE_ATTRIBUTE_PRESENT);
    }
    // ...add any other properties you normally would.
    mediaSession.setMetadata(builder.build());
}