মিডিয়া অ্যাপগুলির গভীর লিঙ্কগুলিকে একীভূত করুন৷

এই ডকুমেন্টের লক্ষ্য হল তৃতীয় পক্ষের (3P) অ্যাপ ডেভেলপাররা কীভাবে AAOS মিডিয়া অ্যাপগুলিতে গভীর লিঙ্ক যোগ করতে পারে তা বর্ণনা করা। মিডিয়া ডিপ লিঙ্কগুলি আপনাকে মোবাইল ডিভাইসের মতোই ডিপ লিঙ্কগুলির মাধ্যমে AAOS মিডিয়া অ্যাপগুলি খুলতে সক্ষম করে।

সমর্থিত সংস্করণ

সর্বশেষ সমর্থিত সংস্করণ পেতে, সর্বশেষ বিল্ড আর্টিফ্যাক্টস দেখুন।

  • CarMediaApp.apk
  • TestMediaApp.apk

এটা কিভাবে কাজ করে

যখন AAOS-এ একটি গভীর লিঙ্ক খোলা হয়, তখন এটি মিডিয়া অ্যাপটি খোলে যা নির্দিষ্ট স্কিমটি পরিচালনা করে। মিডিয়া অ্যাপটি তখন URLটিকে ডিকোড করে, সেই লিঙ্কের তথ্য দিয়ে একটি মিডিয়া অভিপ্রায় তৈরি করে এবং তারপর সেই অভিপ্রায়টি মিডিয়া স্ক্রীন খুলতে ব্যবহার করে।

নতুন উদ্দেশ্য এবং নতুন অতিরিক্ত সমর্থন করার জন্য বাস্তবায়ন:

  • উদ্দেশ্যগুলির একটি আপডেট ফর্ম্যাট প্রদান করে যা মিডিয়া দ্বারা 3P বিকাশকারীদের পরিচালনা করা যেতে পারে যাতে তারা মিডিয়াতে অভিপ্রায়ের মাধ্যমে প্রয়োজনীয় তথ্য পাঠাতে পারে।

  • একটি নির্দিষ্ট মিডিয়া আইটেম বা একটি অনুসন্ধান ক্যোয়ারী ধারণ করে এমন 3P অ্যাপগুলির উদ্দেশ্যগুলি পরিচালনা করে এবং তারপরে মিডিয়াতে অনুরোধ করা তথ্য সহ একটি পৃষ্ঠা খুলুন।

3P বিকাশকারীরা তাদের অ্যাপ আপডেট করার জন্য দায়ী যাতে অ্যাপটিকে ওয়েব URI ইন্টেন্টের মাধ্যমে আহ্বান করা যায় এবং একটি উদ্দেশ্যের মাধ্যমে মিডিয়াতে প্রয়োজনীয় তথ্য পাঠাতে পারে।

3P অ্যাপের জন্য প্রয়োজনীয়তা

TestMediaApp অ্যাপে TmaTrampolineActivity উদাহরণ হিসেবে দেওয়া হয়েছে।

ধাপ 1

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

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

<activity android:name=".automotive.TmaTrampolineActivity"
                  android:exported="true">
            <intent-filter android:label="TmaTrampolineActivity_label">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="app"
                      android:host="com.android.car.media.testmediaapp"/>
            </intent-filter>
        </activity>

ধাপ 2

এই কার্যকলাপে, মিডিয়া অ্যাপ লিঙ্ক থেকে তথ্য পুনরুদ্ধার করে এবং মিডিয়াতে একটি অভিপ্রায় তৈরি করে।

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

অভিপ্রায় তথ্য

এই বৈশিষ্ট্যটি ব্যবহার করার জন্য, ডেভেলপারদের অবশ্যই ইন্টেন্ট অ্যাকশন, ACTION_MEDIA_TEMPLATE_V2 সমর্থন করার জন্য মিডিয়ার সাম্প্রতিকতম সংস্করণটি ইনস্টল করতে হবে। Intent অ্যাকশন, এবং নিম্নলিখিত অভিপ্রায় অতিরিক্তগুলি, MediaIntentExtras.java ক্লাসে অন্তর্ভুক্ত করা হয়েছে। এই অতিরিক্তগুলি উদ্দেশ্য যোগ করা যেতে পারে.

