Car App — একটি গাড়ির ইনফোটেইনমেন্ট সিস্টেমের জন্য অ্যাপ্লিকেশন, যা Apple CarPlay এবং Android Auto-এর সাথে সংহত। CarPlay — Apple-এর প্রযুক্তি যা iPhone ইন্টারফেস গাড়ির স্ক্রিনে প্রজেক্ট করে এবং Siri, টাচ স্ক্রিন বা স্টিয়ারিং হুইল বাটনের মাধ্যমে নিয়ন্ত্রিত হয়। Android Auto — Android স্মার্টফোনের জন্য Google-এর অনুরূপ প্রযুক্তি। Car App উন্নয়নের মধ্যে iOS-এর জন্য Swift-এ CarPlay framework এবং SiriKit-এর সাথে এবং Android-এর জন্য Kotlin-এ Car App Library, MediaBrowserService এবং NavigationManager-এর সাথে অ্যাপ্লিকেশন তৈরি করা অন্তর্ভুক্ত। Car App সমর্থন আধুনিক গাড়ির জন্য একটি মান হয়ে উঠছে — Apple-এর তথ্য অনুযায়ী, মার্কিন যুক্তরাষ্ট্রে 98% নতুন গাড়ি CarPlay সমর্থন করে, এবং Android Auto 200-এর বেশি মডেলে উপলব্ধ।
মূল পয়েন্ট
Car App — একটি অ্যাপ্লিকেশন যা স্মার্টফোন প্রজেকশনের মাধ্যমে গাড়ির ইনফোটেইনমেন্ট সিস্টেমে (IVI) কাজ করে — iOS-এর জন্য Apple CarPlay এবং Android-এর জন্য Android Auto। Android Automotive OS (গাড়িতে নির্মিত OS) থেকে ভিন্ন, CarPlay এবং Android Auto হল মোবাইল অ্যাপ্লিকেশনের এক্সটেনশন যা ফোনে চলে এবং ইন্টারফেস গাড়ির স্ক্রিনে প্রজেক্ট করে। Car App হল আপনার বিদ্যমান iOS/Android অ্যাপ যা CarPlay বা Android Auto প্রোটোকল বাস্তবায়ন করে।
Car App-এর মূল বিভাগসমূহ: নেভিগেশন (Apple Maps, Google Maps, Waze, Sygic), অডিও (Spotify, Apple Music, YouTube Music, Audible, Castbox), মেসেজিং (Siri/Google Assistant-এর মাধ্যমে উচ্চস্বরে পড়া এবং ডিক্টেশন), অটোমোটিভ ফিচার (EV চার্জিং, পার্কিং, গাড়ির অবস্থা), VOIP কল (WhatsApp, Zoom)। প্রতিটি বিভাগের নিজস্ব ইন্টারফেস টেমপ্লেট রয়েছে — ListTemplate, MapTemplate, AudioTemplate। সিস্টেম নিজেই নির্ধারণ করে যে নিবন্ধিত Intents-এর ভিত্তিতে অ্যাপ্লিকেশন কোন বিভাগ সমর্থন করে।
Car App-এর সীমাবদ্ধতা: Apple এবং Google নিরাপত্তার জন্য UX কঠোরভাবে নিয়ন্ত্রণ করে — ন্যূনতম সংখ্যক উপাদান, বড় বাটন (ন্যূনতম 48x48 pt), কোনো টেক্সট ইনপুট নেই (শুধু ভয়েস), ড্রাইভিংয়ের সময় স্বয়ংক্রিয় ইন্টারফেস ডিমিং, ভিডিও নিষিদ্ধ। চাপ দেওয়ার প্রতিক্রিয়া সময় 100 ms-এর কম হতে হবে। সমস্ত অ্যাপ্লিকেশন বাধ্যতামূলক মডারেশনের মধ্য দিয়ে যায় (CarPlay-এর জন্য App Review, Android Auto-এর জন্য Google Play Console + CTS)।
CarPlay framework (পূর্বে CPKit) — Swift-এ CarPlay অ্যাপ্লিকেশন তৈরির জন্য Apple-এর ফ্রেমওয়ার্ক। মূল ক্লাস হল CPInterfaceController, যা টেমপ্লেট নেভিগেশন পরিচালনা করে। CPInterfaceController-এ একটি টেমপ্লেট স্ট্যাক রয়েছে: CPListTemplate (তালিকা), CPMapTemplate (নেভিগেশন), CPNowPlayingTemplate (অডিও), CPVoiceControlTemplate (ভয়েস নিয়ন্ত্রণ)। CPListTemplate-এ CPListItem রয়েছে — আইকন, টেক্সট এবং অ্যাকশন সহ তালিকা আইটেম।
CarPlay-এর জন্য SiriKit — গাড়িতে অ্যাপ্লিকেশনের ভয়েস নিয়ন্ত্রণের জন্য SiriKit এক্সটেনশন। অ্যাপ্লিকেশন Intents নিবন্ধন করে (INPlayMediaIntent — প্লেব্যাক, INStartWorkoutIntent — ওয়ার্কআউট, INSendMessageIntent — বার্তা)। CarPlay সংযুক্ত হলে Siri স্বয়ংক্রিয়ভাবে সক্রিয় হয় এবং স্টিয়ারিং হুইলের ভয়েস নিয়ন্ত্রণ বাটনের মাধ্যমে উপলব্ধ হয়। SiriKit CarPlay CarPlay Dashboard সমর্থন করে — CarPlay হোম স্ক্রিনে অ্যাপ্লিকেশন থেকে তথ্য প্রদর্শনের জন্য উইজেট (গন্তব্য, বর্তমান ট্র্যাক)।
CarPlay সংযোগ প্রক্রিয়া: iPhone Lightning/USB-C কেবল বা ওয়্যারলেস (CarPlay Wireless, iOS 9 থেকে শুরু) মাধ্যমে গাড়ির সাথে সংযুক্ত হয়। সংযোগের পর, iOS স্বয়ংক্রিয়ভাবে একটি CarPlay সেশন শুরু করে যদি অ্যাপ্লিকেশন CPApplicationDelegate বাস্তবায়ন করে। ডেভেলপার সংযোগের মুহূর্ত নিয়ন্ত্রণ করে না — সিস্টেম সেশন শুরু এবং শেষ হলে delegate মেথড কল করে। CarPlay মাল্টিটাস্কিং সমর্থন করে: সঙ্গীতে স্যুইচ করার সময় নেভিগেশন ব্যাকগ্রাউন্ডে কাজ করে এবং ভয়েস নির্দেশনা বাজতে থাকে।
Android Car App Library — Android Auto-এর সাথে সামঞ্জস্যপূর্ণ অ্যাপ্লিকেশন তৈরির জন্য Android লাইব্রেরি। মৌলিক উপাদান: CarAppService — Android Auto-এর জন্য প্রবেশ বিন্দু; Session — সেশন জীবনচক্র ব্যবস্থাপনা; Screen — অ্যাপ্লিকেশনের প্রতিটি স্ক্রিন; CarScreenManager — প্রদর্শন ব্যবস্থাপনা। অ্যাপ্লিকেশন মিডিয়া বিষয়বস্তুর জন্য MediaBrowserService এবং নেভিগেশন নির্দেশনার জন্য NavigationManager সমর্থন করে।
MediaBrowserService — অডিও অ্যাপ্লিকেশনের জন্য একটি মূল উপাদান। অ্যাপ্লিকেশন প্লেব্যাক পরিচালনার জন্য MediaBrowserService এবং MediaSession বাস্তবায়ন করে। Android Auto স্বয়ংক্রিয়ভাবে নিয়ন্ত্রণ (Play/Pause, Next, Previous) এবং ট্র্যাক তালিকা প্রদর্শন করে। NavigationManager নেভিগেশন অ্যাপ্লিকেশনের জন্য ব্যবহৃত হয় — এটি মোড় নির্দেশনা, রুট স্থিতি এবং সতর্কতা প্রেরণ করে। NavigationManager Android Auto স্ট্যাটাস বারে নেভিগেশন নির্দেশনা প্রদর্শনের জন্য CarNotification সমর্থন করে।
Android Auto প্রয়োজনীয়তা: অ্যাপ্লিকেশনের ম্যানিফেস্টে category="android.intent.category.APP_AUTO" থাকতে হবে; AndroidX এবং ন্যূনতম SDK 26+ ব্যবহার বাধ্যতামূলক; ডার্ক থিম (DayNight) সমর্থন; টাচ এবং ভয়েস নিয়ন্ত্রণ সমর্থন; Android Auto Compatibility Test Suite (CTS)-এর সাথে সঙ্গতি। Google Play নিরাপত্তা এবং UX প্রয়োজনীয়তার সাথে সঙ্গতির জন্য প্রতিটি অ্যাপ্লিকেশন পরীক্ষা করে। সার্টিফিকেশন প্রক্রিয়ায় 1–4 সপ্তাহ সময় লাগে।
CarPlay framework ব্যবহার করে Swift-এ CarPlay-এর জন্য নেভিগেশন অ্যাপ্লিকেশনের উদাহরণ।
import CarPlay
class CarPlaySceneDelegate: CPTemplateApplicationSceneDelegate {
func templateApplicationScene(
_ templateApplicationScene: CPTemplateApplicationScene,
didConnect interfaceController: CPInterfaceController
) {
let searchItem = CPListItem(
text: "ঠিকানা অনুসন্ধান",
detailText: "গন্তব্য লিখুন"
)
searchItem.handler = { _, completion in
// অনুসন্ধান স্ক্রিন খুলুন
completion()
}
let favoritesItem = CPListItem(
text: "পছন্দসমূহ",
detailText: "সংরক্ষিত ঠিকানা"
)
favoritesItem.handler = { _, completion in
showFavorites()
completion()
}
let section = CPListSection(items: [searchItem, favoritesItem])
let listTemplate = CPListTemplate(
title: "নেভিগেশন",
sections: [section]
)
interfaceController.setRootTemplate(listTemplate, animated: true)
}
func showFavorites() {
// পছন্দের ঠিকানার তালিকা প্রদর্শন করুন
}
}
// ভয়েস নিয়ন্ত্রণের জন্য SiriKit Intent
class NavigationIntentHandler: NSObject, INSearchForMessagesIntentHandling {
func handle(intent: INSearchForMessagesIntent,
completion: @escaping (INSearchForMessagesIntentResponse) -> Void) {
// Siri-এর মাধ্যমে ভয়েস কমান্ড প্রক্রিয়াকরণ
let response = INSearchForMessagesIntentResponse(
code: .success, userActivity: nil
)
completion(response)
}
}
মূল পয়েন্ট: CPTemplateApplicationSceneDelegate — CarPlay সেশনের জন্য প্রবেশ বিন্দু; CPInterfaceController টেমপ্লেট স্ট্যাক পরিচালনা করে; CPListTemplate এবং CPListItem — মৌলিক UI উপাদান; .handler — প্রতিটি তালিকা আইটেমের জন্য ক্লিক হ্যান্ডলার।
Car App Library-এর সাথে Kotlin-এ Android Auto-এর জন্য নেভিগেশন অ্যাপ্লিকেশনের উদাহরণ:
// CarAppService — Android Auto-এর জন্য প্রবেশ বিন্দু
class NavigationCarAppService : CarAppService() {
override fun createSession(): Session = NavigationSession()
}
// Session — সেশন জীবনচক্র ব্যবস্থাপনা
class NavigationSession : Session() {
override fun onCreateScreen(manager: ScreenManager): Screen {
return MainScreen(carContext)
}
}
// MainScreen — নেভিগেশন সহ প্রধান স্ক্রিন
class MainScreen(carContext: CarContext) : Screen(carContext) {
override fun onGetTemplate(): Template {
val searchAction = Action.Builder()
.setTitle("ঠিকানা অনুসন্ধান")
.setOnClickListener { showSearchScreen() }
.build()
val favoritesAction = Action.Builder()
.setTitle("পছন্দসমূহ")
.setOnClickListener { showFavorites() }
.build()
return ListTemplate.Builder()
.setTitle("নেভিগেশন")
.setHeaderAction(Action.APP_ICON)
.addAction(searchAction)
.addAction(favoritesAction)
.build()
}
private fun showSearchScreen() {
screenManager.push(SearchScreen(carContext))
}
private fun showFavorites() {
screenManager.push(FavoritesScreen(carContext))
}
}
// AndroidManifest — পরিষেবা নিবন্ধন
<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>
মূল পয়েন্ট: CarAppService — Android Auto-এর জন্য প্রবেশ বিন্দু; Session — জীবনচক্র ব্যবস্থাপনা; Screen — অ্যাপ্লিকেশনের প্রতিটি স্ক্রিন, একটি Template ফেরত দেয়; ListTemplate — Action-সহ তালিকার জন্য টেমপ্লেট; category.APP_AUTO — ম্যানিফেস্টে বাধ্যতামূলক বিভাগ।
Apple CarPlay প্রয়োজনীয়তা: অ্যাপ্লিকেশনকে CarPlay Distraction Design Guidelines মেনে চলতে হবে — ন্যূনতম বাটন আকার 48x48 pt, টেক্সট কনট্রাস্ট 4.5:1, কোনো অ্যানিমেশন বা ভিডিও নেই, VoiceOver সমর্থন। প্রকাশনা — App Store Connect-এর মাধ্যমে, অ্যাপ্লিকেশন স্ট্যান্ডার্ড Apple মডারেশনের মধ্য দিয়ে যায়। App Store Connect-এ CarPlay সমর্থন উল্লেখ করা এবং CarPlay ইন্টারফেসের স্ক্রিনশট সংযুক্ত করা প্রয়োজন। CarPlay অ্যাপ্লিকেশন বিজ্ঞাপন ছাড়া বিনামূল্যে হতে পারে না — Apple ইন-অ্যাপ কেনাকাটায় 30% কমিশন (ছোট ব্যবসার জন্য 15%) নেয়।
Android Auto প্রয়োজনীয়তা: অ্যাপ্লিকেশনকে Android Auto Design Guidelines মেনে চলতে হবে এবং Android Auto Compatibility Test Suite (CTS) পাস করতে হবে। প্রকাশনা — Google Play Console-এর মাধ্যমে, সামঞ্জস্যপূর্ণ ডিভাইস তালিকায় "Android Auto" বিভাগ উল্লেখ করা প্রয়োজন। Google Play পরীক্ষা করে: ডার্ক থিম (DayNight) সমর্থন, সংযোগ হারানোর সময় সঠিক আচরণ, স্ক্রিন রোটেশন হ্যান্ডলিং, Google Assistant-এর মাধ্যমে ভয়েস নিয়ন্ত্রণ সমর্থন। Android Auto অ্যাপ্লিকেশনের অতিরিক্ত কমিশনের প্রয়োজন নেই — স্ট্যান্ডার্ড Google Play মডেল (15-30%)।
| প্যারামিটার | Apple CarPlay | Android Auto |
|---|---|---|
| ফ্রেমওয়ার্ক | CarPlay framework (CPInterfaceController) | Car App Library (CarAppService) |
| ভাষা | Swift | Kotlin |
| ভয়েস সহায়ক | SiriKit | Google Assistant |
| ইন্টারফেস | CPListTemplate, CPMapTemplate | ListTemplate, MapTemplate |
| মিডিয়া | MPNowPlayingInfoCenter | MediaBrowserService |
| নেভিগেশন | CPNavigationSession | NavigationManager |
| প্রকাশনা | App Store Connect | Google Play Console |
| কমিশন | 15–30% | 15–30% |
| মডারেশন | App Review (1–3 দিন) | CTS + Google Play (1–4 সপ্তাহ) |
ওয়্যারলেস সংযোগ সমর্থন: CarPlay Wireless iOS 9 থেকে উপলব্ধ এবং Wi-Fi + Bluetooth প্রয়োজন। Android Auto Wireless Android 11 থেকে উপলব্ধ। ওয়্যারলেস সংযোগের জন্য, গাড়িকে সংশ্লিষ্ট মান সমর্থন করতে হবে। ডেভেলপারের অতিরিক্ত কোড লেখার প্রয়োজন নেই — OS স্বয়ংক্রিয়ভাবে সংযোগ পরিচালনা করে।
সচরাচর জিজ্ঞাসিত প্রশ্ন
Car App ড্রাইভিংয়ের সময় ব্যবহারের জন্য অপ্টিমাইজড: ন্যূনতম সংখ্যক উপাদান, বড় বাটন, ভয়েস নিয়ন্ত্রণ, কোনো টেক্সট ইনপুট নেই। অ্যাপ্লিকেশনকে নিরাপত্তা প্রয়োজনীয়তা মেনে চলতে হবে — Apple এবং Google-এর Distraction Design Guidelines।
CarPlay বিভাগগুলি সমর্থন করে: নেভিগেশন (Apple Maps, Google Maps, Waze), অডিও (Spotify, Apple Music), মেসেজিং (Siri-এর মাধ্যমে পড়া এবং ডিক্টেশন), অটোমোটিভ ফিচার (EV চার্জিং, পার্কিং) এবং VOIP কল।
Android Car App Library ব্যবহার করুন: প্রবেশ বিন্দুর জন্য CarAppService, জীবনচক্র ব্যবস্থাপনার জন্য Session, প্রতিটি স্ক্রিনের জন্য Screen বাস্তবায়ন করুন। অ্যাপ্লিকেশনকে মিডিয়ার জন্য MediaBrowserService বা নেভিগেশনের জন্য NavigationManager সমর্থন করতে হবে।
হ্যাঁ, উভয় প্ল্যাটফর্মে মডারেশন প্রয়োজন। Apple App Review-এর মাধ্যমে CarPlay অ্যাপ্লিকেশন পরীক্ষা করে। Android Auto-কে Android Auto Compatibility Test Suite (CTS) পাস করতে হবে এবং Google Play Console-এ যাচাই করতে হবে।
CarPlay-এর জন্য — Swift CarPlay ফ্রেমওয়ার্ক (CPInterfaceController, CPTemplate, CPListItem) এবং SiriKit-এর সাথে। Android Auto-এর জন্য — Kotlin Car App Library এবং MediaBrowserService-এর সাথে।
সারসংক্ষেপ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন