আপনার পার্ক করা অ্যাপে Android Automotive OS-এর জন্য সমর্থন যোগ করুন

অ্যান্ড্রয়েড অটোমোটিভ ওএস ডিভাইসগুলিতে আপনার অ্যাপ বিতরণ করার সময়, এই ফর্ম ফ্যাক্টরের জন্য কিছু স্বতন্ত্র বিষয় রয়েছে যা সম্পর্কে আপনার সচেতন থাকা উচিত। এই নির্দেশিকাটি সেই বিবেচ্য বিষয়গুলি ব্যাখ্যা করে।

আপনার বিদ্যমান অ্যাপটি একটি অ্যান্ড্রয়েড অটোমোটিভ ওএস এমুলেটরে পরীক্ষা করুন

অ্যান্ড্রয়েড অটোমোটিভ ওএস-এর জন্য আপনার অ্যাপ তৈরি করা শুরু করতে, প্রথমে একটি অ্যান্ড্রয়েড অটোমোটিভ ওএস এমুলেটরে আপনার বিদ্যমান অ্যাপটি পরীক্ষা করুন। একটি এমুলেটর সেট আপ করতে, 'অ্যান্ড্রয়েড অটোমোটিভ ওএস এমুলেটর ব্যবহার করে পরীক্ষা করুন ' অংশে দেওয়া ধাপগুলো অনুসরণ করুন। এরপর, 'এমুলেটরে আপনার অ্যাপ চালান' অংশে দেওয়া নির্দেশাবলী অনুসরণ করে আপনি অ্যাপটি চালাতে পারবেন।

আপনার অ্যাপ চালানোর সময়, নিম্নলিখিত বিষয়গুলির মতো সামঞ্জস্যজনিত সমস্যাগুলির দিকে খেয়াল রাখুন:

  • ইনফোটেইনমেন্ট স্ক্রিনগুলোর নির্দিষ্ট ওরিয়েন্টেশন থাকে। গাড়ির অ্যাপের গুণমান নির্দেশিকা পূরণের জন্য, অ্যাপগুলোকে অবশ্যই পোর্ট্রেট এবং ল্যান্ডস্কেপ উভয় ওরিয়েন্টেশন সমর্থন করতে হবে।
  • অন্যান্য ডিভাইসে উপলব্ধ এপিআইগুলো অ্যান্ড্রয়েড অটোমোটিভ ওএস-এ উপলব্ধ নাও থাকতে পারে। উদাহরণস্বরূপ, কিছু গুগল প্লে সার্ভিসেস এপিআই অ্যান্ড্রয়েড অটোমোটিভ ওএস-এ উপলব্ধ নয়। এই সমস্যাগুলো কীভাবে সমাধান করা যায়, সে সম্পর্কে বিস্তারিত জানতে ‘ফিচার নিষ্ক্রিয় করুন’ বিভাগটি দেখুন।

আপনার অ্যাপের ম্যানিফেস্ট ফাইলটি কনফিগার করুন

অ্যান্ড্রয়েড অটোমোটিভ ওএস ডিভাইসগুলোকে টার্গেট করতে, আপনার অ্যাপে নির্দিষ্ট কিছু ম্যানিফেস্ট এন্ট্রি থাকতে হবে। অ্যান্ড্রয়েড অটোমোটিভ ওএস ডিভাইসগুলোতে বিতরণের জন্য আপনি সম্মতি জানানোর পর, গুগল প্লে সামঞ্জস্যপূর্ণ অ্যাপগুলো পর্যালোচনা করে নিশ্চিত করে যে সেগুলো গাড়িতে ব্যবহারের জন্য নিরাপদ। আরও বিস্তারিত জানতে ‘গাড়িতে বিতরণ’ দেখুন।

প্রয়োজনীয় অ্যান্ড্রয়েড অটোমোটিভ ওএস বৈশিষ্ট্য

