تطبيق إنشاء نقاط اهتمام

يوضّح هذا الدليل بالتفصيل الميزات المختلفة لمكتبة تطبيقات السيارة التي يمكنك استخدامها لتنفيذ وظائف تطبيق نقطة الاهتمام الخاص بك.

يُرجى تقديم بيان عن إتاحة الفئة في البيان.

يجب أن يفصح تطبيقك عن 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. نفِّذ طريقة OnContentRefreshListener onContentRefreshRequested الواجهة واستخدِم PlaceListMapTemplate.Builder.setOnContentRefreshListener لضبط المستمع على النموذج لتفعيل إعادة تحميل القائمة.

يوضّح المقتطف التالي كيفية ضبط المستمع على النموذج:

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" باستخدام خدمة "مهامّ في التطبيقات"

يمكنك تفعيل ميزة Voice Match في تطبيق نقاط الاهتمام باستخدام "مساعد Google" للسماح للمستخدمين بالبحث عن نقاط الاهتمام من خلال توجيه طلبات مثل "Ok Google، أريد العثور على محطات الشحن القريبة على موقع ExampleApp". للحصول على تعليمات تفصيلية، يُرجى الاطّلاع على مهامّ في التطبيقات للسيارات.