Android Auto का इस्तेमाल करते समय, उपयोगकर्ता का फ़ोन कार के स्पीकर से कनेक्ट होता है. इसलिए, आपको ड्राइवर का ध्यान भटकने से रोकने के लिए, अतिरिक्त सावधानियां बरतनी होंगी.
Android Auto के लिए मीडिया ऐप्लिकेशन डेवलप करते समय, ड्राइवर का ध्यान भटकने से रोकने के लिए खास सुरक्षा उपाय लागू करें. इन सुरक्षा उपायों में ये शामिल हैं:
कार के स्पीकर से आपके ऐप्लिकेशन का ऑडियो अपने-आप चलने से रोकना. भले ही, उपयोगकर्ता ने अलार्म शेड्यूल किए हों.
यह मैनेज करना कि जब आपका ऐप्लिकेशन संगीत और विज्ञापनों के बीच स्विच करता है, तो Android Auto सूचनाएं कैसे दिखाता है.
इसके लिए, 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 पर सेट करें:
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());
}