অতিরিক্ত নাম মান বর্ণনা
EXTRA_KEY_MEDIA_COMPONENT কম্পোনেন্টনামের জন্য স্ট্রিং ACTION_MEDIA_TEMPLATE_V2 এর সাথে একটি স্ট্রিং অতিরিক্ত ক্ষেত্র হিসাবে ব্যবহার করা কী MediaBrowserService নির্দিষ্ট করতে যেখানে ব্যবহারকারী মিডিয়া শুরু করতে চায়৷ অনির্দিষ্ট হলে, সক্রিয় মিডিয়া উৎস খোলা হয়।
EXTRA_KEY_MEDIA_ID মিডিয়া আইডি ACTION_MEDIA_TEMPLATE_V2 এর সাথে একটি স্ট্রিং অতিরিক্ত ক্ষেত্র হিসাবে ব্যবহৃত কী মিডিয়া আইটেমটি নির্দিষ্ট করে যা ব্রাউজ ভিউতে প্রদর্শিত হবে। MediaBrowserServiceCompat API-এ ব্যবহৃত আইডিগুলির সাথে অবশ্যই মিলতে হবে।
EXTRA_KEY_SEARCH_QUERY অনুসন্ধান ক্যোয়ারী বর্তমান MediaBrowserService বা EXTRA_KEY_MEDIA_COMPONENT এর সাথে নির্দিষ্ট করা একটিতে পাঠানোর জন্য অনুসন্ধান ক্যোয়ারী নির্দিষ্ট করতে ACTION_MEDIA_TEMPLATE_V2-এর সাথে একটি স্ট্রিং অতিরিক্ত ক্ষেত্র হিসাবে কী ব্যবহার করা হয়েছে
EXTRA_KEY_SEARCH_ACTION

পূর্ণসংখ্যা:

  • 0: EXTRA_VALUE_NO_SEARCH_ACTION
  • 1: EXTRA_VALUE_PLAY_FIRST_ITEM_FROM_SEARCH
অনুসন্ধান ক্যোয়ারী লোড হওয়ার পরে মিডিয়ার জন্য ক্রিয়াটি নির্দিষ্ট করতে ACTION_MEDIA_TEMPLATE_V2 এর সাথে একটি int অতিরিক্ত ক্ষেত্র হিসাবে কী ব্যবহার করা হয়৷

মানটি EXTRA_VALUE_NO_SEARCH_ACTION বা EXTRA_VALUE_PLAY_FIRST_ITEM_FROM_SEARCH এর মধ্যে একটি। এই অতিরিক্ত শুধুমাত্র EXTRA_KEY_SEARCH_QUERY এর সাথে ব্যবহার করা উচিত।

যদি এই অতিরিক্ত নির্দিষ্ট করা না থাকে, তাহলে অনুসন্ধানের ফলাফল লোড হওয়ার পরে আর কোনো ব্যবস্থা নেওয়া হয় না।

বিশেষ ক্ষেত্রে

যদি অভিপ্রায়ে একাধিক অতিরিক্ত যোগ করা হয়, যেমন EXTRA_KEY_MEDIA_ID এবং EXTRA_KEY_SEARCH_QUERY উভয়ই এই অভিপ্রায়ে অন্তর্ভুক্ত করা হয়, বর্তমান বাস্তবায়ন প্রথমে মিডিয়া আইডি পরিচালনা করে, এবং শুধুমাত্র যখন মিডিয়া আইডি খালি থাকে তখন মিডিয়া অনুসন্ধান ক্যোয়ারী চালায়৷

পরীক্ষা

একবার 3P মিডিয়া অ্যাপের ইন্টিগ্রেশন সম্পূর্ণ হলে, একটি গভীর লিঙ্ক পাঠাতে একটি adb কমান্ড ব্যবহার করুন। মিডিয়া কাঙ্ক্ষিত তথ্য দিয়ে খোলে। উদাহরণস্বরূপ, TestMediaApp এর জন্য এই কমান্ডটি:

adb shell am start -W -a android.intent.action.VIEW -d "https://www.testmediaapp.com/path?search=normal\&searchAction=1"