בניית אפליקציה של נקודות עניין

במדריך הזה מפורטות התכונות השונות של ספריית האפליקציות לרכב שאפשר להשתמש בו כדי להטמיע את הפונקציונליות של נקודת העניין שלך (POI) אפליקציה.

הצהרה על תמיכה בקטגוריות במניפסט

האפליקציה שלך צריכה להצהיר על androidx.car.app.category.POI קטגוריית האפליקציה ברכב במסנן Intent של 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 כדי להציג רשימות וסוגים אחרים של תוכן לצד מפה שהאפליקציה שלך מעבדת. צפייה לפרטים נוספים על השימוש באפשרות הזו, אפשר לצייר מפות תבנית.

כדי לגשת לתבניות האלה, האפליקציה שלך צריכה להצהיר על הרשאת androidx.car.app.MAP_TEMPLATES בקובץ AndroidManifest.xml שלה:

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

רענון התוכן של PlaceListMapTemplate

אתם יכולים לאפשר לנהגים לרענן תוכן בהקשת לחצן במהלך הגלישה רשימות של מקומות שנבנו באמצעות PlaceListMapTemplate ליישם את OnContentRefreshListener onContentRefreshRequested בממשק ולהשתמש ב-methods PlaceListMapTemplate.Builder.setOnContentRefreshListener כדי להגדיר את ה-listener בתבנית ולאפשר רענון של הרשימה.

בקטע הבא מוסבר איך להגדיר את ה-listener בתבנית:

Kotlin

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

Java

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

לחצן הרענון מוצג רק בכותרת של PlaceListMapTemplate אם למאזינים יש ערך.

כשהמשתמש לוחץ על לחצן הרענון, onContentRefreshRequested של ההטמעה של OnContentRefreshListener נקראת 'הטמעה'. בטווח של onContentRefreshRequested, קוראים לפונקציה Screen.invalidate . אחר כך המארח מתקשר חזרה לאפליקציה Screen.onGetTemplate כדי לאחזר את התבנית עם התוכן שעבר רענון. אפשר לעיין בקטע רענון של תבנית למידע נוסף על מרעננות תבניות. כל עוד התבנית הבאה הוחזרה על ידי onGetTemplate הוא מאותו סוג, זה נספר כרענון ולא נכלל בספירה במכסת התבניות.

שילוב עם Google Assistant באמצעות 'פעולות באפליקציה'

הפעלה קולית של אפליקציית נקודות העניין באמצעות Assistant תאפשר למשתמשים לחפש נקודות על כדי להגביר את ההתעניינות, אפשר לשאול דברים כמו "Ok Google, find nearby play stations on ExampleApp". הוראות מפורטות זמינות במאמר פעולות באפליקציה לרכבים.