Önemli yer uygulaması oluşturma

Bu kılavuzda, Araba Uygulama Kitaplığı'nın, önemli yer (ÖY) uygulamanızın işlevlerini uygulamak için kullanabileceğiniz farklı özellikleri açıklanmaktadır.

Manifest'inizde kategori desteğini beyan etme

Uygulamanızın, CarAppService intent filtresinde androidx.car.app.category.POI araba uygulaması kategorisi beyan etmesi gerekiyor.

Aşağıdaki örnekte, uygulama kategorisinin nasıl bildirileceği gösterilmektedir:

<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>

Harita şablonuna erişme

Uygulamalar, ana makine tarafından oluşturulan bir haritayla birlikte ÖY'lerin listesini göstermek için özel olarak tasarlanmış PlaceListMapTemplate'a erişebilir.

Bu şablona erişmek için uygulamanızın AndroidManifest.xml dosyasında androidx.car.app.MAP_TEMPLATES iznini beyan etmesi gerekir:

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

PlaceListMapTemplate içeriğini yenile

Sürücülerin PlaceListMapTemplate ile oluşturulan yer listelerine göz atarken tek bir düğmeye dokunarak içeriği yenilemesine olanak tanıyabilirsiniz. OnContentRefreshListener arayüzünün onContentRefreshRequested yöntemini uygulayın ve liste yenilemesini etkinleştirmek üzere şablonda işleyiciyi ayarlamak için PlaceListMapTemplate.Builder.setOnContentRefreshListener kullanın.

Aşağıdaki snippet'te işleyicinin şablonda nasıl ayarlanacağı gösterilmektedir:

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();

Yenile düğmesi yalnızca işleyicinin bir değeri varsa PlaceListMapTemplate öğesinin başlığında gösterilir.

Kullanıcı yenile düğmesini tıkladığında OnContentRefreshListener uygulamanızın onContentRefreshRequested yöntemi çağrılır. onContentRefreshRequested içinde Screen.invalidate yöntemini çağırın. Ardından ana makine, yenilenmiş içerikle şablonu almak için uygulamanızın Screen.onGetTemplate yöntemini tekrar çağırır. Şablonları yenileme hakkında daha fazla bilgi için Şablonun içeriğini yenileme bölümüne bakın. onGetTemplate tarafından döndürülen bir sonraki şablon aynı türde olduğu sürece yenileme olarak sayılır ve şablon kotasına dahil edilmez.

Uygulama İşlemleri'ni kullanarak Google Asistan'la entegrasyon

Kullanıcıların "Ok Google,ExampleApp'te yakındaki şarj istasyonlarını bul" gibi şeyler sorarak önemli yerleri arayabilmelerini sağlamak için Asistan'ı kullanarak ÖY uygulamanızı sesle etkinleştirin. Ayrıntılı talimatlar için Arabalar için Uygulama İşlemleri konusuna bakın.