আপনার অ্যাপ কিভাবে চালু করা হয় তা নিয়ন্ত্রণ করুন।
লঞ্চ হ্যান্ডলার API আপনাকে নিয়ন্ত্রণ করতে দেয় কিভাবে আপনার অ্যাপ চালু করা হয়, উদাহরণস্বরূপ, এটি একটি বিদ্যমান বা একটি নতুন উইন্ডো ব্যবহার করে এবং নির্বাচিত উইন্ডোটি লঞ্চ URL এ নেভিগেট করা হয় কিনা। ফাইল হ্যান্ডিং এপিআই-এর মতো, এটি লঞ্চ করা পৃষ্ঠার window.launchQueue
এ একটি LaunchParams
অবজেক্টকে সারিবদ্ধ করে।
বর্তমান অবস্থা
ধাপ | স্ট্যাটাস |
---|---|
1. ব্যাখ্যাকারী তৈরি করুন | সম্পূর্ণ |
2. স্পেসিফিকেশনের প্রাথমিক খসড়া তৈরি করুন | সম্পূর্ণ |
3. প্রতিক্রিয়া সংগ্রহ করুন এবং ডিজাইনের উপর পুনরাবৃত্তি করুন | সম্পূর্ণ |
4. মূল বিচার। | সম্পূর্ণ |
5. লঞ্চ করুন | সম্পূর্ণ |
লঞ্চ হ্যান্ডলার API ব্যবহার করে
ব্রাউজার সমর্থন
লঞ্চ হ্যান্ডলার শুধুমাত্র ChromeOS এ উপলব্ধ৷
ইন্টারফেস
লঞ্চ হ্যান্ডলার API দুটি নতুন ইন্টারফেস সংজ্ঞায়িত করে।
LaunchParams
: targetURL
ধারণকারী একটি বস্তু ভোক্তা দ্বারা পরিচালনা করা হবে। LaunchQueue
: নির্দিষ্ট ভোক্তার দ্বারা পরিচালিত না হওয়া পর্যন্ত সারিগুলি চালু হয়।
launch_handler
ম্যানিফেস্ট সদস্য
আপনার অ্যাপের লঞ্চ আচরণ ঘোষণামূলকভাবে নির্দিষ্ট করতে, আপনার ম্যানিফেস্টে launch_handler
ম্যানিফেস্ট সদস্য যোগ করুন। এটির একটি উপ-ক্ষেত্র রয়েছে যার নাম client_mode
। এটি আপনাকে একটি নতুন বা বিদ্যমান ক্লায়েন্ট চালু করা উচিত কিনা এবং এই ক্লায়েন্টটি নেভিগেট করা উচিত কিনা তা নিয়ন্ত্রণ করতে দেয়। নীচের উদাহরণটি অনুকরণীয় মান সহ একটি ফাইল দেখায় যা সর্বদা একটি নতুন ক্লায়েন্টে সমস্ত লঞ্চ রুট করবে।
{
"launch_handler": {
"client_mode": "navigate-new"
}
}
অনির্দিষ্ট থাকলে, launch_handler
ডিফল্ট {"client_mode": "auto"}
উপ-ক্ষেত্রের জন্য অনুমোদিত মান হল:
-
client_mode
:-
navigate-new
: লঞ্চের লক্ষ্য URL লোড করার জন্য একটি ওয়েব অ্যাপ উইন্ডোতে একটি নতুন ব্রাউজিং প্রসঙ্গ তৈরি করা হয়। -
navigate-existing
: একটি ওয়েব অ্যাপ উইন্ডোতে ব্রাউজিং প্রসঙ্গের সাথে অতি সম্প্রতি ইন্টারঅ্যাক্ট করা হয়েছে লঞ্চের টার্গেট URL-এ নেভিগেট করা হয়েছে৷ -
focus-existing
: একটি ওয়েব অ্যাপ উইন্ডোতে ব্রাউজিং প্রসঙ্গের সাথে অতি সম্প্রতি ইন্টারঅ্যাক্ট করা হয়েছে লঞ্চটি পরিচালনা করার জন্য বেছে নেওয়া হয়েছে৷ একটি নতুনLaunchParams
অবজেক্ট যারtargetURL
লঞ্চ URL এ সেট করা হয়েছে সেটি নথিরwindow.launchQueue
এ সারিবদ্ধ করা হবে। -
auto
: প্ল্যাটফর্মের জন্য কোনটি সর্বোত্তম কাজ করে তা সিদ্ধান্ত নিতে আচরণ ব্যবহারকারী এজেন্টের উপর নির্ভর করে। উদাহরণস্বরূপ, মোবাইল ডিভাইসগুলি শুধুমাত্র একক ক্লায়েন্টকে সমর্থন করে এবংexisting-client
ব্যবহার করে, যখন ডেস্কটপ ডিভাইসগুলি একাধিক উইন্ডো সমর্থন করে এবং ডেটা ক্ষতি এড়াতেnavigate-new
ব্যবহার করে।
-
client_mode
বৈশিষ্ট্য মানগুলির একটি তালিকা (অ্যারে) গ্রহণ করে, যেখানে প্রথম বৈধ মান ব্যবহার করা হবে। এটি বিদ্যমান বাস্তবায়নের সাথে পিছনের সামঞ্জস্য না ভেঙে স্পেকে নতুন মান যোগ করার অনুমতি দেওয়ার জন্য।
উদাহরণস্বরূপ, যদি অনুমানমূলক মান "focus-matching-url"
যোগ করা হয়, তবে সাইটগুলি "client_mode": ["focus-matching-url", "navigate-existing"]
পুরানো ব্রাউজারগুলির আচরণ নিয়ন্ত্রণ করা চালিয়ে যেতে "focus-matching-url"
সমর্থন করে না।
window.launchQueue ব্যবহার করা হচ্ছে
নিম্নলিখিত কোডে, ফাংশন extractSongID()
লঞ্চের সময় পাস করা URL থেকে একটি songID
বের করে। এটি একটি মিউজিক প্লেয়ার PWA-তে একটি গান চালানোর জন্য ব্যবহৃত হয়।
if ('launchQueue' in window) {
launchQueue.setConsumer((launchParams) => {
if (launchParams.targetURL) {
const songID = extractSongId(launchParams.targetURL);
if (songID) {
playSong(songID);
}
}
});
}
ডেমো
আপনি PWA লঞ্চ হ্যান্ডলার ডেমোতে লঞ্চ হ্যান্ডলার API-এর একটি ডেমো দেখতে পারেন। এটি কীভাবে লঞ্চ হ্যান্ডলার API ব্যবহার করে তা দেখতে অ্যাপ্লিকেশনটির উত্স কোডটি পরীক্ষা করে দেখতে ভুলবেন না।
- একটি ChromeOS ডিভাইসে Musicr 2.0 অ্যাপটি ইনস্টল করুন।
-
https://launch-handler.glitch.me?track=https://example.com/music.mp3
ফর্মের একটি চ্যাট অ্যাপ্লিকেশনে নিজেকে একটি লিঙ্ক পাঠান। (আপনি একটি অডিও ফাইলের দিকে নির্দেশ করে এমন যেকোনো URL-এর জন্যhttps://example.com/music.mp3
কাস্টমাইজ করতে পারেন, উদাহরণস্বরূপ,https://launch-handler.glitch.me?track=https://cdn.glitch.me/3e952c9c-4d6d-4de4-9873-23cf976b422e%2Ffile_example_MP3_700KB.mp3?v=1638795977190
)। - আপনার চ্যাট অ্যাপের লিঙ্কে ক্লিক করুন এবং লক্ষ্য করুন কিভাবে Musicr 2.0 ট্র্যাকটি খোলে এবং চালায়।
- আপনার চ্যাট অ্যাপের লিঙ্কে আবার ক্লিক করুন এবং লক্ষ্য করুন যে আপনি Musicr 2.0 এর দ্বিতীয় দৃষ্টান্ত পাবেন না।
প্রতিক্রিয়া
Chromium টিম লঞ্চ হ্যান্ডলার API এর সাথে আপনার অভিজ্ঞতার কথা শুনতে চায়৷
API ডিজাইন সম্পর্কে আমাদের বলুন
API সম্পর্কে এমন কিছু আছে যা আপনার প্রত্যাশিত মত কাজ করে না? অথবা আপনার ধারণা বাস্তবায়নের জন্য আপনার প্রয়োজনীয় পদ্ধতি বা বৈশিষ্ট্যগুলি অনুপস্থিত আছে? নিরাপত্তা মডেল সম্পর্কে একটি প্রশ্ন বা মন্তব্য আছে? সংশ্লিষ্ট গিটহাব রেপোতে একটি বিশেষ সমস্যা ফাইল করুন, বা বিদ্যমান সমস্যাটিতে আপনার চিন্তা যোগ করুন।
বাস্তবায়নের সাথে একটি সমস্যা রিপোর্ট করুন
আপনি কি Chromium এর বাস্তবায়নের সাথে একটি বাগ খুঁজে পেয়েছেন? অথবা বাস্তবায়ন বৈশিষ্ট থেকে ভিন্ন? new.crbug.com এ একটি বাগ ফাইল করুন। আপনি যতটা পারেন বিশদ বিবরণ, পুনরুত্পাদনের জন্য সহজ নির্দেশাবলী অন্তর্ভুক্ত করতে ভুলবেন না এবং উপাদান বাক্সে Blink>AppManifest
লিখুন। দ্রুত এবং সহজ রিপ্রো শেয়ার করার জন্য গ্লিচ দুর্দান্ত কাজ করে।
API এর জন্য সমর্থন দেখান
আপনি লঞ্চ হ্যান্ডলার API ব্যবহার করার পরিকল্পনা করছেন? আপনার সর্বজনীন সমর্থন Chromium টিমকে বৈশিষ্ট্যগুলিকে অগ্রাধিকার দিতে সাহায্য করে এবং অন্যান্য ব্রাউজার বিক্রেতাদের দেখায় যে তাদের সমর্থন করা কতটা গুরুত্বপূর্ণ৷
হ্যাশট্যাগ #LaunchHandler
ব্যবহার করে @ChromiumDev- এ একটি টুইট পাঠান এবং আপনি এটি কোথায় এবং কীভাবে ব্যবহার করছেন তা আমাদের জানান।