ساختن برنامه نقطه موردعلاقه

این راهنما جزئیات ویژگی‌های مختلف «کتابخانه برنامه خودرو» را که می‌توانید برای پیاده‌سازی عملکرد برنامه نقطه موردعلاقه‌تان (POI) استفاده کنید شرح می‌دهد.

پشتیبانی از دسته را در مانیفست خود اعلام کنید

برنامه شما باید 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 می‌توان برای نمایش فهرست‌ها و انواع دیگر محتوا در کنار نقشه‌ای که برنامه‌تان پرداز کرده است استفاده کرد. برای جزئیات بیشتر درباره استفاده از این الگو، به کشیدن نقشه‌ها مراجعه کنید.

برای دسترسی به این الگوها، برنامه شما باید اجازه androidx.car.app.MAP_TEMPLATES را در فایل AndroidManifest.xml خود تعریف کند:

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

بازآوری محتوای «الگوی نقشه فهرست مکان»

می‌توانید با ضربه زدن روی دکمه‌ای درحین مرور فهرست مکان‌های ساخته‌شده با 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 نشان داده می‌شود اگر شنونده مقدار داشته باشد.

وقتی کاربر روی دکمه بازآوری کلیک می‌کند، روش onContentRefreshRequested پیاده‌سازی OnContentRefreshListener شما فراخوانده می‌شود. در onContentRefreshRequested، روش Screen.invalidate را فراخوانی کنید. سپس میزبان با روش برنامه شما Screen.onGetTemplate تماس می‌گیرد تا قالب را با محتوای به‌روزرسانی‌شده بازیابی کند. برای اطلاعات بیشتر درباره بازآوری الگوها، به بازآوری محتوای الگو مراجعه کنید. تا زمانی که الگوی بعدی که onGetTemplate برمی‌گرداند از همان نوع باشد، به‌عنوان بازآوری حساب می‌شود و در سهمیه الگو محاسبه نمی‌شود.

ادغام با Gemini یا «دستیار Google» بااستفاده از «کنش‌های برنامه»

بااستفاده از Gemini یا «دستیار Google»، برنامه «مکان‌های موردعلاقه» را با صدا فعال کنید تا کاربران بتوانند با پرسیدن مواردی مثل «Ok Google، ایستگاه‌های شارژ نزدیک در ExampleApp را پیدا کن»، مکان‌های موردعلاقه را جستجو کنند. برای دستورالعمل‌های دقیق، کنش‌های برنامه برای خودروها را ببینید.