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

Android Auto kullanılırken kullanıcının telefonu arabanın hoparlörlerine bağlandığı için 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ülerin dikkatini dağıtma olasılığını en aza indirmek için belirli önlemler alın. Bu önlemler şunları içerir:

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

  • Uygulamanız müzik ve reklamlar 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 dikkat edin. Değerin CONNECTION_TYPE_PROJECTION'ye eşit olduğunu doğrulayı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ı tekrar ç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 önlemek 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());
}