অ্যান্ড্রয়েড অটোমোটিভ ওএস-এর জন্য তৈরি সমস্ত অ্যাপকে গুগল প্লে-তে বিতরণ করার জন্য নির্দিষ্ট কিছু শর্ত পূরণ করতে হবে। আরও তথ্যের জন্য ‘মিট গুগল প্লে ফিচার রিকোয়ারমেন্টস’ দেখুন।

বিভাগ-নির্দিষ্ট ম্যানিফেস্ট এন্ট্রি

পূর্ববর্তী শর্তাবলী, যা সমস্ত পার্ক করা অ্যাপের ক্ষেত্রে প্রযোজ্য, তার পাশাপাশি ভিডিও এবং গেম ক্যাটাগরির জন্য অতিরিক্ত কিছু শর্তাবলী রয়েছে:

চালকের মনোযোগ বিঘ্নিত হওয়ার প্রয়োজনীয়তা পূরণ করুন

গাড়িতে আপনার অ্যাপ আনার সময় চালকের মনোযোগে ব্যাঘাত এড়ানো অত্যন্ত গুরুত্বপূর্ণ। পার্ক করা অ্যাপের ক্ষেত্রে, DD-2 এবং DD-3 গুণমান নির্দেশিকা অনুযায়ী ইউজার এক্সপেরিয়েন্স (UX) সীমাবদ্ধতা সক্রিয় থাকাকালীন আপনার অ্যাপ ব্যবহার বা অডিও চালানো থেকে বিরত রাখার মাধ্যমে এটি প্রাথমিকভাবে নিশ্চিত করা হয়।

ব্যবহারকারীর অভিজ্ঞতার উপর বিধিনিষেধ সক্রিয় থাকাকালীন ব্যবহার প্রতিরোধ করুন।

ডিফল্টরূপে, ইউএক্স বিধিনিষেধ সক্রিয় থাকাকালীন অ্যাক্টিভিটি ব্যবহার বা চালু করা যায় না। আপনার অ্যাপে এই আচরণটি প্রযোজ্য করা নিশ্চিত করতে, আপনার ম্যানিফেস্টের মধ্যে থাকা কোনো <activity> এলিমেন্টে নিম্নলিখিত <meta-data> এলিমেন্টটি অন্তর্ভুক্ত করা যাবে না:

<!-- NOT ALLOWED -->
<meta-data
  android:name="distractionOptimized"
  android:value="true"/>

যখন ইউএক্স বিধিনিষেধ সক্রিয় হয়, তখন যদি আপনার অ্যাপের কোনো অ্যাক্টিভিটি পুনরায় চালু করা হয়, তবে সেটি ওএস-এর মালিকানাধীন একটি অ্যাক্টিভিটি দ্বারা আড়াল হয়ে যায়।

ন্যূনতমপক্ষে, আপনার অ্যাপের অ্যাক্টিভিটি ' Paused ' লাইফসাইকেল স্টেটে চলে যায়। এটি একটি onPause ' লাইফসাইকেল কলব্যাক হিসেবে ঘটে, যে সময়ে আপনাকে অবশ্যই আপনার অ্যাপের ভিডিও এবং অডিও প্লেব্যাক উভয়ই পজ করতে হবে।

যেসব ডিভাইসে অ্যান্ড্রয়েড অটোমোটিভ ওএস কম্প্যাটিবিলিটি মোড অন্তর্ভুক্ত থাকে, সেগুলিতে সিস্টেম ব্লকিংয়ের কারণে আপনার অ্যাপের অ্যাক্টিভিটিগুলো পজড অবস্থা থেকে স্টপড অবস্থায় চলে যায়।

প্লেব্যাক বন্ধ করুন এবং প্লেব্যাক পুনরায় শুরু হওয়া প্রতিরোধ করুন

কিছু অ্যাপের ক্ষেত্রে, onPause() চলাকালীন প্লেব্যাক থামানো এবং onResume() না হওয়া পর্যন্ত প্লেব্যাক পুনরায় শুরু হওয়া রোধ করতে স্টেট ট্র্যাক করাই ড্রাইভারের মনোযোগ বিঘ্নিত হওয়ার শর্ত পূরণের জন্য যথেষ্ট।

