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 — 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).
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 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 aplikasi navigasi untuk CarPlay di Swift menggunakan CarPlay framework.
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:
// 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 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%).
| Parameter | Apple CarPlay | Android Auto |
|---|---|---|
| Framework | CarPlay framework (CPInterfaceController) | Car App Library (CarAppService) |
| Bahasa | Swift | Kotlin |
| Asisten suara | SiriKit | Google Assistant |
| Antarmuka | CPListTemplate, CPMapTemplate | ListTemplate, MapTemplate |
| Media | MPNowPlayingInfoCenter | MediaBrowserService |
| Navigasi | CPNavigationSession | NavigationManager |
| Publikasi | App Store Connect | Google Play Console |
| Komisi | 15–30% | 15–30% |
| Moderasi | App 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
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.
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.
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.
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.
Untuk CarPlay — Swift dengan framework CarPlay (CPInterfaceController, CPTemplate, CPListItem) dan SiriKit. Untuk Android Auto — Kotlin dengan Car App Library dan MediaBrowserService.
Kesimpulan
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.
Baca juga