iOS 14 से, ऑपरेटिंग सिस्टम नई पाबंदियां और अनुमतियां लागू करेगा. इससे, Cast के उपयोगकर्ता अनुभव पर असर पड़ेगा. इससे इस बात पर भी असर पड़ेगा कि अपने ऐप्लिकेशन में Cast SDK को कैसे इंटिग्रेट किया जाता है. अपने ऐप्लिकेशन में iOS के नए वर्शन के साथ Cast की सुविधा को बनाए रखने के लिए, आपको इन अनुमतियों में हुए बदलावों के हिसाब से अपडेट करने होंगे.
iOS 14
डेवलपर को अपने iOS Cast सेंडर ऐप्लिकेशन को Google Cast SDK के 4.6.0 या उसके बाद के वर्शन पर अपडेट करना चाहिए. इन वर्शन में, iOS 14 और उसकी ज़रूरी शर्तों के लिए सहायता उपलब्ध है.
iOS 14 से, लोकल नेटवर्क पर डिवाइसों को स्कैन करने वाले ऐप्लिकेशन, अब उपयोगकर्ताओं को लोकल नेटवर्क के डिवाइसों को ढूंढने और उनसे कनेक्ट करने के लिए, एक बार अनुमति मांगने वाला डायलॉग दिखाएंगे. Cast प्लैटफ़ॉर्म, Cast डिवाइसों को ढूंढने और उन्हें कंट्रोल करने के लिए, लोकल नेटवर्क का इस्तेमाल करता है. इसलिए, अगर उपयोगकर्ता अनुमति नहीं देता है, तो वह कास्ट नहीं कर पाएगा.
उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, हम उन ऐप्लिकेशन के लिए SDK में यूएक्स से जुड़े कुछ बदलाव कर रहे हैं जो डिवाइस चुनने के स्टैंडर्ड टूल का इस्तेमाल कर रहे हैं. यूएक्स से जुड़े इन बदलावों से, उपयोगकर्ताओं को यह साफ़ तौर पर पता चलता है कि लोकल नेटवर्क ऐक्सेस की अनुमतियों की ज़रूरत क्यों है. साथ ही, यह भी पता चलता है कि अगर लोकल नेटवर्क डिवाइस ऐक्सेस की सुविधा बंद कर दी गई है, तो कास्टिंग कैसे चालू की जा सकती है.
Cast SDK के 4.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 बटन हमेशा दिखना चाहिए. अगर उपयोगकर्ता Cast बटन पर टैप करता है और कोई डिवाइस उपलब्ध नहीं है, तो एक डायलॉग दिखेगा. इसमें यह जानकारी दी जाएगी कि डिवाइस क्यों उपलब्ध नहीं हो सकते. साथ ही, इसमें लोकल नेटवर्क ऐक्सेस की अनुमति को फिर से चालू करने का तरीका भी बताया जाएगा.
Cast SDK में हुए बदलाव
पहली बार कास्ट करना
जब कोई उपयोगकर्ता पहली बार कास्ट करने की कोशिश करता है, तो लोकल नेटवर्क ऐक्सेस (एलएनए) का इंटरस्टीशियल डायलॉग दिखेगा. इसमें यह बताया जाएगा कि लोकल नेटवर्क ऐक्सेस की ज़रूरत क्यों है. इसके बाद, Apple की ओर से दिया गया iOS लोकल नेटवर्क ऐक्सेस की अनुमतियों का प्रॉम्प्ट दिखेगा. नीचे दिए गए मॉकअप में, फ़्लो दिखाया गया है:

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

iOS 14 पर अपने ऐप्लिकेशन को अपडेट करना
-
अपने प्रोजेक्ट में Cast iOS SDK 4.8.4 जोड़ना
अगर CocoaPods का इस्तेमाल किया जा रहा है, तो अपने प्रोजेक्ट में 4.8.4 SDK जोड़ने के लिए,
pod updateका इस्तेमाल करें.इसके अलावा, एसडीके को मैन्युअल तरीके से पुल करें.
-
अपने
Info.plistमेंNSBonjourServicesजोड़नाअपने
Info.plistमेंNSBonjourServicesकी जानकारी दें, ताकि iOS 14 पर लोकल नेटवर्क डिस्कवरी की सुविधा काम कर सके.डिवाइस ढूंढने की सुविधा ठीक से काम करे, इसके लिए आपको
_googlecast._tcpऔर_<your-app-id>._googlecast._tcpदोनों को सेवाओं के तौर पर जोड़ना होगा.ऐप्लिकेशन आईडी, आपका receiverID होता है. यह वही आईडी होता है जो आपके
GCKDiscoveryCriteriaमें तय किया गया है.निम्न उदाहरण
NSBonjourServicesपरिभाषा को अपडेट करें और "ABCD1234" को अपने ऐप आईडी से बदलें. -
अपने
में
NSLocalNetworkUsageDescriptionजोड़नाInfo.plistहमारा सुझाव है कि आप लोकल नेटवर्क के प्रॉम्प्ट में दिखने वाले मैसेज को कस्टमाइज़ करें. इसके लिए, अपने ऐप्लिकेशन की
Info.plistफ़ाइल में,NSLocalNetworkUsageDescriptionके लिए, ऐप्लिकेशन के हिसाब से अनुमति वाली स्ट्रिंग जोड़ें. जैसे, Cast डिस्कवरी और DIAL जैसी अन्य डिस्कवरी सेवाओं के बारे में जानकारी देने के लिए.यह मैसेज, iOS लोकल नेटवर्क ऐक्सेस के डायलॉग के हिस्से के तौर पर दिखेगा. यह जानकारी, मॉकअप में दिखाई गई है.
-
अपने ऐप्लिकेशन को Apple App Store पर फिर से रिलीज़ करना
हमारा सुझाव है कि आप अपने ऐप्लिकेशन को जल्द से जल्द 4.8.4 का इस्तेमाल करके फिर से रिलीज़ करें.
कस्टमाइज़ेशन
Cast डिवाइस डिस्कवरी की प्रोसेस शुरू करना
डिफ़ॉल्ट रूप से, Cast डिवाइस डिस्कवरी की प्रोसेस तब शुरू होती है, जब उपयोगकर्ता पहली बार Cast बटन (GCKUICastButton) पर टैप करता है. अगर iOS 14 पर अपग्रेड करने के बाद, उपयोगकर्ता पहली बार लोकल नेटवर्क पर Cast ऐप्लिकेशन का इस्तेमाल करने की कोशिश कर रहा है, तो एलएनए का नया इंटरस्टीशियल दिखेगा. इसके बाद, iOS लोकल नेटवर्क ऐक्सेस की अनुमतियों का डायलॉग दिखेगा.
एक नया फ़्लैग उपलब्ध है. इसकी मदद से, यह कंट्रोल किया जा सकता है कि डिवाइस डिस्कवरी कब शुरू हो और यूएक्स के कुछ एलिमेंट का व्यवहार कैसा हो:
startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)
डिफ़ॉल्ट वैल्यू true है. यह फ़्लैग सिर्फ़ तब लागू होता है, जब फ़्लैग
GCKCastOptions::disableDiscoveryAutostart
को false पर सेट किया गया हो.
अगर इसे true पर सेट किया जाता है, तो Cast डिवाइस डिस्कवरी की प्रोसेस तब शुरू होती है, जब कोई उपयोगकर्ता पहली बार GCKUICastButton पर टैप करता है. उपयोगकर्ता को एक जानकारी वाला मैसेज दिखेगा. इसमें बताया जाएगा कि लोकल नेटवर्क की अनुमति की ज़रूरत क्यों है. उस मैसेज के बाद, iOS 14 एलएनए मैसेज दिखेगा.
मैसेज को स्वीकार करने के बाद, Cast डिवाइस डिस्कवरी की प्रोसेस शुरू होती है.
ऐप्लिकेशन लॉन्च होने के बाद, GCKUICastButton हमेशा दिखता है.
अगर इसे false पर सेट किया जाता है, तो डिवाइस डिस्कवरी की प्रोसेस,
फ़्लैग
GCKCastOptions::disableDiscoveryAutostart की वैल्यू के हिसाब से शुरू होगी.
अक्सर पूछे जाने वाले सवाल
अगर मैं Cast सेंडर ऐप्लिकेशन को Cast SDK के 4.4.8 वर्शन और Xcode 12 के साथ फिर से रिलीज़ करूं, तो क्या होगा?
जब तक आपको Apple से, नेटवर्किंग मल्टीकास्ट का अधिकार नहीं मिल जाता, तब तक हो सकता है कि आपका ऐप्लिकेशन, लोकल नेटवर्क पर Cast डिवाइसों को न ढूंढ पाए. ध्यान दें कि 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 App Store पर फिर से रिलीज़ करें.
4.6.0 पर अपग्रेड करने के बाद, मेरे डिवाइस चुनने के कस्टम टूल में डिवाइस क्यों नहीं दिख रहे हैं?
यह एक ऐसी समस्या है जो तब हो सकती है, जब डिवाइस चुनने के स्टैंडर्ड टूल के बजाय, डिवाइस चुनने के किसी कस्टम टूल का इस्तेमाल किया जा रहा हो. Cast SDK के 4.4.8 और इससे पहले के वर्शन में, डिवाइस स्कैनिंग की प्रोसेस अपने-आप होती थी. वर्शन
4.6.0 से, डिवाइस ढूंढने की प्रोसेस शुरू करने के लिए, आपको startDiscovery
तरीके को
GCKDiscoveryManager क्लास पर साफ़ तौर पर कॉल करना होगा.
इस बदलाव की वजह यह है कि ऐप्लिकेशन के पहली बार स्कैन करने के बाद, लोकल नेटवर्क ऐक्सेस (एलएनए) अनुमतियों का प्रॉम्प्ट दिखेगा. इससे, आपके ऐप्लिकेशन में अनुमतियों के डायलॉग, अलग-अलग जगहों पर दिख सकते हैं.
अपने ऐप्लिकेशन के लिए डिवाइस चुनने का कस्टम टूल बनाने वाले डेवलपर से यह उम्मीद की जाती है कि वे iOS 14 में पहली बार डिवाइस स्कैनिंग की प्रोसेस शुरू करने से पहले, एक बार दिखने वाला इंटरस्टीशियल उपलब्ध कराएंगे.
iOS 13
iOS 13 में, अनुमतियों से जुड़ी नई ज़रूरी शर्तें लागू की गई हैं. इससे, Google Cast SDK का इस्तेमाल करने वाले ऐप्लिकेशन पर असर पड़ता है.
Google Cast SDK के 4.4.3 वर्शन से, एक और SDK उपलब्ध है. इसके लिए, Bluetooth® की अनुमति की ज़रूरत नहीं होती. यह डेवलपर
साइट और नए
google-cast-sdk-no-bluetooth Cocoapods, दोनों पर उपलब्ध है.
ऐप्लिकेशन की जानकारी
यहां, iOS SDK के उस वर्शन के हिसाब से जानकारी दी गई है जिसका इस्तेमाल फ़िलहाल किया जा रहा है:
iOS 12 SDK या इससे पहले के वर्शन का इस्तेमाल करके बनाए गए ऐप्लिकेशन
- यह कार्रवाई करने का सुझाव दिया जाता है. iOS 13 पर चलाने पर, डिवाइस डिस्कवरी की परफ़ॉर्मेंस कम हो सकती है. हालांकि, यह सुविधा काम करती रहेगी. हमारा सुझाव है कि डेवलपर, Cast SDK के 4.4.4 वर्शन पर अपग्रेड करें. यह वर्शन उपलब्ध होने पर ही अपग्रेड किया जा सकता है.
- iOS 13, उपयोगकर्ताओं से ऐप्लिकेशन को Bluetooth® की अनुमतियां देने के लिए कहेगा.
iOS 13 SDK का इस्तेमाल करके बनाए गए ऐप्लिकेशन
- यह कार्रवाई करना ज़रूरी है: Cast SDK के 4.4.4 वर्शन पर अपडेट करें. ऐसा न करने पर, अगर उपयोगकर्ता जगह की जानकारी की अनुमति नहीं देता है, तो Cast बटन नहीं दिखेगा. iOS 13 पर कास्टिंग का बेहतर अनुभव देने के लिए, Cast SDK के 4.4.4 वर्शन पर अपग्रेड करना ज़रूरी है.