Car App: esensi pengembangan untuk CarPlay dan Android Auto

Penulis: IT Sectr Diterbitkan: 2026-02-15 Waktu membaca: 9 mnt

Car App — aplikasi untuk sistem infotainment mobil yang terintegrasi dengan Apple CarPlay dan Android Auto. CarPlay — teknologi Apple yang menampilkan antarmuka iPhone di layar mobil dan dikendalikan melalui Siri, layar sentuh, atau tombol setir. Android Auto — teknologi serupa Google untuk smartphone Android. Pengembangan Car App meliputi pembuatan aplikasi di Swift dengan CarPlay framework dan SiriKit untuk iOS, serta di Kotlin dengan Car App Library, MediaBrowserService, dan NavigationManager untuk Android. Dukungan Car App menjadi standar untuk mobil modern — menurut Apple, 98% mobil baru di AS mendukung CarPlay, dan Android Auto tersedia di lebih dari 200 model.

Poin Utama

  • Car App — aplikasi untuk CarPlay (iOS) dan Android Auto (Android), dioptimalkan untuk penggunaan saat mengemudi
  • Apple CarPlay — proyeksi antarmuka iPhone ke layar mobil, kendali melalui Siri dan sentuhan
  • Android Auto — proyeksi smartphone Android ke layar mobil dengan dukungan Google Assistant
  • CarPlay framework — CPInterfaceController, CPTemplate, CPListItem untuk membangun antarmuka di Swift
  • Car App Library — pustaka Android untuk membuat aplikasi Automotive dengan MediaBrowserService dan NavigationManager

Apa itu Car App

Car App — adalah aplikasi yang berjalan di sistem infotainment mobil (IVI) melalui proyeksi smartphone — Apple CarPlay untuk iOS dan Android Auto untuk Android. Berbeda dengan Android Automotive OS (OS bawaan mobil), CarPlay dan Android Auto adalah ekstensi dari aplikasi mobile yang berjalan di telepon dan memproyeksikan antarmuka ke layar mobil. Car App adalah aplikasi iOS/Android Anda yang sudah ada yang mengimplementasikan protokol CarPlay atau Android Auto.

Kategori utama Car App: navigasi (Apple Maps, Google Maps, Waze, Sygic), audio (Spotify, Apple Music, YouTube Music, Audible, Castbox), pesan (membaca nyaring dan mendikte melalui Siri/Google Assistant), fungsi mobil (pengisian EV, parkir, status mobil), panggilan VOIP (WhatsApp, Zoom). Setiap kategori memiliki template antarmuka sendiri — ListTemplate, MapTemplate, AudioTemplate. Sistem sendiri menentukan kategori mana yang didukung aplikasi berdasarkan Intents yang terdaftar.

Batasan Car App: Apple dan Google mengontrol UX secara ketat demi keamanan — jumlah elemen minimal, tombol besar (minimal 48x48 pt), tanpa input teks (hanya suara), peredupan antarmuka otomatis saat bergerak, larangan video. Waktu reaksi sentuhan harus kurang dari 100 ms. Semua aplikasi menjalani moderasi wajib (App Review untuk CarPlay, Google Play Console + CTS untuk Android Auto).

Apple CarPlay: CarPlay framework dan SiriKit

CarPlay framework (sebelumnya CPKit) — framework Apple untuk membuat aplikasi CarPlay di Swift. Kelas kunci — CPInterfaceController, yang mengelola navigasi melalui template. CPInterfaceController berisi tumpukan template: CPListTemplate (daftar), CPMapTemplate (navigasi), CPNowPlayingTemplate (audio), CPVoiceControlTemplate (kontrol suara). CPListTemplate berisi CPListItem — elemen daftar dengan ikon, teks, dan aksi.

SiriKit untuk CarPlay — ekstensi SiriKit untuk kontrol suara aplikasi di mobil. Aplikasi mendaftarkan Intents (INPlayMediaIntent — pemutaran, INStartWorkoutIntent — olahraga, INSendMessageIntent — pesan). Siri aktif secara otomatis saat CarPlay terhubung dan tersedia melalui tombol kontrol suara di setir. SiriKit CarPlay mendukung CarPlay Dashboard — widget di layar utama CarPlay untuk menampilkan informasi dari aplikasi (tujuan, lagu saat ini).

Proses koneksi CarPlay: iPhone terhubung ke mobil melalui kabel Lightning/USB-C atau nirkabel (CarPlay Wireless, mulai iOS 9). Setelah terhubung, iOS secara otomatis memulai sesi CarPlay jika aplikasi mengimplementasikan CPApplicationDelegate. Pengembang tidak mengelola momen koneksi — sistem memanggil metode delegate saat memulai dan mengakhiri sesi. CarPlay mendukung multitasking: navigasi berjalan di latar belakang saat beralih ke musik, dan petunjuk suara terus berbunyi.

Android Auto: Car App Library