যদি আপনার অ্যাপের জন্য লাইফসাইকেল কলব্যাকে সাড়া দেওয়া যথেষ্ট না হয়, তবে আপনি পরবর্তী বিভাগে বর্ণিত পদ্ধতি অনুযায়ী সরাসরি UX সীমাবদ্ধতার অবস্থা শুনতে পারেন। উদাহরণস্বরূপ, যে অ্যাপগুলো পিকচার-ইন-পিকচার সমর্থন করে, তারা লাইফসাইকেল কলব্যাকে শর্তসাপেক্ষ চেকের পরিবর্তে সরাসরি শুনতে পছন্দ করতে পারে।

ব্যবহারকারীর অভিজ্ঞতার সীমাবদ্ধতা শুনুন

ইউএক্স (UX) সীমাবদ্ধতাগুলো কার্যকর করতে, প্রথমে আপনার অ্যাপ মডিউলের build.gradle ফাইলে android.car লাইব্রেরির উপর একটি ডিপেন্ডেন্সি যোগ করুন। এটি অ্যান্ড্রয়েড এসডিকে-র একটি এক্সটেনশন যা অ্যান্ড্রয়েড অটোমোটিভ ওএস-এর জন্য নির্দিষ্ট এপিআই (API) সরবরাহ করে।

android {
    ...
    useLibrary("android.car")
}

ইউএক্স বিধিনিষেধের অবস্থা জানতে CarUxRestrictionsManager ব্যবহার করুন। গিয়ার বা গতির মতো অন্যান্য হার্ডওয়্যার অবস্থা থেকে ইউএক্স বিধিনিষেধের অবস্থা নির্ধারণ করার চেষ্টা করবেন না, কারণ একটি গাড়ির মধ্যে বিভিন্ন ডিসপ্লেতে ইউএক্স বিধিনিষেধ ভিন্ন হতে পারে।

val car = Car.createCar(context) ?: return
val carUxRestrictionsManager =
    car.getCarManager(Car.CAR_UX_RESTRICTION_SERVICE) as? CarUxRestrictionsManager ?: return

// You can either read the state directly ...
val currentUxRestrictions = carUxRestrictionsManager.currentCarUxRestrictions

// or listen to state changes
carUxRestrictionsManager.registerListener { carUxRestrictions: CarUxRestrictions ->
    // Handle UX restrictions
}

// Don't forget to teardown and release resources when they're no longer needed
carUxRestrictionsManager.unregisterListener()
car.disconnect()

CarUxRestrictions দ্বারা প্রদত্ত একমাত্র যে মানটি আপনার অ্যাপ ব্যবহার করে, তা হলো isRequiresDistractionOptimization এর রিটার্ন ভ্যালু। অন্যান্য মানগুলো কেবল সেইসব অ্যাক্টিভিটির জন্য প্রাসঙ্গিক, যেগুলোকে ডিস্ট্র্যাকশন অপটিমাইজড হিসেবে চিহ্নিত করা হয়েছে।

আপনার বাস্তবায়ন পরীক্ষা করুন

নিম্নলিখিত পদ্ধতি ব্যবহার করে যাচাই করুন যে আপনার অ্যাপটি চালকের মনোযোগ বিঘ্নিত হওয়ার প্রয়োজনীয়তা পূরণ করে কিনা:

  1. গুগল প্লে স্টোর বা কম্প্যাটিবিলিটি মোড ছাড়া একটি সিস্টেম ইমেজে আপনার অ্যাপটি ইনস্টল করুন।
  2. লঞ্চার অ্যাপ গ্রিডটি খোলা রেখে, ড্রাইভিং সিমুলেট করুন এবং যাচাই করুন যে আপনার অ্যাপটি খোলা যাচ্ছে না।
  3. ড্রাইভিং সিমুলেশন বন্ধ করুন এবং আপনার অ্যাপের প্লেব্যাক স্ক্রিনটি খুলে প্লেব্যাক শুরু করুন।
  4. পুনরায় ড্রাইভিং অনুকরণ করুন এবং যাচাই করুন যে প্লেব্যাকটি থেমে যায়।
    1. আপনার অ্যাপ যদি MediaSession সমর্থন করে, adb shell cmd media_session dispatch play ব্যবহার করে যাচাই করুন যে প্লেব্যাক পুনরায় শুরু হচ্ছে না।

