بدءًا من iOS 14، سيفرض نظام التشغيل قيودًا وأذونات جديدة تؤثر في تجربة المستخدم في Cast. وسيؤثر أيضًا في طريقة تضمين حزمة Cast SDK في تطبيقك. للحفاظ على وظائف Cast في تطبيقك باستخدام أحدث إصدارات iOS، عليك إجراء تحديثات للتعامل مع تغييرات الأذونات هذه.
iOS 14
على المطوّرين تحديث تطبيقات إرسال Cast على iOS إلى الإصدار 4.6.0 أو إصدار أحدث من حزمة Google Cast SDK. توفّر هذه الإصدارات الدعم لنظام التشغيل iOS 14 ومتطلباته.
بدءًا من iOS 14، ستطلب التطبيقات التي تبحث عن الأجهزة على الشبكة المحلية من المستخدمين الآن منح الأذونات مرة واحدة للعثور على أجهزة الشبكة المحلية والاتصال بها. تستخدم منصة Cast الشبكة المحلية لاكتشاف أجهزة Cast والتحكّم فيها، لذا إذا رفض المستخدم منح الإذن، لن يتمكّن من البث.
لتحسين تجربة المستخدم، نُجري بعض التعديلات على تجربة المستخدم في حزمة SDK لتلك التطبيقات التي تستخدم أداة اختيار الأجهزة العادية. توضّح هذه التعديلات للمستخدمين سبب الحاجة إلى أذونات الوصول إلى الشبكة المحلية، بالإضافة إلى كيفية تفعيل البث إذا تم إيقاف الوصول إلى أجهزة الشبكة المحلية.
ستستمر التطبيقات التي تم إنشاؤها باستخدام إصدارات حزمة Cast SDK التي تستخدم الإصدار 4.4.8 أو إصدارًا أقدم في العمل طالما تم إنشاؤها باستخدام Xcode 11.7 أو إصدارًا أقدم. إذا كنت تُنشئ تطبيقات لنظام التشغيل iOS 14 باستخدام Xcode 12 أو إصدارًا أحدث، ننصحك بالتحديث إلى الإصدار 4.6.0 أو إصدارًا أحدث من حزمة Cast SDK لضمان استمرار عمل تطبيق Cast بشكلٍ سليم.
يمكن تنزيل الإصدار 4.6.0 أو إصدار أحدث من حزمة Cast iOS SDK باستخدام CocoaPods باتّباع إعداد CocoaPods أو يدويًا باتّباع الإعداد اليدوي. يتضمّن هذا الإصدار تغييرات على آلية الاكتشاف الأساسية للسماح للتطبيقات التي تم إنشاؤها باستخدام Xcode 12 بالعثور على أجهزة Cast على الشبكة. يجب أن يظهر زر البث الآن دائمًا. إذا لم تكن أي أجهزة متاحة عندما ينقر المستخدم على زر Cast، سيظهر مربّع حوار يقدّم إرشادات حول سبب عدم توفّر الأجهزة، بما في ذلك معلومات حول كيفية إعادة تفعيل إذن الوصول إلى الشبكة المحلية.
تغييرات حزمة Cast SDK
البث للمرة الأولى
في المرة الأولى التي يحاول فيها المستخدم البث، سيظهر مربّع حوار إعلاني بيني للوصول إلى الشبكة المحلية (LNA) يوضّح سبب الحاجة إلى الوصول إلى الشبكة المحلية، يليه طلب أذونات الوصول إلى الشبكة المحلية على iOS الذي تقدّمه Apple. توضّح النماذج أدناه المسار:

Cast غير متاح
بدءًا من الإصدار 4.6.0 من حزمة SDK لإرسال Cast على iOS، يظهر زر البث دائمًا عندما يكون المستخدم متصلاً بشبكة Wi-Fi. عندما لا تكون أجهزة البث متاحة، يؤدي النقر على زر البث إلى ظهور مربّع حوار يقدّم للمستخدم تلميحات حول الأسباب المحتملة لعدم توفّر Cast، كما هو موضّح في النماذج أدناه:

تحديث تطبيقك على iOS 14
-
أضِف الإصدار 4.8.6 من حزمة Cast iOS SDK إلى مشروعك
في حال استخدام CocoaPods، استخدِم
pod updateلإضافة حزمة SDK 4.8.6 إلى مشروعك.بخلاف ذلك، يمكنك جلب حزمة SDK يدويًا.
-
أضِف
NSBonjourServicesإلىInfo.plistحدِّد
NSBonjourServicesفي ملفInfo.plistللسماح بنجاح عملية اكتشاف الشبكة المحلية على iOS 14.عليك إضافة كل من
_googlecast._tcpو_<your-app-id>._googlecast._tcpكخدمات لكي تعمل عملية اكتشاف الأجهزة بشكلٍ سليم.معرّف التطبيق هو معرّف جهاز الاستقبال، وهو المعرّف نفسه الذي تم تحديده في
GCKDiscoveryCriteria.عدِّل تعريف
NSBonjourServicesفي المثال التالي واستبدِل "ABCD1234" بمعرّف التطبيق. -
أضِف
NSLocalNetworkUsageDescriptionإلىInfo.plistننصحك بشدة بتخصيص الرسالة المعروضة في طلب الشبكة المحلية من خلال إضافة سلسلة أذونات خاصة بالتطبيق في ملف
Info.plistلتطبيقك من أجلNSLocalNetworkUsageDescription، مثل وصف عملية اكتشاف Cast وخدمات الاكتشاف الأخرى، مثل DIAL.ستظهر هذه الرسالة كجزء من مربّع حوار الوصول إلى الشبكة المحلية على iOS كما هو موضّح في النموذج.
-
أعِد نشر تطبيقك في Apple App Store
ننصحك أيضًا بإعادة نشر تطبيقك باستخدام الإصدار 4.8.6 في أقرب وقت ممكن.
عمليات التخصيص
بدء عملية اكتشاف أجهزة البث
تلقائيًا، تبدأ عملية اكتشاف أجهزة Cast في المرة الأولى التي ينقر فيها المستخدم على زر البث (GCKUICastButton). إذا كانت هذه هي المرة الأولى التي يحاول فيها المستخدم استخدام تطبيق Cast على الشبكة المحلية بعد الترقية إلى iOS 14، سيظهر الإعلان البيني الجديد للوصول إلى الشبكة المحلية، يليه مربّع حوار أذونات الوصول إلى الشبكة المحلية على iOS.
يتوفّر علَم جديد يسمح لك بالتحكّم في وقت بدء عملية اكتشاف الأجهزة وسلوك عناصر معيّنة في تجربة المستخدم:
startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)
القيمة التلقائية هي true. لا ينطبق هذا العلَم إلا عندما يكون العلَم
GCKCastOptions::disableDiscoveryAutostart
مضبوطًا على false.
إذا تم ضبطه على true، تبدأ عملية اكتشاف أجهزة البث عندما ينقر المستخدم على GCKUICastButton للمرة الأولى. سيتم عرض رسالة إعلامية للمستخدم لإعلامه بسبب الحاجة إلى إذن الوصول إلى الشبكة المحلية. بعد هذه الرسالة، سيتم عرض رسالة الوصول إلى الشبكة المحلية على iOS 14.
تبدأ عملية اكتشاف أجهزة البث بعد تأكيد الرسالة.
في عمليات تشغيل التطبيق اللاحقة، يظهر GCKUICastButton دائمًا.
إذا تم ضبطه على false، ستبدأ عملية اكتشاف الأجهزة استنادًا إلى قيمة الـ
علم
GCKCastOptions::disableDiscoveryAutostart.
الأسئلة الشائعة
ماذا يحدث إذا أعدت نشر تطبيق إرسال Cast باستخدام الإصدار 4.4.8 من حزمة Cast SDK وXcode 12؟
قد لا يتمكّن تطبيقك من اكتشاف أجهزة Cast على الشبكة المحلية ما لم تحصل على إذن البث المتعدد على الشبكة من Apple. يُرجى العِلم أنّ Apple لن تمنح أذونات البث المتعدد لغرض دعم Cast فقط. إذا كنت تخطط للإنشاء باستخدام Xcode 12، عليك نشر تطبيقك باستخدام Cast 4.6.0.
إذا أعدت نشر تطبيقي باستخدام حزمة Cast SDK الجديدة، ما هي التجربة التي سيحصل عليها المستخدمون الذين يعملون على iOS 13 أو إصدار أقدم؟
سيستمرون في رؤية تجربة المستخدم نفسها التي كانت لديهم قبل إعادة نشر تطبيقك. تقتصر التغييرات المرئية للمستخدم على المستخدمين الذين يعملون على iOS 14.
ما الذي عليّ فعله لتحديث تطبيقي بعد إصدار الإصدار الجديد من حزمة Cast SDK؟
- حدِّث ملف
Info.plistلتطبيقك لتضمين وصفًا لاستخدام الشبكة المحلية - أضِف
NSBonjourServicesإلىInfo.plistلتطبيقك وقدِّم أسماء خدمة Bonjour لـ Cast ومعرّف تطبيقك. - رقِّ حزمة SDK لتطبيق الإرسال إلى الإصدار 4.6.0 من حزمة Cast SDK.
- أعِد نشر تطبيقك في Apple App Store.
لماذا توقّفت الأجهزة عن الظهور في أداة اختيار الأجهزة المخصّصة بعد الترقية إلى الإصدار 4.6.0؟
هذه مشكلة معروفة يمكن أن تحدث إذا كنت تستخدم أداة اختيار أجهزة مخصّصة
بدلاً من أداة اختيار الأجهزة العادية. في الإصدار 4.4.8 من
حزمة Cast SDK والإصدارات الأقدم، كان مسح الأجهزة تلقائيًا. بدءًا من الإصدار
4.6.0، عليك استدعاء طريقة startDiscovery
بشكلٍ صريح في الفئة
GCKDiscoveryManager لبدء عملية اكتشاف الأجهزة.
يرجع سبب هذا التغيير إلى أنّ طلب أذونات الوصول إلى الشبكة المحلية (LNA) سيظهر بعد أن يتم مسح التطبيق للمرة الأولى. قد يؤدي ذلك إلى ظهور مربّعات حوار الأذونات في أماكن عشوائية في تطبيقك.
على المطوّرين الذين يُنشئون أداة اختيار أجهزة مخصّصة لتطبيقهم تقديم إعلان بيني لمرة واحدة قبل بدء عملية مسح الأجهزة للمرة الأولى في iOS 14.
iOS 13
مع iOS 13، تم تقديم متطلبات أذونات جديدة تؤثر في التطبيقات التي تستخدم حزمة Google Cast SDK.
بدءًا من الإصدار 4.4.3 من حزمة Google Cast SDK، تتوفّر حزمة SDK إضافية لا تتطلب إذن Bluetooth®. تتوفّر هذه الحزمة على موقع المطوّرين وعلى Cocoapods الجديدة
google-cast-sdk-no-bluetooth.
تفاصيل التطبيق
في ما يلي تفاصيل التطبيق استنادًا إلى إصدار حزمة iOS SDK التي تستخدمها حاليًا:
التطبيقات التي تم إنشاؤها باستخدام حزمة iOS 12 SDK أو إصدار أقدم
- الإجراء المقترَح : قد ينخفض أداء عملية اكتشاف الأجهزة عند التشغيل على iOS 13، ولكن سيظل بإمكانك استخدامها. ننصح المطوّرين بشدة بالترقية إلى الإصدار 4.4.4 من حزمة Cast SDK عند توفّره.
- سيطلب iOS 13 من المستخدمين منح أذونات Bluetooth® للتطبيق.
التطبيقات التي تم إنشاؤها باستخدام حزمة iOS 13 SDK
- الإجراء المطلوب: عليك الترقية إلى الإصدار 4.4.4 من حزمة Cast SDK، وإلا قد لا يظهر زر البث إذا لم يمنح المستخدم إذن تحديد الموقع الجغرافي. من الضروري الترقية إلى الإصدار 4.4.4 من حزمة Cast SDK لضمان تجربة بث موثوقة على iOS 13.