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 बटन पर टैप करने पर एक डायलॉग दिखता है. इसमें उपयोगकर्ता को Cast की सुविधा उपलब्ध न होने की संभावित वजहों के बारे में जानकारी मिलती है. यह जानकारी, यहां दिए गए मॉकअप में दिखाई गई है:

iOS 14 पर अपने ऐप्लिकेशन को अपडेट करना
-
अपने प्रोजेक्ट में Cast iOS SDK 4.8.4 जोड़ना
CocoaPods का इस्तेमाल करने पर, अपने प्रोजेक्ट में 4.8.4 SDK जोड़ने के लिए,
pod updateका इस्तेमाल करें.इसके अलावा, SDK को मैन्युअल तरीके से पुल करें.
-
अपने
Info.plistमेंNSBonjourServicesजोड़नाiOS 14 पर लोकल नेटवर्क डिस्कवरी की सुविधा को चालू करने के लिए, अपने
Info.plistमेंNSBonjourServicesकी जानकारी दें.डिवाइस ढूंढने की सुविधा को ठीक से काम करने के लिए, आपको
_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 वर्शन पर अपग्रेड करना ज़रूरी है.