অ্যান্ড্রয়েড অটোমোটিভ ওএস-এর জন্য আপনার অ্যাপটি অপ্টিমাইজ করুন

গাড়িতে আপনার ব্যবহারকারীদের সর্বোত্তম অভিজ্ঞতা দেওয়ার জন্য, অ্যান্ড্রয়েড অটোমোটিভ ওএস-এর জন্য অ্যাপ তৈরি করার সময় নিম্নলিখিত বিষয়গুলো মনে রাখবেন:

জানালার ইনসেট এবং ডিসপ্লে কাটআউট নিয়ে কাজ করুন

অন্যান্য ফর্ম ফ্যাক্টরের মতোই, অ্যান্ড্রয়েড অটোমোটিভ ওএস-এ স্ট্যাটাস ও নেভিগেশন বারের মতো সিস্টেম ইউআই এলিমেন্ট এবং আয়তক্ষেত্রাকার নয় এমন ডিসপ্লের জন্য সমর্থন অন্তর্ভুক্ত রয়েছে।

ডিফল্টরূপে, অ্যাপগুলো এমন একটি জায়গায় প্রদর্শিত হয় যা সিস্টেম বার বা ডিসপ্লে কাটআউটের সাথে ওভারল্যাপ করে না। তবে, আপনি হয়তো চাইতে পারেন যে আপনার অ্যাপটি সিস্টেম বারগুলো লুকিয়ে ফেলুক, সেগুলোর পেছনে কন্টেন্ট প্রদর্শন করুক, অথবা ‘উইন্ডো ইনসেটের মধ্যে আপনার অ্যাপের বিন্যাস’ অংশে বর্ণিত ডিসপ্লে কাটআউটের ভেতরে কন্টেন্ট দেখাক। আপনার অ্যাপ যদি এর কোনোটি করে থাকে, তাহলে অ্যান্ড্রয়েড অটোমোটিভ ওএস ডিভাইসগুলোর ইকোসিস্টেম জুড়ে আপনার অ্যাপটিকে কীভাবে ভালোভাবে কাজ করানো যায়, সে সম্পর্কে বিস্তারিত জানতে নিম্নলিখিত উপবিভাগগুলো দেখুন।

সিস্টেম বার, ইমারসিভ মোড, এবং এজ-টু-এজ রেন্ডারিং

গাড়ির সিস্টেম বারগুলোর আকার ও অবস্থান অন্যান্য ডিভাইসের চেয়ে ভিন্ন হতে পারে। উদাহরণস্বরূপ, নেভিগেশন বার স্ক্রিনের বামে, ডানে বা নিচে থাকতে পারে। এমনকি যদি উপরে স্ট্যাটাস বার এবং নিচে নেভিগেশন বার থাকে (যেমনটা বেশিরভাগ ফোন এবং ট্যাবলেটে দেখা যায়), সেক্ষেত্রেও গাড়িতে এই উপাদানগুলোর আকার সম্ভবত অনেক বড় হবে।

এছাড়াও, অ্যান্ড্রয়েড অটোমোটিভ ওএস OEM-দেরকে নিয়ন্ত্রণ করার সুযোগ দেয় যে, অ্যাপগুলো ইমার্সিভ মোডে প্রবেশ ও প্রস্থান করার জন্য সিস্টেম বার দেখাতে বা লুকাতে পারবে কি না। উদাহরণস্বরূপ, অ্যাপগুলোকে সিস্টেম বার লুকানো থেকে বিরত রাখার মাধ্যমে, OEM-রা নিশ্চিত করতে পারে যে গাড়ির কন্ট্রোলগুলো, যেমন ক্লাইমেট কন্ট্রোল, স্ক্রিনে সবসময় অ্যাক্সেসযোগ্য থাকে। যদি কোনো OEM অ্যাপগুলোকে সিস্টেম বার নিয়ন্ত্রণ করা থেকে বিরত রাখে, তাহলে কোনো অ্যাপ সিস্টেম বার দেখানো বা লুকানোর জন্য WindowInsetsController (বা WindowInsetsControllerCompat ) API কল করলেও কিছুই ঘটে না। আপনার অ্যাপটি ইনসেটগুলো পরিবর্তন করতে সক্ষম হয়েছিল কি না, তা কীভাবে শনাক্ত করবেন সে সম্পর্কে আরও জানতে show এবং hide এর ডকুমেন্টেশন দেখুন।

একইভাবে, OEM-রা অ্যাপগুলো সিস্টেম বারের রঙ এবং স্বচ্ছতা নির্ধারণ করতে পারবে কি না, তা নিয়ন্ত্রণ করতে পারে, যাতে বারগুলো এবং এর ভেতরের উপাদানগুলো সর্বদা স্পষ্টভাবে দৃশ্যমান থাকে। যদি আপনার অ্যাপটি প্রান্ত থেকে প্রান্ত পর্যন্ত বিস্তৃত হয়, তবে নিশ্চিত করুন যে সিস্টেম বারের পিছনে কেবল অপ্রয়োজনীয় বিষয়বস্তুই প্রদর্শিত হচ্ছে। যদি ডিভাইস OEM বারগুলোর রঙ বা স্বচ্ছতা নির্ধারণে বাধা দেয়, তবে এই বিষয়বস্তুগুলো দৃশ্যমান নাও হতে পারে।

<!-- Depending on OEM configuration, these style declarations
     (and the corresponding runtime calls) may be ignored -->
<style name="...">
  <item name="android:statusBarColor">...</item>
  <item name="android:navigationBarColor">...</item>
  <item name="android:windowTranslucentStatus">...</item>
  <item name="android:windowTranslucentNavigation">...</status>
</style>

আপনার অ্যাপ যদি প্রান্ত থেকে প্রান্ত পর্যন্ত বিস্তৃত হয়, তাহলে সিস্টেম বারের আকার, সংখ্যা, ধরন বা অবস্থান সম্পর্কে অনুমান করবেন না। এর পরিবর্তে, সিস্টেম বারের সাপেক্ষে আপনার অ্যাপের কন্টেন্ট সাজানোর জন্য উইন্ডো ইনসেট এপিআই (window insets APIs) ব্যবহার করুন। এই এপিআইগুলো কীভাবে ব্যবহার করতে হয় সে সম্পর্কে আরও বিস্তারিত জানতে আপনার অ্যাপে কন্টেন্ট প্রান্ত থেকে প্রান্ত পর্যন্ত প্রদর্শন (Display content edge-to-edge in your app ) দেখুন। কোনো ফর্ম ফ্যাক্টরের জন্যই হার্ড-কোডেড প্যাডিং ভ্যালু ব্যবহার করার পরামর্শ দেওয়া হয় না, কিন্তু কার (car) ডিভাইসে কন্টেন্টকে সেফ এরিয়াতে রাখার জন্য এগুলো সম্ভবত একেবারেই কাজ করবে না।

অনিয়মিত আকারের ডিসপ্লেতে মানিয়ে নিন

আয়তাকার ডিসপ্লে ছাড়াও, কিছু যানবাহনে অনিয়মিত আকারের স্ক্রিন থাকতে পারে, যেমনটি চিত্র ১- এ দেখানো হয়েছে:

একটি অ্যান্ড্রয়েড অটোমোটিভ ওএস ডিভাইস, যার ডিসপ্লেটি ডান দিকে বাঁকানো।
চিত্র ১ : একটি অ্যান্ড্রয়েড অটোমোটিভ ওএস ডিভাইস যার ডিসপ্লেটির ডান দিক বাঁকানো। সবুজ এলাকাটি হলো নিরাপদ আয়তক্ষেত্র যা বাঁকানো ডিসপ্লে কাটআউটের বাউন্ডিং বক্সের সাথে ওভারল্যাপ করে না।

আপনার অ্যাপটি যদি প্রান্ত থেকে প্রান্ত পর্যন্ত রেন্ডার না হয়, তবে এটিকে নিরাপদ এলাকার মধ্যে রেন্ডার করার জন্য আপনার কিছু করার প্রয়োজন নেই।

আপনার অ্যাপ যদি প্রান্ত থেকে প্রান্ত পর্যন্ত রেন্ডার হয়, তাহলে ডিসপ্লে কাটআউটের ক্ষেত্রে এটি কেমন আচরণ করবে তা আপনি বেছে নিতে পারেন। রিসোর্স ব্যবহার করে আপনার অ্যাপের থিমে android:windowLayoutInDisplayCutoutMode অ্যাট্রিবিউট সেট করার মাধ্যমে অথবা রানটাইমে উইন্ডোর layoutInDisplayCutoutMode অ্যাট্রিবিউট পরিবর্তন করে আপনি এটি করতে পারেন।

যেহেতু অ্যান্ড্রয়েড অটোমোটিভ ওএস ডিভাইসগুলিতে উপস্থিত ডিসপ্লে কাটআউটের ধরন মোবাইল ডিভাইসের থেকে ভিন্ন, তাই LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT বা LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES ব্যবহার করবেন না, কারণ এগুলোর আচরণ মোবাইল ডিভাইসের কাটআউটের জন্য অপ্টিমাইজ করা হয়েছে। এর পরিবর্তে, কাটআউটটি সর্বদা এড়িয়ে যেতে বা সর্বদা এতে প্রবেশ করতে LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER বা LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS ব্যবহার করুন। পরেরটি বেছে নেওয়ার ক্ষেত্রে, ডিসপ্লে কাটআউট সম্পর্কিত এপিআই (API) সম্পর্কে আরও বিস্তারিত জানতে ‘সাপোর্ট ডিসপ্লে কাটআউটস’ দেখুন।

যদি আপনার অ্যাপটি ডিসপ্লে কাটআউট এলাকায় রেন্ডার হয় এবং আপনি অ্যান্ড্রয়েড অটোমোটিভ ওএস ও মোবাইলের মধ্যে ভিন্ন আচরণ চান, তাহলে আপনার অ্যাপ রানটাইমে এই আচরণটি সেট করলে নির্দেশনার জন্য ‘Disable features’ দেখুন এবং আপনার অ্যাপ রিসোর্স ফাইল ব্যবহার করে এই আচরণটি সেট করলে ‘Use alternative resources’ দেখুন।

বৈশিষ্ট্যগুলি নিষ্ক্রিয় করুন

আপনি যদি অ্যান্ড্রয়েড অটোমোটিভ ওএস-এ কোনো বিদ্যমান মোবাইল অ্যাপ উপলব্ধ করেন, তবে কিছু নির্দিষ্ট বৈশিষ্ট্য এবং কার্যকারিতা প্রাসঙ্গিক বা উপলব্ধ নাও হতে পারে। উদাহরণস্বরূপ, গাড়িতে সাধারণত ক্যামেরা ব্যবহারের সুযোগ থাকে না। এছাড়াও, অ্যান্ড্রয়েড অটোমোটিভ ওএস-এ গুগল প্লে পরিষেবার কেবল একটি অংশই উপলব্ধ; আরও বিস্তারিত জানতে গাড়ির জন্য গুগল প্লে পরিষেবা দেখুন।

