Dikkat dağıtıcı önlemler uygulayın

Android Auto kullanılırken kullanıcının telefonu arabanın hoparlörlerine bağlı olduğundan sürücünün dikkatini dağıtmayı önlemek için ek önlemler almanız gerekir.

Android Auto medya uygulamaları geliştirirken sürücünün dikkatini dağıtmayı en aza indirmek için belirli güvenlik önlemleri uygulayın. Bu önlemler şunları içerir:

  • Kullanıcı tarafından planlanan alarmlar da dahil olmak üzere uygulamanızın araç hoparlörleri aracılığıyla otomatik olarak ses çalmasını engelleme.

  • Uygulamanız müzik ve reklam arasında geçiş yaptığında Android Auto'nun bildirimleri nasıl göstereceğini yönetme

Bunu yapmak için telefonun araba ekranına yansıtılıp yansıtılmadığını algılamak üzere CarConnection API'sini kullanın. Bu durumda, alarmları devre dışı bırakın veya bunları yönetmek için telefonda kullanıcı arayüzü sağlayın. Reklamlar için METADATA_KEY_IS_ADVERTISEMENT meta veri anahtarını, dikkat dağıtıcı bildirimleri bastıracak şekilde ayarlayın.

Araçtaki alarmları kapatma

Android Auto medya uygulamaları, kullanıcı oynatmayı başlatmadığı sürece (ör. Oynat düğmesine basarak) arabanın hoparlörlerinden ses çalmaya başlamamalıdır. Medya uygulamanızda kullanıcı tarafından planlanan bir alarm bile arabanın hoparlörlerinden müzik çalmaya başlamamalıdır.

Bu şartı karşılamak için uygulamanız, ses çalmadan önce sinyal olarak CarConnection kullanabilir. Uygulamanız, telefonun araba ekranına yansıtılıp yansıtılmadığını kontrol edebilir. Bağlantı türü için LiveData simgesine bakın. Değerin CONNECTION_TYPE_PROJECTION'ye eşit olduğunu onaylayın.

Kullanıcının telefonu projeksiyon yapıyorsa alarmları destekleyen medya uygulamaları şu işlemlerden birini gerçekleştirmelidir:

  • Alarmı devre dışı bırakın.

  • Alarmı yeniden çalın STREAM_ALARM ve telefon ekranında alarmı devre dışı bırakmak için bir kullanıcı arayüzü sağlayın.

Medya reklamlarını işleme

Android Auto, varsayılan olarak ses oynatma oturumu sırasında medya meta verileri değiştiğinde bildirim gösterir. Bir medya uygulaması müzik çalmaktan reklam yayınlamaya geçtiğinde bildirim göstermek kullanıcının dikkatini dağıtır. Android Auto'nun bildirim göstermesini engellemek için medya meta verileri anahtarını METADATA_KEY_IS_ADVERTISEMENT METADATA_VALUE_ATTRIBUTE_PRESENT olarak ayarlayın:

Kotlin

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