يوضّح هذا الدليل بالتفصيل الميزات المختلفة في "مكتبة تطبيقات السيارات" التي يمكنك استخدامها لتنفيذ وظائف تطبيقك الخاص بنقاط الاهتمام.
تحديد الفئات المتوافقة في البيان
يجب أن يحدّد تطبيقك 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
يمكنك السماح للسائقين بتحديث المحتوى بنقرة زر أثناء تصفّح قوائم الأماكن التي تم إنشاؤها باستخدام PlaceListMapTemplate.
نفِّذ طريقة onContentRefreshRequested في واجهة
OnContentRefreshListener، واستخدِم
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
من النوع نفسه، يتم احتسابه كتحديث ولا يتم احتسابه ضمن حصة النماذج.
الدمج مع "مساعد Google" باستخدام "مهامّ في التطبيقات"
يمكنك إتاحة استخدام تطبيقك الخاص بنقاط الاهتمام من خلال الصوت باستخدام "مساعد Google" للسماح للمستخدمين بالبحث عن نقاط الاهتمام من خلال طرح طلبات مثل "Ok Google، ابحث عن محطات شحن قريبة على ExampleApp". للحصول على تعليمات مفصّلة، يُرجى الاطّلاع على مهامّ في التطبيقات للسيارات.