অ্যাপটি Android Automotive OS-এ চলছে কিনা তা শনাক্ত করতে, আপনি PackageManager.hasSystemFeature API-এর FEATURE_AUTOMOTIVE ফিচারটি পরীক্ষা করতে পারেন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

val isCar = packageManager.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)
if (isCar) {
    // Enable or disable a given feature
}

বিকল্পভাবে, যদি আপনার অ্যাপে একটি অ্যান্ড্রয়েড অটো কম্পোনেন্টও থাকে, তাহলে অ্যাপটি অ্যান্ড্রয়েড অটোমোটিভ ওএস বা অ্যান্ড্রয়েড অটোতে চলছে কিনা—অথবা এটি আদৌ কোনো গাড়ির সাথে সংযুক্ত নয় কিনা—তা শনাক্ত করতে আপনি অ্যান্ড্রয়েড ফর কারস অ্যাপ লাইব্রেরি থেকে CarConnection এপিআই (CarConnection API) ব্যবহার করতে পারেন।

পিকচার-ইন-পিকচার (PiP) এর ক্ষেত্রে, ফিচারটি উপলব্ধ আছে কিনা তা যাচাই করতে এবং যথাযথভাবে ব্যবস্থা নিতে প্রতিষ্ঠিত সর্বোত্তম অনুশীলনগুলো অনুসরণ করুন।

অফলাইন পরিস্থিতি পরিচালনা করুন

যদিও গাড়িগুলো ক্রমশ ইন্টারনেট-সংযুক্ত হচ্ছে, ইন্টারনেট সংযোগ ছাড়াই চলার জন্য অ্যাপ ব্যবহারের পরামর্শ দেওয়া হয়, যেমন নিম্নলিখিত ক্ষেত্রগুলিতে:

  • ব্যবহারকারীরা গাড়ি নির্মাতা প্রতিষ্ঠানের সাবস্ক্রিপশন প্যাকেজের অংশ হিসেবে প্রদত্ত মোবাইল ডেটা পরিষেবাটি বন্ধ করে দিতে পারেন।
  • কিছু নির্দিষ্ট এলাকায় মোবাইল ডেটা ব্যবহারের সুযোগ সীমিত থাকতে পারে।
  • যেসব গাড়িতে ওয়াই-ফাই রেডিও আছে, সেগুলো ওয়াই-ফাই নেটওয়ার্কের আওতার বাইরে থাকতে পারে, অথবা প্রস্তুতকারক সংস্থা মোবাইল নেটওয়ার্কের সুবিধার জন্য ওয়াই-ফাই বন্ধ করে দিতে পারে।

আপনার অ্যাপে এই পরিস্থিতিগুলো সামাল দেওয়ার জন্য প্রস্তুত থাকুন, যেমন—ইন্টারনেট সংযোগের ওপর নির্ভরশীল কার্যকারিতাগুলোকে সাবলীলভাবে সীমিত করে অফলাইন কন্টেন্ট প্রদান করা। আরও তথ্যের জন্য, নেটওয়ার্কিং অপ্টিমাইজ করার সেরা অনুশীলনগুলো দেখুন।

বিকল্প উৎস ব্যবহার করুন

গাড়ির জন্য আপনার অ্যাপকে উপযোগী করতে, আপনি অ্যান্ড্রয়েড অটোমোটিভ ওএস চালিত গাড়িতে চালানোর সময় বিকল্প রিসোর্স সরবরাহ করার জন্য car রিসোর্স কোয়ালিফায়ার ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি আপনি প্যাডিং ভ্যালু সংরক্ষণের জন্য ডাইমেনশন রিসোর্স ব্যবহার করেন, তাহলে টাচ টার্গেটগুলোকে আরও বড় করার জন্য আপনি car রিসোর্স সেটের জন্য একটি বৃহত্তর ভ্যালু ব্যবহার করতে পারেন।