Car App — Apple CarPlay və Android Auto ilə inteqrasiya olunan avtomobil informasiya-əyləncə sistemi üçün tətbiqdir. CarPlay — Apple texnologiyası, iPhone interfeysini avtomobil ekranında göstərir və Siri, sensor ekran və ya sükan düymələri ilə idarə olunur. Android Auto — Android smartfonları üçün Google-un analoji texnologiyasıdır. Car App tətbiqinin hazırlanması iOS üçün Swift ilə CarPlay framework və SiriKit, Android üçün isə Kotlin ilə Car App Library, MediaBrowserService və NavigationManager tətbiqini əhatə edir. Car App dəstəyi müasir avtomobillər üçün standart halına gəlir — Apple məlumatına görə, ABŞ-də yeni avtomobillərin 98%-i CarPlay-i dəstəkləyir, Android Auto isə 200-dən çox modeldə mövcuddur.
Əsas məqamlar
Car App — smartfon proyeksiyası vasitəsilə avtomobil informasiya-əyləncə sistemində (IVI) işləyən tətbiqdir — iOS üçün Apple CarPlay və Android üçün Android Auto. Android Automotive OS (avtomobilə quraşdırılmış ƏS) fərqli olaraq, CarPlay və Android Auto mobil tətbiqin genişləndirmələridir, telefondan işə düşür və interfeysi avtomobil ekranına proyeksiya edir. Car App — CarPlay və ya Android Auto protokollarını tətbiq edən mövcud iOS/Android tətbiqinizdir.
Car App-in əsas kateqoriyaları: naviqasiya (Apple Maps, Google Maps, Waze, Sygic), audio (Spotify, Apple Music, YouTube Music, Audible, Castbox), mesajlar (Siri/Google Assistant vasitəsilə səslə oxuma və diktə), avtomobil funksiyaları (EV doldurulması, parkinq, avtomobil vəziyyəti), VOIP zəngləri (WhatsApp, Zoom). Hər kateqoriyanın öz interfeys şablonu var — ListTemplate, MapTemplate, AudioTemplate. Sistem qeydiyyatdan keçmiş Intents əsasında tətbiqin hansı kateqoriyanı dəstəklədiyini özü müəyyən edir.
Car App məhdudiyyətləri: Apple və Google təhlükəsizlik üçün UX-i ciddi şəkildə idarə edir — minimum sayda elementlər, böyük düymələr (minimum 48x48 pt), mətn daxil edilməməsi (yalnız səs), hərəkət zamanı interfeysin avtomatik qaralması, video qadağası. Toxunma reaksiya müddəti 100 ms-dən az olmalıdır. Bütün tətbiqlər məcburi moderasiyadan keçir (CarPlay üçün App Review, Android Auto üçün Google Play Console + CTS).
CarPlay framework (əvvəl CPKit) — Swift-də CarPlay tətbiqləri yaratmaq üçün Apple freymvorku. Əsas klass — şablonlar üzrə naviqasiyanı idarə edən CPInterfaceController. CPInterfaceController şablonlar yığınını ehtiva edir: CPListTemplate (siyahılar), CPMapTemplate (naviqasiya), CPNowPlayingTemplate (audio), CPVoiceControlTemplate (səs idarəsi). CPListTemplate ikona, mətn və əməliyyatı olan CPListItem — siyahı elementlərini ehtiva edir.
CarPlay üçün SiriKit — avtomobildə tətbiqin səs idarəsi üçün SiriKit genişləndirməsi. Tətbiq Intents qeydiyyatdan keçirir (INPlayMediaIntent — oxutma, INStartWorkoutIntent — məşq, INSendMessageIntent — mesajlar). Siri CarPlay qoşulduqda avtomatik aktivləşir və sükandakı səs idarəsi düyməsi vasitəsilə əlçatandır. SiriKit CarPlay CarPlay Dashboard-ı dəstəkləyir — tətbiqdən məlumatları (təyinat nöqtəsi, cari treki) göstərmək üçün CarPlay-in əsas ekranındakı vidjetlər.
CarPlay qoşulma prosesi: iPhone avtomobilə Lightning/USB-C kabeli və ya simsiz (iOS 9-dan etibarən CarPlay Wireless) vasitəsilə qoşulur. Qoşulduqdan sonra iOS tətbiq CPApplicationDelegate tətbiq edərsə, avtomatik olaraq CarPlay sessiyasını işə salır. Tərtibatçı qoşulma anını idarə etmir — sistem sessiyanın başlanğıcı və sonunda delegate metodlarını çağırır. CarPlay multitasking dəstəkləyir: naviqasiya musiqi dəyişdirilərkən fonda işləyir və səsli təlimatlar səslənməyə davam edir.
Android Car App Library — Android Auto ilə uyğun tətbiqlər yaratmaq üçün Android kitabxanası. Əsas komponentlər: CarAppService — Android Auto üçün giriş nöqtəsi; Session — sessiyanın həyat dövrünün idarəsi; Screen — tətbiqin hər ekranı; CarScreenManager — göstərilmənin idarəsi. Tətbiq media məzmunu üçün MediaBrowserService və naviqasiya təlimatları üçün NavigationManager dəstəkləyir.
MediaBrowserService — audio tətbiqlər üçün əsas komponent. Tətbiq oxutmanı idarə etmək üçün MediaBrowserService və MediaSession tətbiq edir. Android Auto avtomatik olaraq idarəetmə elementlərini (Play/Pause, Next, Previous) və trek siyahısını göstərir. NavigationManager naviqasiya tətbiqləri üçün istifadə olunur — dönüş təlimatlarını, marşrut statusunu və xəbərdarlıqları ötürür. NavigationManager Android Auto vəziyyət panelində naviqasiya təlimatlarını göstərmək üçün CarNotification dəstəkləyir.
Android Auto tələbləri: tətbiq manifestdə category="android.intent.category.APP_AUTO" olmalıdır; məcburi AndroidX istifadəsi və minimum SDK 26+; qaranlıq mövzu dəstəyi (DayNight); sensor və səs idarə dəstəyi; Android Auto Compatibility Test Suite (CTS) uyğunluğu. Google Play hər tətbiqi təhlükəsizlik və UX tələblərinə uyğunluq üçün yoxlayır. Sertifikatlaşdırma prosesi 1–4 həftə çəkir.
CarPlay framework istifadə edərək Swift-də CarPlay üçün naviqasiya tətbiqi nümunəsi.
import CarPlay
class CarPlaySceneDelegate: CPTemplateApplicationSceneDelegate {
func templateApplicationScene(
_ templateApplicationScene: CPTemplateApplicationScene,
didConnect interfaceController: CPInterfaceController
) {
let searchItem = CPListItem(
text: "Ünvan axtarışı",
detailText: "Təyinat nöqtəsini daxil edin"
)
searchItem.handler = { _, completion in
// Axtarış ekranını açırıq
completion()
}
let favoritesItem = CPListItem(
text: "Seçilmişlər",
detailText: "Saxlanılmış ünvanlar"
)
favoritesItem.handler = { _, completion in
showFavorites()
completion()
}
let section = CPListSection(items: [searchItem, favoritesItem])
let listTemplate = CPListTemplate(
title: "Naviqasiya",
sections: [section]
)
interfaceController.setRootTemplate(listTemplate, animated: true)
}
func showFavorites() {
// Seçilmiş ünvanlar siyahısının göstərilməsi
}
}
// Səs idarəsi üçün SiriKit Intent
class NavigationIntentHandler: NSObject, INSearchForMessagesIntentHandling {
func handle(intent: INSearchForMessagesIntent,
completion: @escaping (INSearchForMessagesIntentResponse) -> Void) {
// Siri vasitəsilə səs əmrinin işlənməsi
let response = INSearchForMessagesIntentResponse(
code: .success, userActivity: nil
)
completion(response)
}
}
Əsas məqamlar: CPTemplateApplicationSceneDelegate — CarPlay sessiyası üçün giriş nöqtəsi; CPInterfaceController şablon yığınını idarə edir; CPListTemplate və CPListItem — əsas UI komponentləri; .handler — hər siyahı elementi üçün toxunma işləyicisi.
Car App Library ilə Kotlin-də Android Auto üçün naviqasiya tətbiqi nümunəsi:
// CarAppService — Android Auto üçün giriş nöqtəsi
class NavigationCarAppService : CarAppService() {
override fun createSession(): Session = NavigationSession()
}
// Session — sessiyanın həyat dövrünün idarəsi
class NavigationSession : Session() {
override fun onCreateScreen(manager: ScreenManager): Screen {
return MainScreen(carContext)
}
}
// MainScreen — naviqasiya ilə əsas ekran
class MainScreen(carContext: CarContext) : Screen(carContext) {
override fun onGetTemplate(): Template {
val searchAction = Action.Builder()
.setTitle("Ünvan axtarışı")
.setOnClickListener { showSearchScreen() }
.build()
val favoritesAction = Action.Builder()
.setTitle("Seçilmişlər")
.setOnClickListener { showFavorites() }
.build()
return ListTemplate.Builder()
.setTitle("Naviqasiya")
.setHeaderAction(Action.APP_ICON)
.addAction(searchAction)
.addAction(favoritesAction)
.build()
}
private fun showSearchScreen() {
screenManager.push(SearchScreen(carContext))
}
private fun showFavorites() {
screenManager.push(FavoritesScreen(carContext))
}
}
// AndroidManifest — xidmətin qeydiyyatı
<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>
Əsas məqamlar: CarAppService — Android Auto üçün giriş nöqtəsi; Session — həyat dövrü idarəsi; Screen — tətbiqin hər ekranı, Template qaytarır; ListTemplate — Action ilə siyahılar üçün şablon; category.APP_AUTO — manifestdə məcburi kateqoriya.
Apple CarPlay tələbləri: tətbiq CarPlay Distraction Design Guidelines-ə uyğun olmalıdır — düymələrin minimum ölçüsü 48x48 pt, mətn kontrastı 4.5:1, animasiya və video olmaması, VoiceOver dəstəyi. Nəşr — App Store Connect vasitəsilə, tətbiq standart Apple moderasiyasından keçir. App Store Connect-də CarPlay dəstəyini göstərmək və CarPlay interfeysinin ekran görüntülərini əlavə etmək lazımdır. CarPlay tətbiqləri reklamsız pulsuz ola bilməz — Apple tətbiqdaxili alışlardan 30% (kiçik biznes üçün 15%) komissiya alır.
Android Auto tələbləri: tətbiq Android Auto Design Guidelines-ə uyğun olmalı və Android Auto Compatibility Test Suite (CTS)-dən keçməlidir. Nəşr — Google Play Console vasitəsilə, uyğun cihazlar siyahısında "Android Auto" kateqoriyasını göstərmək lazımdır. Google Play yoxlayır: qaranlıq mövzu dəstəyi (DayNight), qoşulma itkisi zamanı düzgün davranış, ekran dönməsinin idarəsi, Google Assistant vasitəsilə səs idarə dəstəyi. Android Auto tətbiqləri əlavə komissiya tələb etmir — standart Google Play modeli (15-30%).
| Parametr | Apple CarPlay | Android Auto |
|---|---|---|
| Freymvork | CarPlay framework (CPInterfaceController) | Car App Library (CarAppService) |
| Dil | Swift | Kotlin |
| Səs assistenti | SiriKit | Google Assistant |
| İnterfeys | CPListTemplate, CPMapTemplate | ListTemplate, MapTemplate |
| Media | MPNowPlayingInfoCenter | MediaBrowserService |
| Naviqasiya | CPNavigationSession | NavigationManager |
| Nəşr | App Store Connect | Google Play Console |
| Komissiya | 15–30% | 15–30% |
| Moderasiya | App Review (1–3 gün) | CTS + Google Play (1–4 həftə) |
Simsiz qoşulma dəstəyi: CarPlay Wireless iOS 9-dan etibarən mövcuddur və Wi-Fi + Bluetooth tələb edir. Android Auto Wireless Android 11-dən etibarən mövcuddur. Simsiz qoşulma üçün avtomobil müvafiq standartı dəstəkləməlidir. Tərtibatçı əlavə kod yazmalı deyil — ƏS qoşulmanı avtomatik idarə edir.
Tez-tez verilən suallar
Car App sükan arxasında istifadə üçün optimallaşdırılıb: minimum sayda elementlər, böyük düymələr, səs idarəsi, mətn daxil edilməsi yoxdur. Tətbiq təhlükəsizlik tələblərinə cavab verməlidir — Apple və Google-dan Distraction Design Guidelines.
CarPlay kateqoriyaları dəstəkləyir: naviqasiya (Apple Maps, Google Maps, Waze), audio (Spotify, Apple Music), mesajlar (Siri vasitəsilə oxuma və diktə), avtomobil funksiyaları (EV doldurulması, parkinq) və VOIP zəngləri.
Android Car App Library-dən istifadə edin: giriş nöqtəsi üçün CarAppService, həyat dövrü idarəsi üçün Session, hər ekran üçün Screen tətbiq edin. Tətbiq media üçün MediaBrowserService və ya naviqasiya üçün NavigationManager dəstəkləməlidir.
Bəli, hər iki platforma moderasiya tələb edir. Apple CarPlay tətbiqlərini App Review vasitəsilə yoxlayır. Android Auto Android Auto Compatibility Test Suite (CTS)-dən keçməyi və Google Play Console-da yoxlamanı tələb edir.
CarPlay üçün — CarPlay (CPInterfaceController, CPTemplate, CPListItem) və SiriKit freymvorkları ilə Swift. Android Auto üçün — Car App Library və MediaBrowserService ilə Kotlin.
Nəticə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun