গাড়ির জন্য Android এ আপনার মিডিয়া অ্যাপ প্রসারিত করুন

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

গাড়ির জন্য অ্যান্ড্রয়েড কি?

গাড়ির জন্য একটি মিডিয়া অ্যাপ ব্যবহারকারীদের তাদের গাড়ির সাথে তাদের ডিজিটাল জীবন নির্বিঘ্নে সংযুক্ত করার একটি উপায় প্রদান করতে পারে। অটোমোবাইলের জন্য উপলব্ধ হওয়ার জন্য ফোনের জন্য একই অ্যাপ্লিকেশানগুলিকে প্রসারিত করে, আপনি একটি ভাল ব্যবহারকারীর অভিজ্ঞতা তৈরি করেন৷ আপনি Android Auto, বা Android Automotive OS এর সাথে একীভূত করে এটি সম্পন্ন করতে পারেন।

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

অ্যান্ড্রয়েড অটো

Android Auto ব্যবহারকারীদের জন্য একটি ড্রাইভার-অপ্টিমাইজ করা অ্যাপের অভিজ্ঞতা প্রদান করে যাদের Android Auto অ্যাপের সাথে একটি Android ফোন রয়েছে এবং একটি সামঞ্জস্যপূর্ণ গাড়ি বা আফটারমার্কেট স্টেরিও সিস্টেম রয়েছে। তারা তাদের ফোন কানেক্ট করে সরাসরি তাদের গাড়ির ডিসপ্লেতে আপনার অ্যাপ ব্যবহার করতে পারে। আপনি Android Auto সক্ষম করে আপনার ফোন অ্যাপের সাথে সংযোগ স্থাপনের জন্য পরিষেবা তৈরি করে যা Android Auto ড্রাইভারের কাছে ড্রাইভার-অপ্টিমাইজ করা ইন্টারফেস প্রদর্শন করতে ব্যবহার করে।

অ্যান্ড্রয়েড অটোমোটিভ ওএস

অ্যান্ড্রয়েড অটোমোটিভ ওএস হল একটি অ্যান্ড্রয়েড-ভিত্তিক ইনফোটেইনমেন্ট সিস্টেম যা যানবাহনে তৈরি। গাড়ির সিস্টেমটি একটি স্বতন্ত্র অ্যান্ড্রয়েড-চালিত ডিভাইস যা গাড়ি চালানোর জন্য অপ্টিমাইজ করা হয়েছে। Android Automotive OS-এর মাধ্যমে, ব্যবহারকারীরা তাদের ফোনের পরিবর্তে সরাসরি গাড়িতে আপনার অ্যাপ ইনস্টল করে।

সমর্থিত অ্যাপ বিভাগ

মিডিয়া অ্যাপগুলি ব্যবহারকারীদের গাড়িতে সঙ্গীত, রেডিও, অডিওবুক এবং অন্যান্য অডিও সামগ্রী ব্রাউজ করতে এবং চালাতে দেয়। আরও তথ্যের জন্য, গাড়ির জন্য অডিও প্লেব্যাক অ্যাপ তৈরি করুন দেখুন। গাড়ির জন্য Build media apps- এ আরও তথ্য পাওয়া যায়।

মিডিয়া অ্যাপগুলি MediaLibraryService এবং MediaSession ব্যবহার করে তৈরি করা হয়। Android Automotive OS-এ, আপনি ভিউ বা কম্পোজ ব্যবহার করে সাইন-ইন এবং সেটিংস স্ক্রিন (পার্ক করার সময় ব্যবহারের জন্য) তৈরি করতে পারেন।

গাড়ি পার্ক করার সময় ভিডিও অ্যাপ ব্যবহারকারীদের স্ট্রিমিং ভিডিও দেখতে দেয়। এই অ্যাপগুলির মূল উদ্দেশ্য হল স্ট্রিমিং ভিডিও প্রদর্শন করা। এই অ্যাপগুলি ভিউ বা কম্পোজ ব্যবহার করে তৈরি করা হয়েছে। আরও তথ্যের জন্য, Android Automotive OS এর জন্য ভিডিও প্লেব্যাক অ্যাপ তৈরি করুন দেখুন। আরও তথ্য Android Automotive OS-এর জন্য Build video apps- এ উপলব্ধ।

গাড়ির জন্য অডিও প্লেব্যাক অ্যাপ তৈরি করুন

এই নির্দেশিকা অনুমান করে যে আপনার কাছে ইতিমধ্যেই একটি বেসিক মিডিয়া প্লেব্যাক অ্যাপ আছে। আপনি যদি না করেন, শুরু করতে, একটি মৌলিক মিডিয়া প্লেয়ার অ্যাপ তৈরি করুন এ যান।

এই নির্দেশিকা আপনাকে নির্দিষ্ট নির্দেশিকা সহ আরও সংস্থানগুলির লিঙ্ক সহ আপনাকে কী করতে হবে সে সম্পর্কে তথ্য দেয়।

প্লেব্যাক উপাদান

মিডিয়া3 প্লেব্যাক ব্যবহারের ক্ষেত্রে বিভিন্ন মূল উপাদান অফার করে। আপনি যদি পূর্ববর্তী Android মিডিয়া লাইব্রেরিগুলির সাথে কাজ করে থাকেন তবে এই উপাদানগুলি তৈরি করে এমন ক্লাসগুলি আপনার কাছে পরিচিত৷

নিম্নলিখিত চিত্রটি দেখায় কিভাবে এই উপাদানগুলি একটি সাধারণ অ্যাপে একত্রিত হয়।

একটি মিডিয়া অ্যাপের বিভিন্ন উপাদান যা Media3 ব্যবহার করে তাদের ইন্টারফেস এবং ক্লাস শেয়ার করার কারণে বেশ কয়েকটি সহজ উপায়ে একসাথে সংযুক্ত হয়।
চিত্র 1 : মিডিয়া অ্যাপ উপাদান

আরও তথ্যের জন্য, প্লেব্যাক উপাদান দেখুন।

একটি MediaLibraryService এবং MediaLibrarySession প্রয়োগ করুন

একটি MediaLibraryService পরিবেশন করতে এবং আপনার মিডিয়া লাইব্রেরিতে অ্যাক্সেসের অনুমতি দেওয়ার জন্য একটি প্রমিত API প্রদান করে। আপনার মিডিয়া অ্যাপে Android Auto বা Android Automotive OS-এর জন্য সমর্থন যোগ করার সময় এটি প্রয়োজন, কারণ এই প্ল্যাটফর্মগুলি আপনার মিডিয়া লাইব্রেরির জন্য তাদের নিজস্ব ড্রাইভার-নিরাপদ UI প্রদান করে। একটি MediaLibraryService বাস্তবায়ন এবং ব্যবহার সম্পর্কে আরও তথ্যের জন্য, MediaLibraryService এর সাথে সামগ্রী পরিবেশন দেখুন।

প্লেব্যাক নিয়ন্ত্রণের জন্য, একটি মিডিয়া সেশন ব্যবহার করুন। MediaSession API একটি অডিও বা ভিডিও প্লেয়ারের সাথে ইন্টারঅ্যাক্ট করার একটি সর্বজনীন উপায় প্রদান করে৷ Jetpack Media3 লাইব্রেরিতে MediaLibrarySession অন্তর্ভুক্ত রয়েছে, যা কন্টেন্ট ব্রাউজিং API যোগ করতে MediaSession প্রসারিত করে।

একটি প্লেয়ারের সাথে একটি মিডিয়া সেশন সংযুক্ত করা একটি অ্যাপকে বাহ্যিকভাবে মিডিয়া প্লেব্যাকের বিজ্ঞাপন দিতে এবং Android Auto, Android Automotive OS বা Google সহকারীর মতো বাহ্যিক উত্স থেকে প্লেব্যাক কমান্ড পেতে দেয়৷ আরও তথ্যের জন্য, একটি MediaSession ব্যবহার করে প্লেব্যাক নিয়ন্ত্রণ এবং বিজ্ঞাপন দেখুন এবং একটি MediaLibrarySession ব্যবহার করুন

সর্বনিম্ন, আপনার মিডিয়া সেশনে নিম্নলিখিত প্লেয়ার কমান্ডগুলির জন্য সমর্থন ঘোষণা করা উচিত:

প্লেব্যাক নিয়ন্ত্রণ সক্ষম করুন নির্দেশিকা বর্ণনা করে যেভাবে আপনি গাড়িতে আপনার প্লেব্যাক নিয়ন্ত্রণগুলি কাস্টমাইজ করতে পারেন৷

অ্যান্ড্রয়েড অটো বা অ্যান্ড্রয়েড অটোমোটিভ ওএস আপনার অ্যাপের সাথে সংযুক্ত হলে, তারা একটি সামগ্রী লাইব্রেরি প্রদর্শনের জন্য অনুরোধ করে, যা onGetLibraryRoot() কলব্যাক পদ্ধতিকে ট্রিগার করে। আপনার লাইব্রেরিতে অ্যাক্সেসের অনুমতি দিতে আপনি দ্রুত একটি রুট মিডিয়া আইটেম ফিরিয়ে দিতে পারেন। onGetChildren() কলব্যাক পদ্ধতি বলা হয় যখন Android Auto বা Android Automotive OS আপনার সামগ্রী লাইব্রেরির গভীর স্তরগুলি ব্রাউজ করার চেষ্টা করে৷

এই প্ল্যাটফর্মগুলি আপনার সামগ্রী লাইব্রেরি কীভাবে গঠন করা হয় তার উপর অতিরিক্ত সীমাবদ্ধতা প্রয়োগ করে। আপনার বিষয়বস্তু লাইব্রেরি কীভাবে প্রদর্শিত হয় তা কাস্টমাইজ করার বিষয়ে বিশদ বিবরণের জন্য, আপনার মিডিয়া ব্রাউজার তৈরি করুন পরিষেবা নির্দেশিকা দেখুন।

Android Auto এর জন্য সমর্থন ঘোষণা করুন

আপনার ফোন অ্যাপ Android Auto সমর্থন করে তা ঘোষণা করতে নিম্নলিখিত ম্যানিফেস্ট এন্ট্রি ব্যবহার করুন:

<application>
    ...
    <meta-data android:name="com.google.android.gms.car.application"
        android:resource="@xml/automotive_app_desc"/>
    ...
</application>

এই ম্যানিফেস্ট এন্ট্রিটি একটি XML ফাইলকে নির্দেশ করে যা ঘোষণা করে যে আপনার অ্যাপ কোন স্বয়ংচালিত ক্ষমতা সমর্থন করে। আপনার কাছে একটি মিডিয়া অ্যাপ আছে তা নির্দেশ করতে, আপনার প্রকল্পের res/xml/ ডিরেক্টরিতে automotive_app_desc.xml নামে একটি XML ফাইল যোগ করুন। এই ফাইলে নিম্নলিখিত বিষয়বস্তু অন্তর্ভুক্ত করা উচিত:

<automotiveApp>
    <uses name="media"/>
</automotiveApp>

Android Automotive OS এর জন্য সমর্থন ঘোষণা করুন

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

আপনার প্রকল্পে একটি স্বয়ংচালিত মডিউল যোগ করতে এই পদক্ষেপগুলি অনুসরণ করুন:

  1. অ্যান্ড্রয়েড স্টুডিওতে, ফাইল > নতুন > নতুন মডিউল ক্লিক করুন।
  2. অটোমোটিভ মডিউল নির্বাচন করুন, তারপর পরবর্তী ক্লিক করুন।
  3. একটি অ্যাপ্লিকেশন/লাইব্রেরির নাম লিখুন। এই নামটি ব্যবহারকারীরা Android Automotive OS-এ আপনার অ্যাপের জন্য দেখতে পান।
  4. একটি মডিউল নাম লিখুন।
  5. আপনার অ্যাপের সাথে মিল রাখতে প্যাকেজের নাম সামঞ্জস্য করুন।
  6. ন্যূনতম SDK- এর জন্য API 28: Android 9.0 (Pie) নির্বাচন করুন এবং তারপর Next এ ক্লিক করুন।

    Android Automotive OS সমর্থন করে এমন সমস্ত গাড়ি Android 9 (API লেভেল 28) বা উচ্চতর সংস্করণে চলে, তাই এই মানটি নির্বাচন করা সমস্ত সামঞ্জস্যপূর্ণ গাড়িকে লক্ষ্য করে।

  7. কোন কার্যকলাপ নির্বাচন করুন, এবং তারপর সমাপ্ত ক্লিক করুন.

অ্যান্ড্রয়েড স্টুডিওতে আপনার মডিউল তৈরি করার পরে, আপনার নতুন অটোমোটিভ মডিউলে AndroidManifest.xml খুলুন:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.media">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" />

    <uses-feature
        android:name="android.hardware.type.automotive"
        android:required="true" />

</manifest>

application এলিমেন্টে কিছু স্ট্যান্ডার্ড অ্যাপ তথ্যের পাশাপাশি একটি uses-feature উপাদান রয়েছে যা Android Automotive OS-এর জন্য সমর্থন ঘোষণা করে। উল্লেখ্য যে ম্যানিফেস্টে ঘোষিত কোনো কার্যক্রম নেই।

আপনি সেটিংস বা সাইন-ইন কার্যক্রম বাস্তবায়ন করলে, সেগুলি এখানে যোগ করুন। এই ক্রিয়াকলাপগুলি সুস্পষ্ট অভিপ্রায় ব্যবহার করে সিস্টেম দ্বারা ট্রিগার করা হয় এবং আপনার Android Automotive OS অ্যাপের জন্য ম্যানিফেস্টের মধ্যে আপনি ঘোষণা করেন এমন একমাত্র ক্রিয়াকলাপ।

যেকোনো সেটিংস বা সাইন-ইন কার্যক্রম যোগ করার পর, application উপাদানে android:appCategory="audio" বৈশিষ্ট্য সেট করে এবং নিম্নলিখিত uses-feature উপাদান যোগ করে আপনার ম্যানিফেস্ট ফাইলটি সম্পূর্ণ করুন:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.media">

    <application
        android:allowBackup="true"
        android:appCategory="audio"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" />

    <uses-feature
        android:name="android.hardware.type.automotive"
        android:required="true" />

    <uses-feature
        android:name="android.hardware.wifi"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.screen.portrait"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.screen.landscape"
        android:required="false" />

</manifest>

এই বৈশিষ্ট্যগুলিকে স্পষ্টভাবে required="false" এ সেট করা নিশ্চিত করে যে আপনার অ্যাপটি স্বয়ংচালিত ওএস ডিভাইসে উপলব্ধ হার্ডওয়্যার বৈশিষ্ট্যগুলির সাথে বিরোধ করছে না।

আপনার অ্যাপ Android Automotive OS সমর্থন করে তা ঘোষণা করতে নিম্নলিখিত ম্যানিফেস্ট এন্ট্রি ব্যবহার করুন:

<application>
    ...
    <meta-data android:name="com.android.automotive"
        android:resource="@xml/automotive_app_desc"/>
    ...
</application>

এই ম্যানিফেস্ট এন্ট্রিটি একটি XML ফাইলকে নির্দেশ করে যা আপনার অ্যাপ সমর্থন করে এমন স্বয়ংচালিত ক্ষমতাগুলি ঘোষণা করে৷

আপনার কাছে একটি মিডিয়া অ্যাপ আছে তা নির্দেশ করতে, আপনার প্রকল্পের res/xml/ ডিরেক্টরিতে automotive_app_desc.xml নামে একটি XML ফাইল যোগ করুন। এই ফাইলে নিম্নলিখিত বিষয়বস্তু অন্তর্ভুক্ত করুন:

<automotiveApp>
    <uses name="media"/>
</automotiveApp>

অভিপ্রায় ফিল্টার

Android Automotive OS আপনার মিডিয়া অ্যাপে ক্রিয়াকলাপগুলিকে ট্রিগার করতে সুস্পষ্ট উদ্দেশ্য ব্যবহার করে৷ ম্যানিফেস্ট ফাইলে CATEGORY_LAUNCHER বা ACTION_MAIN ইন্টেন্ট ফিল্টার আছে এমন কোনো কার্যকলাপ অন্তর্ভুক্ত করবেন না।

নিম্নলিখিত উদাহরণের মতো কার্যকলাপগুলি সাধারণত একটি ফোন বা অন্য কোনও মোবাইল ডিভাইসকে লক্ষ্য করে৷ ফোন অ্যাপ তৈরি করে এমন মডিউলে এই কার্যকলাপগুলি ঘোষণা করুন, আপনার Android Automotive OS অ্যাপ তৈরি করে এমন মডিউলে নয়।

<activity android:name=".MyActivity">
<intent-filter>
<!-- You can't use either of these intents for Android Automotive OS -->
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<!--
In their place, you can include other intent filters for any activities
that your app needs for Android Automotive OS, such as settings or
sign-in activities.
-->
</intent-filter>
</activity>

আরও পদক্ষেপ

এখন আপনার কাছে Android Auto এবং Android Automotive OS-এর জন্য একটি অ্যাপ আছে, আপনি গাড়ি চালানোর সময় আরও নিরাপদে ব্যবহার করার জন্য আপনার অ্যাপটিকে অপ্টিমাইজ করার জন্য অতিরিক্ত পদক্ষেপ নিতে চাইতে পারেন। একটি নিরাপদ এবং সুবিধাজনক ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করতে সাহায্য করার জন্য আরও সুপারিশের জন্য, ভয়েস অ্যাকশন , বিভ্রান্তি সুরক্ষা এবং ত্রুটি পরিচালনার জন্য প্রযুক্তিগত নির্দেশিকা দেখুন।

Android Automotive OS এর জন্য ভিডিও প্লেব্যাক অ্যাপ তৈরি করুন

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

আপনার অ্যাপটিকে একটি ভিডিও অ্যাপ হিসেবে চিহ্নিত করুন

আপনার অ্যাপ ভিডিও সমর্থন করে তা নির্দেশ করতে, আপনার প্রকল্পের res/xml/ ডিরেক্টরিতে automotive_app_desc.xml নামে একটি XML ফাইল যোগ করুন। এই ফাইলে, নিম্নলিখিত বিষয়বস্তু অন্তর্ভুক্ত করুন:

<automotiveApp>
    <uses name="video"/>
</automotiveApp>

তারপর, আপনার ম্যানিফেস্টের application উপাদানের মধ্যে, XML ফাইলের উল্লেখ করে নিম্নলিখিত meta-data উপাদান যোগ করুন:

<meta-data android:name="com.android.automotive"
    android:resource="@xml/automotive_app_desc"/>