iOS अनुमतियां और खोज

iOS 14 से, ऑपरेटिंग सिस्टम नई पाबंदियां और अनुमतियां लागू करेगा. इनका असर, Cast के उपयोगकर्ता अनुभव पर पड़ेगा. इससे यह भी तय होगा कि आपके ऐप्लिकेशन में Cast SDK टूल को कैसे बनाया जाए. iOS के नए वर्शन में, ऐप्लिकेशन में Cast की सुविधाएं काम करती रहें, इसके लिए आपको अनुमतियों में हुए इन बदलावों को मैनेज करने के लिए अपडेट करने होंगे.

iOS 14

डेवलपर को अपने iOS Cast sender ऐप्लिकेशन को Google Cast SDK के 4.6.0 या इसके बाद के वर्शन पर अपडेट करना चाहिए. ये वर्शन, iOS 14 और उसकी ज़रूरी शर्तों के साथ काम करते हैं.

iOS 14 से, लोकल नेटवर्क पर डिवाइसों को स्कैन करने वाले ऐप्लिकेशन, अब उपयोगकर्ताओं को एक बार इस्तेमाल होने वाली अनुमतियों का डायलॉग बॉक्स दिखाएंगे. इससे, वे लोकल नेटवर्क के डिवाइसों को ढूंढ पाएंगे और उनसे कनेक्ट कर पाएंगे. Cast प्लैटफ़ॉर्म, Cast डिवाइसों को ढूंढने और उन्हें कंट्रोल करने के लिए, लोकल नेटवर्क का इस्तेमाल करता है. इसलिए, अगर उपयोगकर्ता अनुमति नहीं देता है, तो वह डिवाइसों पर कॉन्टेंट नहीं कास्ट कर पाएगा.

उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, हम उन ऐप्लिकेशन के लिए SDK में यूज़र एक्सपीरियंस (UX) से जुड़े कुछ बदलाव कर रहे हैं जो स्टैंडर्ड डिवाइस पिकर का इस्तेमाल कर रहे हैं. यूज़र एक्सपीरियंस में किए गए इन बदलावों से, उपयोगकर्ताओं को यह समझने में मदद मिलती है कि लोकल नेटवर्क का ऐक्सेस पाने की अनुमतियों की ज़रूरत क्यों है. साथ ही, अगर लोकल नेटवर्क डिवाइस का ऐक्सेस बंद है, तो कास्टिंग की सुविधा को चालू करने का तरीका भी समझने में मदद मिलती है.

Cast SDK टूल के v4.4.8 या उससे पहले के वर्शन का इस्तेमाल करके बनाए गए ऐप्लिकेशन, तब तक काम करते रहेंगे, जब तक उन्हें Xcode 11.7 या उससे पहले के वर्शन का इस्तेमाल करके बनाया गया हो. अगर Xcode 12 या इसके बाद के वर्शन का इस्तेमाल करके, iOS 14 के लिए ऐप्लिकेशन बनाया जा रहा है, तो हमारा सुझाव है कि आप Cast SDK टूल को 4.6.0 या इसके बाद के वर्शन पर अपडेट करें. इससे यह पक्का किया जा सकेगा कि आपका Cast ऐप्लिकेशन सही तरीके से काम करता रहेगा.

Cast iOS SDK टूल के 4.6.0 या इसके बाद के वर्शन को CocoaPods की मदद से डाउनलोड किया जा सकता है. इसके लिए, CocoaPods सेटअप करने का तरीका अपनाएं या मैन्युअल तरीके से सेटअप करने का तरीका अपनाएं. इस रिलीज़ में, डिवाइस ढूंढने के तरीके में बदलाव किए गए हैं. इससे, Xcode 12 के साथ बनाए गए ऐप्लिकेशन, नेटवर्क पर Cast डिवाइसों को ढूंढ पाएंगे. अब कास्ट बटन हमेशा दिखेगा. अगर उपयोगकर्ता कास्ट करने के बटन पर टैप करता है और कोई डिवाइस उपलब्ध नहीं होता है, तो एक डायलॉग दिखेगा. इसमें, डिवाइस उपलब्ध न होने की वजह के बारे में जानकारी दी जाएगी. साथ ही, लोकल नेटवर्क का ऐक्सेस पाने की अनुमति को फिर से चालू करने का तरीका भी बताया जाएगा.

Cast SDK टूल में हुए बदलाव

पहली बार कास्ट करना

जब कोई उपयोगकर्ता पहली बार कास्ट करने की कोशिश करता है, तो उसे लोकल नेटवर्क ऐक्सेस (एलएनए) इंटरस्टीशियल डायलॉग दिखेगा. इसमें यह बताया जाएगा कि लोकल नेटवर्क ऐक्सेस की ज़रूरत क्यों है. इसके बाद, Apple की ओर से दी गई iOS लोकल नेटवर्क ऐक्सेस की अनुमतियों का प्रॉम्प्ट दिखेगा. नीचे दिए गए मॉक, फ़्लो को दिखाते हैं:

लोकल नेटवर्क ऐक्सेस करने की अनुमतियों का फ़्लो

कास्ट करने की सुविधा उपलब्ध नहीं है

iOS sender SDK 4.6.0 से, 'कास्ट करें' बटन हमेशा तब दिखता है, जब उपयोगकर्ता वाई-फ़ाई से कनेक्ट होता है. जब Cast डिवाइस उपलब्ध नहीं होते, तो 'कास्ट करें' बटन पर टैप करने पर एक डायलॉग बॉक्स दिखता है. इसमें उपयोगकर्ता को, Cast की सुविधा उपलब्ध न होने की संभावित वजहों के बारे में जानकारी मिलती है. इसकी जानकारी, यहां दिए गए मॉक में दिखाई गई है:

Cast की सुविधा के साथ फ़्लो उपलब्ध नहीं है

iOS 14 पर अपने ऐप्लिकेशन को अपडेट करना

  1. अपने प्रोजेक्ट में Cast iOS SDK 4.8.3 जोड़ना

    अगर CocoaPods का इस्तेमाल किया जा रहा है, तो अपने प्रोजेक्ट में 4.8.3 एसडीके जोड़ने के लिए, pod update का इस्तेमाल करें.

    इसके अलावा, SDK टूल को मैन्युअल तरीके से इंपोर्ट करें.

  2. अपने Info.plist में NSBonjourServices जोड़ना

    iOS 14 पर लोकल नेटवर्क डिस्कवरी की सुविधा चालू करने के लिए, अपने Info.plist में NSBonjourServices डालें.

    डिवाइस डिस्कवरी की सुविधा ठीक से काम करे, इसके लिए आपको _googlecast._tcp और _<your-app-id>._googlecast._tcp, दोनों को सेवाओं के तौर पर जोड़ना होगा.

    appID आपका receiverID होता है. यह वही आईडी होता है जो आपके GCKDiscoveryCriteria में बताया गया है.

    यहां दिए गए उदाहरण में NSBonjourServices की परिभाषा अपडेट करें और "ABCD1234" की जगह अपना appID डालें.

    <key>NSBonjourServices</key>
    <array>
      <string>_googlecast._tcp</string>
      <string>_ABCD1234._googlecast._tcp</string>
    </array>
  3. अपने Info.plist में NSLocalNetworkUsageDescription जोड़ना

    हमारा सुझाव है कि आप लोकल नेटवर्क प्रॉम्प्ट में दिखाए गए मैसेज को अपनी ज़रूरत के मुताबिक बनाएं. इसके लिए, अपने ऐप्लिकेशन की Info.plist फ़ाइल में, ऐप्लिकेशन के हिसाब से अनुमति वाली स्ट्रिंग जोड़ें. उदाहरण के लिए, DIAL जैसी डिस्कवरी सेवाओं और Cast डिस्कवरी के बारे में बताने के लिए.NSLocalNetworkUsageDescription

    <key>NSLocalNetworkUsageDescription</key>
    <string>${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi
    network.</string>

    यह मैसेज, iOS के लोकल नेटवर्क ऐक्सेस डायलॉग के हिस्से के तौर पर दिखेगा, जैसा कि मॉक में दिखाया गया है.

    लोकल नेटवर्क का ऐक्सेस देने की अनुमतियों के लिए, कास्ट की डायलॉग इमेज
  4. Apple App Store पर अपने ऐप्लिकेशन को फिर से रिलीज़ करना

    हमारा सुझाव है कि आप जल्द से जल्द 4.8.3 का इस्तेमाल करके, अपने ऐप्लिकेशन को फिर से रिलीज़ करें.

कस्टमाइज़ेशन

कास्ट डिवाइस खोजने की सुविधा शुरू करना

डिफ़ॉल्ट रूप से, जब कोई उपयोगकर्ता पहली बार कास्ट बटन (GCKUICastButton) पर टैप करता है, तो डिवाइस को कास्ट करने की सुविधा शुरू हो जाती है. अगर iOS 14 पर अपग्रेड करने के बाद, उपयोगकर्ता ने पहली बार लोकल नेटवर्क पर Cast ऐप्लिकेशन का इस्तेमाल करने की कोशिश की है, तो नया एलएनए इंटरस्टीशियल दिखेगा. इसके बाद, iOS लोकल नेटवर्क ऐक्सेस करने की अनुमतियों वाला डायलॉग दिखेगा.

डिवाइस डिस्कवरी की प्रोसेस कब शुरू होगी और यूज़र इंटरफ़ेस (यूआई) के कुछ एलिमेंट का व्यवहार कैसा होगा, यह कंट्रोल करने के लिए एक नया फ़्लैग उपलब्ध है:

startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)

डिफ़ॉल्ट वैल्यू true है. यह फ़्लैग सिर्फ़ तब लागू होता है, जब फ़्लैग GCKCastOptions::disableDiscoveryAutostart को false पर सेट किया गया हो.

अगर इसे true पर सेट किया जाता है, तो जब कोई उपयोगकर्ता पहली बार GCKUICastButton पर टैप करता है, तब कास्ट डिवाइस खोजने की सुविधा शुरू हो जाती है. उपयोगकर्ता को जानकारी देने वाला एक मैसेज दिखेगा. इसमें उन्हें बताया जाएगा कि स्थानीय नेटवर्क की अनुमति क्यों ज़रूरी है. इसके बाद, iOS 14 LNA मैसेज दिखेगा. मैसेज की पुष्टि होने के बाद, कास्ट डिवाइस खोजने की सुविधा शुरू हो जाती है.

ऐप्लिकेशन को फिर से लॉन्च करने पर, GCKUICastButton हमेशा दिखता है.

अगर इसे false पर सेट किया जाता है, तो डिवाइस डिस्कवरी, GCKCastOptions::disableDiscoveryAutostart के लिए तय किए गए फ़्लैग की वैल्यू के आधार पर शुरू होगी.

अक्सर पूछे जाने वाले सवाल

अगर मैं Cast SDK टूल के v4.4.8 वर्शन और Xcode 12 के साथ, अपने Cast sender ऐप्लिकेशन को फिर से रिलीज़ करूं, तो क्या होगा?

हो सकता है कि आपका ऐप्लिकेशन, लोकल नेटवर्क पर Cast की सुविधा वाले डिवाइसों को तब तक न ढूंढ पाए, जब तक कि आपने Apple से नेटवर्किंग मल्टिकास्ट एनटाइटलमेंट न पा लिया हो. ध्यान दें कि Apple, सिर्फ़ Cast की सुविधा के लिए, मल्टीकास्ट एनटाइटलमेंट नहीं देगा. अगर आपको Xcode 12 का इस्तेमाल करके ऐप्लिकेशन बनाना है, तो आपको अपना ऐप्लिकेशन, Cast 4.6.0 के साथ रिलीज़ करना चाहिए.

अगर मैं नए Cast SDK टूल के साथ अपना ऐप्लिकेशन फिर से रिलीज़ करता/करती हूं, तो iOS 13 या उससे पहले के वर्शन का इस्तेमाल करने वाले मेरे उपयोगकर्ताओं को क्या अनुभव मिलेगा?

उन्हें वही उपयोगकर्ता अनुभव दिखेगा जो आपके ऐप्लिकेशन को फिर से रिलीज़ करने से पहले दिखता था. उपयोगकर्ताओं को दिखने वाले बदलाव, सिर्फ़ iOS 14 पर काम करने वाले उपयोगकर्ताओं के लिए हैं.

