हैंडलर API लॉन्च करें

यह कंट्रोल करें कि आपका ऐप्लिकेशन कैसे लॉन्च किया जाए.

Launch हैंडलर API की मदद से आपको यह कंट्रोल करने की सुविधा मिलती है कि आपका ऐप्लिकेशन कैसे लॉन्च हो. उदाहरण के लिए, क्या ऐप्लिकेशन मौजूदा या नई विंडो से लिंक किया जा सकता है. साथ ही, यह भी बताया जा सकता है कि चुनी गई विंडो, लॉन्च यूआरएल पर नेविगेट की जाएगी या नहीं. जैसा कि File Handing API, तो यह लॉन्च किए गए पेज के window.launchQueue में LaunchParams ऑब्जेक्ट को भी कतार में शामिल करता है.

मौजूदा स्थिति

चरण स्थिति
1. जानकारी देने वाला वीडियो बनाएं पूरा हुआ
2. स्पेसिफ़िकेशन का शुरुआती ड्राफ़्ट बनाना पूरा हो गया
3. सुझाव/राय इकट्ठा करना और डिज़ाइन में बदलाव करना पूरा हुआ
4. ऑरिजिन ट्रायल. पूरा हुआ
5. लॉन्च करना पूरा हो गया

Launch Handler API का इस्तेमाल करना

ब्राउज़र समर्थन

ब्राउज़र के इस्तेमाल से जुड़ी सहायता

  • Chrome: 110. अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
  • एज: 110. अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
  • Firefox: समर्थित नहीं. अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
  • Safari: समर्थित नहीं.

सोर्स

इंटरफ़ेस

लॉन्च हैंडलर एपीआई दो नए इंटरफ़ेस के बारे में जानकारी देता है.

LaunchParams : यह एक ऐसा ऑब्जेक्ट है जिसमें targetURL शामिल होता है. इसे उपभोक्ता मैनेज करता है. LaunchQueue : कतारें तब तक लॉन्च होती हैं, जब तक उन्हें तय किए गए उपभोक्ता से मैनेज नहीं किया जाता.

launch_handler मेनिफ़ेस्ट सदस्य

अपने ऐप्लिकेशन के लॉन्च के तरीके की जानकारी देने के लिए, launch_handler मेनिफ़ेस्ट सदस्य जोड़ें को मेनिफ़ेस्ट में बदलने की सुविधा मिलती है. इसमें client_mode नाम का एक सब-फ़ील्ड है. इससे आपको यह कंट्रोल करने की सुविधा मिलती है कि मौजूदा क्लाइंट लॉन्च किया जाना चाहिए और अगर इस क्लाइंट को नेविगेट किया जाना चाहिए. यहां दिए गए उदाहरण में, एक ऐसी फ़ाइल दिखाई गई है जिसमें ऐसी वैल्यू हैं जो हमेशा सभी लॉन्च को नए क्लाइंट पर भेजती हैं.

{
  "launch_handler": {
    "client_mode": "navigate-new"
  }
}

अगर कोई वैल्यू सेट नहीं की गई है, तो launch_handler की डिफ़ॉल्ट वैल्यू {"client_mode": "auto"} होती है. इस पैरामीटर के लिए मंज़ूर किए गए मान सब-फ़ील्ड ये हैं:

  • client_mode:
    • navigate-new: लॉन्च के टारगेट को लोड करने के लिए, वेब ऐप्लिकेशन की विंडो में एक नया ब्राउज़िंग संदर्भ बनाया जाता है यूआरएल.
    • navigate-existing: वेब ऐप्लिकेशन की विंडो में, हाल ही में ब्राउज़ किए गए कॉन्टेक्स्ट को लॉन्च के टारगेट यूआरएल पर ले जाया जाता है.
    • 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() फ़ंक्शन, यूआरएल से songID निकालता है पास किया गया था. इसका इस्तेमाल, म्यूज़िक प्लेयर के PWA में गाना चलाने के लिए किया जाता है.

if ('launchQueue' in window) {
  launchQueue.setConsumer((launchParams) => {
    if (launchParams.targetURL) {
      const songID = extractSongId(launchParams.targetURL);
      if (songID) {
        playSong(songID);
      }
    }
  });
}

डेमो

PWA लॉन्च हैंडलर डेमो में, लॉन्च हैंडलर एपीआई के काम करने का डेमो देखा जा सकता है. ऐप्लिकेशन के सोर्स कोड की जांच करके देखें कि वह Launch Handler API का इस्तेमाल कैसे करता है.

  1. Musicr 2.0 ऐप्लिकेशन इंस्टॉल करें.
  2. फ़ॉर्म के चैट ऐप्लिकेशन में खुद को एक लिंक भेजें https://launch-handler.glitch.me?track=https://example.com/music.mp3. (आपके पास अपनी पसंद के मुताबिक़ ऑडियो फ़ाइल पर ले जाने वाले किसी भी यूआरएल के लिए, 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).
  3. अपने चैट ऐप्लिकेशन में दिए गए लिंक पर क्लिक करें. इसके बाद, देखें कि Musicr 2.0 कैसे खुलता है और ट्रैक कैसे चलाता है.
  4. अपने चैट ऐप्लिकेशन में मौजूद लिंक पर फिर से क्लिक करें और देखें कि आपको दूसरा इंस्टेंस नहीं मिलेगा म्यूज़िक 2.0.

सुझाव/राय दें या शिकायत करें

Chromium की टीम, Launch हैंडलर API के इस्तेमाल से जुड़े आपके अनुभव जानना चाहती है.

हमें एपीआई के डिज़ाइन के बारे में बताएं

क्या एपीआई में कोई ऐसी चीज़ है जो आपकी उम्मीद के मुताबिक काम नहीं करती? या कुछ तरीके उपलब्ध नहीं हैं या प्रॉपर्टी से जोड़ना होगा? क्या आपका सुरक्षा मॉडल के बारे में कोई सवाल या टिप्पणी है? उससे जुड़े GitHub repo पर, खास समस्या की शिकायत करें या किसी मौजूदा समस्या में अपने सुझाव जोड़ें.

लागू करने से जुड़ी समस्या की शिकायत करना

क्या आपको Chromium को लागू करने में कोई गड़बड़ी मिली? या क्या लागू करने का तरीका, स्पेसिफ़िकेशन से अलग है? new.crbug.com पर जाकर, गड़बड़ी की शिकायत करें. इसमें ज़्यादा से ज़्यादा जानकारी दें. साथ ही, गड़बड़ी को दोहराने के निर्देश दें. इसके बाद, Components बॉक्स में Blink>AppManifest डालें. तुरंत जवाब देने के लिए, Glitch काम करता है.

यह एपीआई काम करता है

क्या आपको लॉन्च हैंडलर एपीआई इस्तेमाल करना है? सार्वजनिक तौर पर सहायता करने से, Chromium टीम को सुविधाओं को प्राथमिकता देने में मदद मिलती है. साथ ही, इससे ब्राउज़र के अन्य वेंडर को यह पता चलता है कि इन सुविधाओं को उपलब्ध कराना कितना ज़रूरी है.

#LaunchHandler हैशटैग का इस्तेमाल करके, @ChromiumDev को ट्वीट करें और हमें बताएं कि इसका इस्तेमाल कहां और कैसे किया जा रहा है.

मदद के लिए लिंक