लोकप्रिय जगह के लिए ऐप्लिकेशन बनाएं

इस गाइड में, Car App Library की उन अलग-अलग सुविधाओं के बारे में बताया गया है जिनका इस्तेमाल करके, दिलचस्पी की जगहों (पीओआई) की जानकारी देने वाले ऐप्लिकेशन की सुविधाएं लागू की जा सकती हैं.

अपने मेनिफ़ेस्ट में, कैटगरी के लिए सहायता की जानकारी देना

आपके ऐप्लिकेशन को, androidx.car.app.category.POI कार ऐप्लिकेशन की कैटगरी की जानकारी, CarAppServiceके इंटेंट फ़िल्टर में देनी होगी.

यहां दिए गए उदाहरण में, ऐप्लिकेशन की कैटगरी की जानकारी देने का तरीका बताया गया है:

<application>
    ...
   <service
       ...
        android:name=".MyCarAppService"
        android:exported="true">
      <intent-filter>
        <action android:name="androidx.car.app.CarAppService" />
        <category android:name="androidx.car.app.category.POI"/>
      </intent-filter>
    </service>
    ...
<application>

मैप टेंप्लेट ऐक्सेस करना

पीओआई की जानकारी देने वाले ऐप्लिकेशन, PlaceListMapTemplate और MapWithContentTemplate को ऐक्सेस कर सकते हैं.

PlaceListMapTemplate को खास तौर पर, पीओआई की सूची दिखाने के लिए डिज़ाइन किया गया है. इसके साथ, होस्ट से रेंडर किया गया मैप भी दिखता है.

MapWithContentTemplate का इस्तेमाल, सूचियां और अन्य तरह का कॉन्टेंट दिखाने के लिए किया जा सकता है. इसके साथ, आपके ऐप्लिकेशन से रेंडर किया गया मैप भी दिखता है. इस टेंप्लेट का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, मैप बनाना लेख पढ़ें.

इन टेंप्लेट को ऐक्सेस करने के लिए, आपके ऐप्लिकेशन को अपनी AndroidManifest.xml फ़ाइल में, androidx.car.app.MAP_TEMPLATES अनुमति की जानकारी देनी होगी:

<manifest ...>
  ...
  <uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>
  ...
</manifest>

PlaceListMapTemplate में मौजूद कॉन्टेंट को रीफ़्रेश करना

`PlaceListMapTemplate` की मदद से बनाई गई जगहों की सूचियां ब्राउज़ करते समय, ड्राइवर किसी बटन पर टैप करके कॉन्टेंट को रीफ़्रेश कर सकते हैं. PlaceListMapTemplate सूची को रीफ़्रेश करने की सुविधा चालू करने के लिए, OnContentRefreshListener इंटरफ़ेस के onContentRefreshRequested तरीके को लागू करें. साथ ही, टेंप्लेट पर लिसनर सेट करने के लिए, PlaceListMapTemplate.Builder.setOnContentRefreshListener का इस्तेमाल करें.

यहां दिए गए स्निपेट में, टेंप्लेट पर लिसनर सेट करने का तरीका बताया गया है:

return PlaceListMapTemplate.Builder()
    // ...
    .setOnContentRefreshListener {
        // Execute any desired logic
        // ...
        // Then call invalidate() so onGetTemplate() is called again
        invalidate()
    }
    .build()

रीफ़्रेश बटन, PlaceListMapTemplate के हेडर में सिर्फ़ तब दिखता है, जब लिसनर की कोई वैल्यू होती है.

जब उपयोगकर्ता रीफ़्रेश बटन पर क्लिक करता है, तो आपके OnContentRefreshListener के लागू किए गए onContentRefreshRequested तरीके को कॉल किया जाता है. Within onContentRefreshRequested, call the Screen.invalidate तरीके को कॉल करें. इसके बाद, होस्ट आपके ऐप्लिकेशन के Screen.onGetTemplate तरीके को वापस कॉल करता है, ताकि रीफ़्रेश किए गए कॉन्टेंट वाला टेंप्लेट वापस पाया जा सके. टेंप्लेट को रीफ़्रेश करने के बारे में ज़्यादा जानने के लिए, किसी टेंप्लेट के कॉन्टेंट को रीफ़्रेश करना लेख पढ़ें. जब तक onGetTemplate से वापस मिला अगला टेंप्लेट, उसी टाइप का होता है, तब तक उसे रीफ़्रेश माना जाता है. साथ ही, उसे टेंप्लेट के कोटे में शामिल नहीं किया जाता.

App Actions का इस्तेमाल करके, Gemini या Google Assistant के साथ इंटिग्रेट करना

Gemini या Google Assistant का इस्तेमाल करके, पीओआई की जानकारी देने वाले ऐप्लिकेशन में आवाज़ से कंट्रोल करने की सुविधा जोड़ें. इससे लोग, दिलचस्पी की जगहों को खोज पाएंगे. इसके लिए, वे "Ok Google, ExampleApp पर आस-पास के चार्जिंग स्टेशन ढूंढो" जैसे सवाल पूछ सकते हैं. ज़्यादा जानकारी के लिए, कारों के लिए ऐप्लिकेशन की ख़ास सुविधाओं के लिए कार्रवाइयाँ लेख पढ़ें.