Cast SDK टूल का नया वर्शन रिलीज़ होने के बाद, मुझे अपने ऐप्लिकेशन को अपडेट करने के लिए क्या करना होगा?

  • लोकल नेटवर्क के इस्तेमाल की जानकारी शामिल करने के लिए, अपने ऐप्लिकेशन के Info.plist को अपडेट करें.
  • अपने ऐप्लिकेशन के Info.plist में NSBonjourServices जोड़ें और Cast और अपने ऐप्लिकेशन आईडी के लिए, Bonjour सेवा के नाम दें.
  • Cast SDK टूल के 4.6.0 वर्शन का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन को अपग्रेड करें.
  • अपने ऐप्लिकेशन को Apple के ऐप स्टोर पर फिर से रिलीज़ करें.

4.6.0 पर अपग्रेड करने के बाद, मेरे कस्टम डिवाइस चुनने वाले टूल में डिवाइस क्यों नहीं दिख रहे हैं?

यह एक सामान्य समस्या है. यह तब हो सकती है, जब डिवाइस चुनने के लिए स्टैंडर्ड डिवाइस पिकर के बजाय, कस्टम डिवाइस पिकर का इस्तेमाल किया जा रहा हो. Cast SDK टूल के 4.4.8 और इससे पहले के वर्शन में, डिवाइस की स्कैनिंग अपने-आप होती थी. डिवाइस डिस्कवरी शुरू करने के लिए, आपको 4.6.0 वर्शन से, GCKDiscoveryManager क्लास पर startDiscovery तरीके को साफ़ तौर पर कॉल करना होगा.

इस बदलाव की वजह यह है कि लोकल नेटवर्क ऐक्सेस (एलएनए) की अनुमतियों का अनुरोध, ऐप्लिकेशन को पहली बार स्कैन करने के बाद दिखेगा. इस वजह से, आपके ऐप्लिकेशन में अनुमतियों के डायलॉग, अलग-अलग जगहों पर दिख सकते हैं.

अपने ऐप्लिकेशन के लिए कस्टम डिवाइस पिकर बनाने वाले डेवलपर को, iOS 14 में पहली बार डिवाइस स्कैनिंग शुरू करने से पहले, एक बार दिखने वाला इंटरस्टीशियल दिखाना होगा.

iOS 13

iOS 13 में, अनुमतियों से जुड़ी नई ज़रूरी शर्तें जोड़ी गई हैं. इन शर्तों का असर, Google Cast SDK टूल का इस्तेमाल करने वाले ऐप्लिकेशन पर पड़ता है.

Google Cast SDK टूल के 4.4.3 वर्शन से, एक और SDK टूल उपलब्ध है. इसके लिए, ब्लूटूथ® की अनुमति की ज़रूरत नहीं होती. यह डेवलपर साइट और नए google-cast-sdk-no-bluetooth Cocoapods, दोनों पर उपलब्ध है.

ऐप्लिकेशन के बारे में जानकारी

iOS SDK टूल के मौजूदा वर्शन के हिसाब से, यहां इसकी जानकारी दी गई है:

iOS 12 SDK टूल या उससे पहले के वर्शन का इस्तेमाल करके बनाए गए ऐप्लिकेशन

  • सुझाई गई कार्रवाई. iOS 13 पर डिवाइस डिस्कवरी की परफ़ॉर्मेंस में कमी आ सकती है. हालांकि, यह सुविधा अब भी काम करेगी. हमारा सुझाव है कि डेवलपर, Cast SDK टूल के उपलब्ध होने पर, उसे v4.4.4 पर अपग्रेड करें.
  • iOS 13 में, उपयोगकर्ताओं को ऐप्लिकेशन को ब्लूटूथ® की अनुमतियां देने के लिए कहा जाएगा.

iOS 13 SDK टूल का इस्तेमाल करके बनाए गए ऐप्लिकेशन

  • कार्रवाई ज़रूरी है: Cast SDK टूल 4.4.4 पर अपडेट करें. ऐसा न करने पर, हो सकता है कि उपयोगकर्ता को जगह की जानकारी की अनुमति न मिलने पर, कास्ट बटन न दिखे. iOS 13 पर कास्ट करने का भरोसेमंद अनुभव पाने के लिए, Cast SDK टूल को 4.4.4 पर अपग्रेड करना ज़रूरी है.