Car App — een app voor het infotainmentsysteem van de auto, integreerbaar met Apple CarPlay en Android Auto. CarPlay — Apple-technologie die de iPhone-interface op het autoscherm weergeeft en wordt bediend via Siri, touchscreen of stuurwielknoppen. Android Auto — soortgelijke Google-technologie voor Android-smartphones. Car App-ontwikkeling omvat het maken van een app in Swift met CarPlay framework en SiriKit voor iOS, en in Kotlin met Car App Library, MediaBrowserService en NavigationManager voor Android. Car App-ondersteuning wordt de standaard voor moderne auto's — volgens Apple ondersteunt 98% van de nieuwe auto's in de VS CarPlay, en Android Auto is beschikbaar in meer dan 200 modellen.
Belangrijkste punten
Car App — is een app die werkt in het infotainmentsysteem van de auto (IVI) via smartphoneprojectie — Apple CarPlay voor iOS en Android Auto voor Android. In tegenstelling tot Android Automotive OS (ingebouwd besturingssysteem in de auto), zijn CarPlay en Android Auto extensies van de mobiele app die op de telefoon draaien en de interface op het autoscherm projecteren. Car App is je bestaande iOS/Android-app die CarPlay- of Android Auto-protocollen implementeert.
Belangrijke categorieën Car App: navigatie (Apple Maps, Google Maps, Waze, Sygic), audio (Spotify, Apple Music, YouTube Music, Audible, Castbox), berichten (voorlezen en dicteren via Siri/Google Assistant), autofuncties (EV-laden, parkeren, autostatus), VOIP-gesprekken (WhatsApp, Zoom). Elke categorie heeft zijn eigen interfacesjabloon — ListTemplate, MapTemplate, AudioTemplate. Het systeem bepaalt zelf welke categorie de app ondersteunt op basis van geregistreerde Intents.
Beperkingen Car App: Apple en Google controleren UX strikt voor veiligheid — minimaal aantal elementen, grote knoppen (minimum 48x48 pt), geen tekstinvoer (alleen spraak), automatisch dimmen van de interface bij beweging, videoverbod. Reactietijd op aanraking moet minder dan 100 ms zijn. Alle apps ondergaan verplichte moderatie (App Review voor CarPlay, Google Play Console + CTS voor Android Auto).
CarPlay framework (voorheen CPKit) — Apple-framework voor het maken van CarPlay-apps in Swift. Sleutelklasse — CPInterfaceController, die navigatie door sjablonen beheert. CPInterfaceController bevat een stapel sjablonen: CPListTemplate (lijsten), CPMapTemplate (navigatie), CPNowPlayingTemplate (audio), CPVoiceControlTemplate (spraakbediening). CPListTemplate bevat CPListItem — lijstelementen met pictogram, tekst en actie.
SiriKit voor CarPlay — SiriKit-extensie voor spraakbediening van de app in de auto. De app registreert Intents (INPlayMediaIntent — afspelen, INStartWorkoutIntent — training, INSendMessageIntent — berichten). Siri wordt automatisch geactiveerd bij het aansluiten van CarPlay en is beschikbaar via de spraakbedieningsknop op het stuur. SiriKit CarPlay ondersteunt CarPlay Dashboard — widgets op het hoofdscherm van CarPlay voor het weergeven van informatie uit de app (bestemming, huidig nummer).
CarPlay-verbindingsproces: iPhone maakt verbinding met de auto via Lightning/USB-C-kabel of draadloos (CarPlay Wireless, vanaf iOS 9). Na verbinding start iOS automatisch de CarPlay-sessie als de app CPApplicationDelegate implementeert. De ontwikkelaar beheert het verbindingsmoment niet — het systeem roept delegate-methoden aan bij start en einde van de sessie. CarPlay ondersteunt multitasking: navigatie werkt op de achtergrond bij overschakelen naar muziek, en gesproken aanwijzingen blijven klinken.
Android Car App Library — Android-bibliotheek voor het maken van apps die compatibel zijn met Android Auto. Basiscomponenten: CarAppService — ingangspunt voor Android Auto; Session — beheer van de levenscyclus van de sessie; Screen — elk scherm van de app; CarScreenManager — beheer van weergave. De app ondersteunt MediaBrowserService voor media-inhoud en NavigationManager voor navigatieaanwijzingen.
MediaBrowserService — sleutelcomponent voor audio-apps. De app implementeert MediaBrowserService en MediaSession voor het beheren van afspelen. Android Auto toont automatisch bedieningselementen (Play/Pause, Next, Previous) en de afspeellijst. NavigationManager wordt gebruikt voor navigatie-apps — geeft draai-instructies, routestatus en waarschuwingen door. NavigationManager ondersteunt CarNotification voor het weergeven van navigatieaanwijzingen in de statusbalk van Android Auto.
Vereisten Android Auto: de app moet category="android.intent.category.APP_AUTO" in het manifest hebben; verplicht gebruik van AndroidX en minimaal SDK 26+; ondersteuning voor donkere thema (DayNight); ondersteuning voor aanraak- en spraakbediening; conformiteit met Android Auto Compatibility Test Suite (CTS). Google Play controleert elke app op naleving van veiligheids- en UX-vereisten. Het certificeringsproces duurt 1–4 weken.
Voorbeeld van een navigatie-app voor CarPlay in Swift met CarPlay framework.
import CarPlay
class CarPlaySceneDelegate: CPTemplateApplicationSceneDelegate {
func templateApplicationScene(
_ templateApplicationScene: CPTemplateApplicationScene,
didConnect interfaceController: CPInterfaceController
) {
let searchItem = CPListItem(
text: "Adres zoeken",
detailText: "Voer bestemming in"
)
searchItem.handler = { _, completion in
// We openen het zoekscherm
completion()
}
let favoritesItem = CPListItem(
text: "Favorieten",
detailText: "Opgeslagen adressen"
)
favoritesItem.handler = { _, completion in
showFavorites()
completion()
}
let section = CPListSection(items: [searchItem, favoritesItem])
let listTemplate = CPListTemplate(
title: "Navigatie",
sections: [section]
)
interfaceController.setRootTemplate(listTemplate, animated: true)
}
func showFavorites() {
// Weergave van lijst met favoriete adressen
}
}
// SiriKit Intent voor spraakbediening
class NavigationIntentHandler: NSObject, INSearchForMessagesIntentHandling {
func handle(intent: INSearchForMessagesIntent,
completion: @escaping (INSearchForMessagesIntentResponse) -> Void) {
// Verwerking van spraakopdracht via Siri
let response = INSearchForMessagesIntentResponse(
code: .success, userActivity: nil
)
completion(response)
}
}
Belangrijke punten: CPTemplateApplicationSceneDelegate — ingangspunt voor CarPlay-sessie; CPInterfaceController beheert de stapel sjablonen; CPListTemplate en CPListItem — basis UI-componenten; .handler — aanraakhandler voor elk lijstelement.
Voorbeeld van een navigatie-app voor Android Auto in Kotlin met Car App Library:
// CarAppService — ingangspunt voor Android Auto
class NavigationCarAppService : CarAppService() {
override fun createSession(): Session = NavigationSession()
}
// Session — beheer van sessielevenscyclus
class NavigationSession : Session() {
override fun onCreateScreen(manager: ScreenManager): Screen {
return MainScreen(carContext)
}
}
// MainScreen — hoofdscherm met navigatie
class MainScreen(carContext: CarContext) : Screen(carContext) {
override fun onGetTemplate(): Template {
val searchAction = Action.Builder()
.setTitle("Adres zoeken")
.setOnClickListener { showSearchScreen() }
.build()
val favoritesAction = Action.Builder()
.setTitle("Favorieten")
.setOnClickListener { showFavorites() }
.build()
return ListTemplate.Builder()
.setTitle("Navigatie")
.setHeaderAction(Action.APP_ICON)
.addAction(searchAction)
.addAction(favoritesAction)
.build()
}
private fun showSearchScreen() {
screenManager.push(SearchScreen(carContext))
}
private fun showFavorites() {
screenManager.push(FavoritesScreen(carContext))
}
}
// AndroidManifest — registratie van service
<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>
Belangrijke punten: CarAppService — ingangspunt voor Android Auto; Session — levenscyclusbeheer; Screen — elk scherm van de app, retourneert Template; ListTemplate — sjabloon voor lijsten met Action; category.APP_AUTO — verplichte categorie in het manifest.
Vereisten Apple CarPlay: de app moet voldoen aan CarPlay Distraction Design Guidelines — minimale knopgrootte 48x48 pt, tekstcontrast 4.5:1, geen animaties en video, ondersteuning voor VoiceOver. Publicatie — via App Store Connect, de app ondergaat standaard Apple-moderatie. CarPlay-ondersteuning moet worden aangegeven in App Store Connect en screenshots van de CarPlay-interface moeten worden bijgevoegd. CarPlay-apps kunnen niet gratis zijn zonder advertenties — Apple rekent 30% commissie (15% voor kleine bedrijven) op aankopen in de app.
Vereisten Android Auto: de app moet voldoen aan Android Auto Design Guidelines en de Android Auto Compatibility Test Suite (CTS) doorstaan. Publicatie — via Google Play Console, de categorie "Android Auto" moet worden aangegeven in de lijst met compatibele apparaten. Google Play controleert: ondersteuning voor donkere thema (DayNight), correct gedrag bij verlies van verbinding, verwerking van schermrotatie, ondersteuning voor spraakbediening via Google Assistant. Android Auto-apps vereisen geen extra commissie — het standaard Google Play-model (15-30%).
| Parameter | Apple CarPlay | Android Auto |
|---|---|---|
| Framework | CarPlay framework (CPInterfaceController) | Car App Library (CarAppService) |
| Taal | Swift | Kotlin |
| Spraakassistent | SiriKit | Google Assistant |
| Interface | CPListTemplate, CPMapTemplate | ListTemplate, MapTemplate |
| Media | MPNowPlayingInfoCenter | MediaBrowserService |
| Navigatie | CPNavigationSession | NavigationManager |
| Publicatie | App Store Connect | Google Play Console |
| Commissie | 15–30% | 15–30% |
| Moderatie | App Review (1–3 dagen) | CTS + Google Play (1–4 weken) |
Ondersteuning draadloze verbinding: CarPlay Wireless beschikbaar vanaf iOS 9 en vereist Wi-Fi + Bluetooth. Android Auto Wireless beschikbaar vanaf Android 11. Voor draadloze verbinding moet de auto de betreffende standaard ondersteunen. De ontwikkelaar hoeft geen extra code te schrijven — het besturingssysteem handelt de verbinding automatisch af.
Veelgestelde vragen
Car App is geoptimaliseerd voor gebruik achter het stuur: minimaal aantal elementen, grote knoppen, spraakbediening, geen tekstinvoer. De app moet voldoen aan veiligheidseisen — Distraction Design Guidelines van Apple en Google.
CarPlay ondersteunt categorieën: navigatie (Apple Maps, Google Maps, Waze), audio (Spotify, Apple Music), berichten (lezen en dicteren via Siri), autofuncties (EV-laden, parkeren) en VOIP-gesprekken.
Gebruik Android Car App Library: implementeer CarAppService voor het ingangspunt, Session voor levenscyclusbeheer, Screen voor elk scherm. De app moet MediaBrowserService voor media of NavigationManager voor navigatie ondersteunen.
Ja, beide platforms vereisen moderatie. Apple controleert CarPlay-apps via App Review. Android Auto vereist het doorstaan van Android Auto Compatibility Test Suite (CTS) en controle in Google Play Console.
Voor CarPlay — Swift met CarPlay-frameworks (CPInterfaceController, CPTemplate, CPListItem) en SiriKit. Voor Android Auto — Kotlin met Car App Library en MediaBrowserService.
Samenvatting
We ontwikkelen een mobiele applicatie turnkey
IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.
Lees ook