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

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

تحديث تطبيقك على نظام التشغيل iOS 14
-
إضافة حزمة تطوير البرامج (SDK) لنظام التشغيل iOS من Cast الإصدار 4.8.4 إلى مشروعك
في حال استخدام CocoaPods، استخدِم
pod updateلإضافة حزمة SDK الإصدار 4.8.4 إلى مشروعك.بخلاف ذلك، يمكنك جلب حزمة تطوير البرامج (SDK) يدويًا.
-
إضافة
NSBonjourServicesإلىInfo.plistحدِّد
NSBonjourServicesفيInfo.plistللسماح بالبحث عن الأجهزة على الشبكة المحلية بنجاح على نظام التشغيل 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 (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 من حزمة تطوير البرامج (SDK) الخاصة بـ Cast وXcode 12؟
قد لا يتمكّن تطبيقك من اكتشاف أجهزة البث على الشبكة المحلية إلا إذا حصلت على إذن استخدام البث المتعدد على الشبكة من Apple. يُرجى العِلم أنّ Apple لن تمنح أذونات البث المتعدد فقط بغرض إتاحة ميزة Cast. إذا كنت تخطّط للإنشاء باستخدام Xcode 12، عليك طرح تطبيقك باستخدام الإصدار 4.6.0 من Cast.
إذا أعدت طرح تطبيقي باستخدام حزمة تطوير البرامج الجديدة الخاصة بـ Cast، ما هي التجربة التي سيحصل عليها المستخدمون الذين يعملون بنظام التشغيل iOS 13 أو الإصدارات الأقدم؟
وسيستمر ظهور تجربة المستخدم نفسها التي كانت متاحة قبل إعادة إصدار تطبيقك، ولن تظهر التغييرات المرئية للمستخدم إلا على الأجهزة التي تعمل بنظام التشغيل iOS 14.
ما هي الخطوات التي يجب اتّخاذها لتحديث تطبيقي بعد طرح الإصدار الجديد من حزمة تطوير البرامج (SDK) الخاصة بـ Cast؟
- عدِّل
Info.plistفي تطبيقك لتضمين وصف لاستخدام الشبكة المحلية. - أضِف
NSBonjourServicesإلىInfo.plistفي تطبيقك وقدِّم أسماء خدمات Bonjour الخاصة بـ Cast ومعرّف تطبيقك. - ترقية تطبيقك على الجهاز المرسِل لاستخدام الإصدار 4.6.0 من حزمة تطوير البرامج (SDK) لتطبيق Cast
- أعِد طرح تطبيقك في متجر تطبيقات Apple.
لماذا توقّفت الأجهزة عن الظهور في أداة اختيار الأجهزة المخصّصة بعد الترقية إلى الإصدار 4.6.0؟
هذه مشكلة معروفة يمكن أن تحدث إذا كنت تستخدم أداة اختيار أجهزة مخصّصة بدلاً من أداة اختيار الأجهزة العادية. في الإصدار 4.4.8 من حزمة تطوير البرامج (SDK) الخاصة بـ Cast والإصدارات الأقدم، كان فحص الأجهزة يتم تلقائيًا. بدءًا من الإصدار 4.6.0، عليك استدعاء الطريقة startDiscovery بشكل صريح في الفئة
GCKDiscoveryManager لبدء عملية البحث عن الأجهزة.
ويعود سبب هذا التغيير إلى أنّ طلب أذونات "الوصول إلى الشبكة المحلية" (LNA) سيظهر بعد أن يبحث التطبيق للمرة الأولى. وقد يؤدي ذلك إلى ظهور مربّعات حوار الأذونات في مواضع عشوائية داخل تطبيقك.
على المطوّرين الذين ينشئون أداة اختيار أجهزة مخصّصة لتطبيقاتهم تقديم إعلان بيني لمرة واحدة قبل بدء عملية فحص الأجهزة للمرة الأولى في نظام التشغيل iOS 14.
iOS 13
في نظام التشغيل iOS 13، تم تقديم متطلبات جديدة للأذونات تؤثّر في التطبيقات التي تستخدم حزمة تطوير البرامج (SDK) الخاصة بـ Google Cast.
بدءًا من الإصدار 4.4.3 من حزمة تطوير البرامج (SDK) الخاصة بـ Google Cast، تتوفّر حزمة تطوير برامج (SDK) إضافية لا تتطلّب إذن Bluetooth®. تتوفّر هذه الميزة على موقع المطوّرين الإلكتروني وعلى google-cast-sdk-no-bluetooth Cocoapods الجديد.
تفاصيل التطبيق
في ما يلي تفاصيل حسب إصدار حزمة تطوير البرامج (SDK) لنظام التشغيل iOS الذي تستخدمه حاليًا:
التطبيقات التي تم إنشاؤها باستخدام حزمة تطوير البرامج (SDK) لنظام التشغيل iOS 12 أو الإصدارات الأقدم
- الإجراء المقترَح: قد ينخفض أداء ميزة "اكتشاف الأجهزة" عند تشغيلها على نظام التشغيل iOS 13، ولكن ستظل تعمل. ننصح المطوّرين بشدة بالترقية إلى الإصدار 4.4.4 من حزمة تطوير البرامج (SDK) الخاصة بـ Cast عند توفّره.
- سيطلب نظام التشغيل iOS 13 من المستخدمين منح أذونات Bluetooth® للتطبيق.
التطبيقات التي تم إنشاؤها باستخدام حزمة تطوير البرامج (SDK) لنظام التشغيل iOS 13
- يجب اتّخاذ إجراء: يجب التحديث إلى الإصدار 4.4.4 من حزمة تطوير البرامج (SDK) الخاصة بـ Cast، وإلا قد لا يظهر زر البث إذا لم يمنح المستخدم إذن الوصول إلى الموقع الجغرافي. يجب الترقية إلى الإصدار 4.4.4 من Cast SDK لضمان تجربة بث موثوقة على نظام التشغيل iOS 13.