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

Поскольку при использовании 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())
    }
}

Ява

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());
}