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