iOS 14 से, ऑपरेटिंग सिस्टम नई पाबंदियां और अनुमतियां लागू करेगा. इससे Cast करने वाले उपयोगकर्ता के अनुभव पर असर पड़ेगा. इससे, आपके ऐप्लिकेशन में Cast SDK को बनाने के तरीके पर भी असर पड़ेगा. iOS के नए वर्शन के साथ Cast करने की सुविधा को बनाए रखने के लिए, आपको इन अनुमतियों में हुए बदलावों को मैनेज करने के लिए अपडेट करने होंगे.
iOS 14
डेवलपर को अपने iOS Cast sender ऐप्लिकेशन को Google Cast SDK v4.6.0 या इसके बाद के वर्शन पर अपडेट करना चाहिए. इन वर्शन में, iOS 14 और इसकी ज़रूरी शर्तों के लिए सहायता मिलती है.
iOS 14 से, लोकल नेटवर्क पर डिवाइसों को स्कैन करने वाले ऐप्लिकेशन, उपयोगकर्ताओं को एक बार अनुमति देने के लिए डायलॉग बॉक्स दिखाएंगे. इससे वे लोकल नेटवर्क पर मौजूद डिवाइसों को ढूंढ पाएंगे और उनसे कनेक्ट कर पाएंगे. Cast प्लैटफ़ॉर्म, Cast की सुविधा वाले डिवाइसों को ढूंढने और उन्हें कंट्रोल करने के लिए लोकल नेटवर्क का इस्तेमाल करता है. इसलिए, अगर उपयोगकर्ता अनुमति नहीं देता है, तो वह कास्ट नहीं कर पाएगा.
उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, हम उन ऐप्लिकेशन के एसडीके में यूज़र एक्सपीरियंस से जुड़े कुछ बदलाव कर रहे हैं जो स्टैंडर्ड डिवाइस पिकर का इस्तेमाल कर रहे हैं. यूज़र एक्सपीरियंस में किए गए इन बदलावों से, उपयोगकर्ताओं को यह साफ़ तौर पर पता चलता है कि लोकल नेटवर्क ऐक्सेस करने की अनुमतियों की ज़रूरत क्यों है. साथ ही, अगर लोकल नेटवर्क डिवाइस ऐक्सेस करने की सुविधा बंद है, तो कास्टिंग की सुविधा को चालू करने का तरीका भी पता चलता है.
Cast SDK के ऐसे वर्शन का इस्तेमाल करके बनाए गए ऐप्लिकेशन जो v4.4.8 या इससे पहले के वर्शन का इस्तेमाल करते हैं वे तब तक काम करते रहेंगे, जब तक उन्हें Xcode 11.7 या इससे पहले के वर्शन का इस्तेमाल करके बनाया गया हो. अगर आपको iOS 14 के लिए Xcode 12 या इसके बाद के वर्शन का इस्तेमाल करके ऐप्लिकेशन बनाना है, तो हमारा सुझाव है कि आप Cast SDK के 4.6.0 या इसके बाद के वर्शन पर अपडेट करें. इससे यह पक्का किया जा सकेगा कि आपका Cast ऐप्लिकेशन ठीक से काम करता रहे.
Cast iOS SDK के 4.6.0 या इसके बाद के वर्शन को CocoaPods से डाउनलोड किया जा सकता है. इसके लिए, CocoaPods सेटअप को फ़ॉलो करें. इसके अलावा, इसे मैन्युअल तरीके से भी डाउनलोड किया जा सकता है. इसके लिए, मैन्युअल सेटअप को फ़ॉलो करें. इस रिलीज़ में, डिवाइसों का पता लगाने के तरीके में बदलाव किए गए हैं. इससे Xcode 12 का इस्तेमाल करके बनाए गए ऐप्लिकेशन, नेटवर्क पर Cast की सुविधा वाले डिवाइसों का पता लगा सकेंगे. अब कास्ट बटन हमेशा दिखेगा. अगर उपयोगकर्ता के Cast बटन पर टैप करने पर कोई डिवाइस उपलब्ध नहीं है, तो एक डायलॉग दिखेगा. इसमें यह जानकारी दी जाएगी कि डिवाइस क्यों उपलब्ध नहीं हो सकते. इसमें यह भी बताया जाएगा कि लोकल नेटवर्क ऐक्सेस करने की अनुमति को फिर से कैसे चालू करें.
Cast SDK टूल में हुए बदलाव
पहली बार कास्ट करना
जब कोई उपयोगकर्ता पहली बार कास्ट करने की कोशिश करता है, तब उसे लोकल नेटवर्क ऐक्सेस (एलएनए) वाला इंटरस्टीशियल डायलॉग दिखेगा. इसमें बताया जाएगा कि लोकल नेटवर्क ऐक्सेस क्यों ज़रूरी है. इसके बाद, Apple की ओर से उपलब्ध कराए गए iOS के लोकल नेटवर्क ऐक्सेस की अनुमतियों का प्रॉम्प्ट दिखेगा. नीचे दिए गए मॉकअप में, फ़्लो को दिखाया गया है:

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

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