Android Car App Library — pustaka Android untuk membuat aplikasi yang kompatibel dengan Android Auto. Komponen dasar: CarAppService — titik masuk untuk Android Auto; Session — pengelolaan siklus hidup sesi; Screen — setiap layar aplikasi; CarScreenManager — pengelolaan tampilan. Aplikasi mendukung MediaBrowserService untuk konten media dan NavigationManager untuk petunjuk navigasi.

MediaBrowserService — komponen kunci untuk aplikasi audio. Aplikasi mengimplementasikan MediaBrowserService dan MediaSession untuk mengelola pemutaran. Android Auto secara otomatis menampilkan kontrol (Play/Pause, Next, Previous) dan daftar lagu. NavigationManager digunakan untuk aplikasi navigasi — mengirimkan instruksi belok, status rute, dan peringatan. NavigationManager mendukung CarNotification untuk menampilkan petunjuk navigasi di bilah status Android Auto.

Persyaratan Android Auto: aplikasi harus memiliki category="android.intent.category.APP_AUTO" di manifes; wajib menggunakan AndroidX dan SDK minimal 26+; dukungan tema gelap (DayNight); dukungan kontrol sentuh dan suara; kepatuhan terhadap Android Auto Compatibility Test Suite (CTS). Google Play memeriksa setiap aplikasi untuk kepatuhan terhadap persyaratan keamanan dan UX. Proses sertifikasi memakan waktu 1–4 minggu.

Contoh Kode: Swift dan Kotlin

Contoh aplikasi navigasi untuk CarPlay di Swift menggunakan CarPlay framework.

swift
import CarPlay

class CarPlaySceneDelegate: CPTemplateApplicationSceneDelegate {

    func templateApplicationScene(
        _ templateApplicationScene: CPTemplateApplicationScene,
        didConnect interfaceController: CPInterfaceController
    ) {
        let searchItem = CPListItem(
            text: "Cari alamat",
            detailText: "Masukkan tujuan"
        )
        searchItem.handler = { _, completion in
            // Membuka layar pencarian
            completion()
        }

        let favoritesItem = CPListItem(
            text: "Favorit",
            detailText: "Alamat tersimpan"
        )
        favoritesItem.handler = { _, completion in
            showFavorites()
            completion()
        }

        let section = CPListSection(items: [searchItem, favoritesItem])
        let listTemplate = CPListTemplate(
            title: "Navigasi",
            sections: [section]
        )

        interfaceController.setRootTemplate(listTemplate, animated: true)
    }

    func showFavorites() {
        // Menampilkan daftar alamat favorit
    }
}

// SiriKit Intent untuk kontrol suara
class NavigationIntentHandler: NSObject, INSearchForMessagesIntentHandling {
    func handle(intent: INSearchForMessagesIntent,
                completion: @escaping (INSearchForMessagesIntentResponse) -> Void) {
        // Memproses perintah suara melalui Siri
        let response = INSearchForMessagesIntentResponse(
            code: .success, userActivity: nil
        )
        completion(response)
    }
}

Poin penting: CPTemplateApplicationSceneDelegate — titik masuk untuk sesi CarPlay; CPInterfaceController mengelola tumpukan template; CPListTemplate dan CPListItem — komponen UI dasar; .handler — penangan sentuhan untuk setiap elemen daftar.

Contoh aplikasi navigasi untuk Android Auto di Kotlin dengan Car App Library:

kotlin
// CarAppService — titik masuk untuk Android Auto
class NavigationCarAppService : CarAppService() {
    override fun createSession(): Session = NavigationSession()
}

// Session — pengelolaan siklus hidup sesi
class NavigationSession : Session() {
    override fun onCreateScreen(manager: ScreenManager): Screen {
        return MainScreen(carContext)
    }
}

// MainScreen — layar utama dengan navigasi
class MainScreen(carContext: CarContext) : Screen(carContext) {
    override fun onGetTemplate(): Template {
        val searchAction = Action.Builder()
            .setTitle("Cari alamat")
            .setOnClickListener { showSearchScreen() }
            .build()

        val favoritesAction = Action.Builder()
            .setTitle("Favorit")
            .setOnClickListener { showFavorites() }
            .build()

        return ListTemplate.Builder()
            .setTitle("Navigasi")
            .setHeaderAction(Action.APP_ICON)
            .addAction(searchAction)
            .addAction(favoritesAction)
            .build()
    }

    private fun showSearchScreen() {
        screenManager.push(SearchScreen(carContext))
    }

    private fun showFavorites() {
        screenManager.push(FavoritesScreen(carContext))
    }
}

// AndroidManifest — pendaftaran layanan
<service
    android:name=".NavigationCarAppService"
    android:exported="true">
    <intent-filter>
        <action
            android:name="androidx.car.app.action.NAVIGATION" />
    </intent-filter>
    <category
        android:name="android.intent.category.APP_AUTO" />
</service>

Poin penting: CarAppService — titik masuk untuk Android Auto; Session — pengelolaan siklus hidup; Screen — setiap layar aplikasi, mengembalikan Template; ListTemplate — template untuk daftar dengan Action; category.APP_AUTO — kategori wajib di manifes.

Persyaratan dan Publikasi

Persyaratan Apple CarPlay: aplikasi harus mematuhi CarPlay Distraction Design Guidelines — ukuran tombol minimal 48x48 pt, kontras teks 4.5:1, tanpa animasi dan video, dukungan VoiceOver. Publikasi — melalui App Store Connect, aplikasi menjalani moderasi standar Apple. Perlu menentukan dukungan CarPlay di App Store Connect dan melampirkan tangkapan layar antarmuka CarPlay. Aplikasi CarPlay tidak bisa gratis tanpa iklan — Apple mengenakan komisi 30% (15% untuk usaha kecil) pada pembelian dalam aplikasi.

Persyaratan Android Auto: aplikasi harus mematuhi Android Auto Design Guidelines dan lulus Android Auto Compatibility Test Suite (CTS). Publikasi — melalui Google Play Console, perlu menentukan kategori "Android Auto" dalam daftar perangkat kompatibel. Google Play memeriksa: dukungan tema gelap (DayNight), perilaku benar saat kehilangan koneksi, penanganan rotasi layar, dukungan kontrol suara melalui Google Assistant. Aplikasi Android Auto tidak memerlukan komisi tambahan — model standar Google Play (15-30%).

ParameterApple CarPlayAndroid Auto
FrameworkCarPlay framework (CPInterfaceController)Car App Library (CarAppService)
BahasaSwiftKotlin
Asisten suaraSiriKitGoogle Assistant
AntarmukaCPListTemplate, CPMapTemplateListTemplate, MapTemplate
MediaMPNowPlayingInfoCenterMediaBrowserService
NavigasiCPNavigationSessionNavigationManager
PublikasiApp Store ConnectGoogle Play Console
Komisi15–30%15–30%
ModerasiApp Review (1–3 hari)CTS + Google Play (1–4 minggu)

Dukungan koneksi nirkabel: CarPlay Wireless tersedia sejak iOS 9 dan memerlukan Wi-Fi + Bluetooth. Android Auto Wireless tersedia sejak Android 11. Untuk koneksi nirkabel, mobil harus mendukung standar yang sesuai. Pengembang tidak perlu menulis kode tambahan — OS menangani koneksi secara otomatis.

Pertanyaan yang Sering Diajukan

Apa perbedaan Car App dengan aplikasi mobile?

Car App dioptimalkan untuk penggunaan saat mengemudi: jumlah elemen minimal, tombol besar, kontrol suara, tanpa input teks. Aplikasi harus memenuhi persyaratan keselamatan — Distraction Design Guidelines dari Apple dan Google.

Kategori aplikasi apa saja yang tersedia untuk CarPlay?

CarPlay mendukung kategori: navigasi (Apple Maps, Google Maps, Waze), audio (Spotify, Apple Music), pesan (membaca dan mendikte melalui Siri), fungsi mobil (pengisian EV, parkir) dan panggilan VOIP.

Bagaimana cara mengembangkan aplikasi untuk Android Auto?

Gunakan Android Car App Library: implementasikan CarAppService untuk titik masuk, Session untuk pengelolaan siklus hidup, Screen untuk setiap layar. Aplikasi harus mendukung MediaBrowserService untuk media atau NavigationManager untuk navigasi.

Apakah Car App memerlukan moderasi?

Ya, kedua platform memerlukan moderasi. Apple memeriksa aplikasi CarPlay melalui App Review. Android Auto memerlukan kelulusan Android Auto Compatibility Test Suite (CTS) dan pemeriksaan di Google Play Console.

Bahasa apa yang digunakan untuk Car App?

Untuk CarPlay — Swift dengan framework CarPlay (CPInterfaceController, CPTemplate, CPListItem) dan SiriKit. Untuk Android Auto — Kotlin dengan Car App Library dan MediaBrowserService.

Kesimpulan

  • Car App — aplikasi untuk CarPlay (iOS) dan Android Auto (Android), dioptimalkan untuk penggunaan aman saat mengemudi
  • Apple CarPlay menggunakan CarPlay framework dengan CPInterfaceController, CPListTemplate dan SiriKit untuk kontrol suara
  • Android Auto menggunakan Car App Library dengan CarAppService, Session, Screen dan MediaBrowserService untuk media
  • Kontrol suara — Siri (CarPlay) dan Google Assistant (Android Auto) wajib untuk navigasi dan pesan
  • Batasan UX — tombol besar 48x48 pt, elemen minimal, larangan video, reaksi di bawah 100 ms
  • Moderasi — App Store (1–3 hari) dan Google Play CTS (1–4 minggu) dengan pemeriksaan keamanan dan UX
  • Koneksi nirkabel — CarPlay Wireless (iOS 9+) dan Android Auto Wireless (Android 11+) tersedia tanpa kabel

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga