اعتبارًا من الإصدار iOS 14، سيفرض نظام التشغيل قيودًا جديدة وأذونات تؤثر في تجربة مستخدمي Cast. وسيؤثّر ذلك أيضًا في كيفية إنشاء حزمة تطوير البرامج (SDK) لنظام التشغيل Cast في تطبيقك. لكي يحافظ تطبيقك على وظائف Cast مع أحدث إصدارات نظام التشغيل iOS، عليك إجراء تعديلات للتعامل مع تغييرات الأذونات هذه.
الإصدار 14 من نظام التشغيل iOS
على المطوّرين تحديث تطبيقات إرسال البث على iOS إلى الإصدار 4.6.0 أو إصدار أحدث من حزمة تطوير البرامج (SDK) لنظام Google Cast. توفّر هذه الإصدارات إمكانية استخدام نظام التشغيل iOS 14 ومتطلباته.
اعتبارًا من الإصدار iOS 14، ستطلب التطبيقات التي تبحث عن الأجهزة على الشبكة المحلية من المستخدمين الآن من خلال مربّع حوار أذونات لمرة واحدة العثور على devices والاتصال بها على الشبكة المحلية. تستخدم منصة Cast الشبكة المحلية لاكتشاف أجهزة Cast والتحكّم فيها، لذا إذا رفض المستخدم الإذن، لن يتمكّن من بث المحتوى.
لتحسين تجربة المستخدم، نعمل على إجراء بعض التعديلات على حزمة تطوير البرامج (SDK) لتحسين تجربة المستخدم في التطبيقات التي تستخدم أداة اختيار الأجهزة العادية. من خلال هذه التعديلات على تجربة المستخدم، يصبح من الواضح للمستخدمين سبب الحاجة إلى أذونات الوصول إلى الشبكة المحلية، بالإضافة إلى كيفية تفعيل البث في حال تم إيقاف إمكانية الوصول إلى جهاز الشبكة المحلية.
ستستمر التطبيقات التي تم إنشاؤها باستخدام إصدارات من حزمة تطوير البرامج (SDK) لتطبيقات Cast باستخدام الإصدار 4.4.8 أو الإصدارات الأقدم في العمل طالما تم إنشاؤها باستخدام Xcode 11.7 أو الإصدارات الأقدم. إذا كنت بصدد تطوير تطبيق لنظام التشغيل iOS 14 باستخدام Xcode 12 أو إصدار أحدث، ننصحك بالتحديث إلى الإصدار 4.6.0 من حزمة تطوير البرامج (SDK) لنظام التشغيل Cast أو إصدار أحدث لضمان استمرار عمل تطبيق Cast بشكل صحيح.
يمكن تنزيل الإصدار 4.6.0 أو الإصدارات الأحدث من حزمة تطوير البرامج (SDK) لنظام التشغيل iOS من خلال CocoaPods باتّباع خطوات إعداد CocoaPods أو يدويًا باتّباع خطوات الإعداد اليدوي. يتضمّن هذا الإصدار تغييرات على آلية الاكتشاف الأساسية للسماح للتطبيقات التي تم إنشاؤها باستخدام Xcode 12 بالعثور على أجهزة Cast على الشبكة. من المفترض أن يظهر زر البث الآن دائمًا. إذا لم تكن هناك أجهزة متاحة عندما ينقر المستخدم على زر البث، سيظهر مربّع حوار يقدّم إرشادات حول سبب عدم توفّر الأجهزة، بما في ذلك معلومات حول كيفية إعادة تفعيل إذن الوصول إلى الشبكة المحلية.
تغييرات حزمة تطوير البرامج (SDK) لأجهزة البث
بث المحتوى لأول مرّة
في المرة الأولى التي يحاول فيها المستخدم بث المحتوى، سيظهر مربّع حوار داخلي لطلب إذن الوصول إلى الشبكة المحلية (LNA) يوضّح سبب الحاجة إلى إذن الوصول إلى الشبكة المحلية، ثم سيظهر طلب أذونات الوصول إلى الشبكة المحلية على نظام التشغيل iOS المقدَّم من Apple. توضِّح النماذج أدناه عملية الإعداد:
البث غير متاح
بدءًا من الإصدار 4.6.0 من حزمة تطوير البرامج (SDK) لمرسل الرسائل على نظام التشغيل iOS، يظهر زرّ "البث" دائمًا عندما يكون المستخدم متصلاً بشبكة Wi-Fi. عندما تكون أجهزة البث غير متاحة، يؤدي النقر على زر البث إلى عرض مربّع حوار يقدّم للمستخدم رموزاً تشير إلى الأسباب المحتمَلة لعدم توفّر البث، كما هو موضّح في النماذج أدناه:
تحديث تطبيقك على نظام التشغيل iOS 14
-
إضافة حزمة تطوير البرامج (SDK) لنظام التشغيل iOS 4.8.3 من Cast إلى مشروعك
في حال استخدام CocoaPods، استخدِم
pod update
لإضافة حزمة SDK 4.8.3 إلى مشروعك.بخلاف ذلك، استخدِم حزمة تطوير البرامج (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
، مثل وصف اكتشاف البث وخدمات الاكتشاف الأخرى، مثل DIAL.ستظهر هذه الرسالة كجزء من مربّع حوار "الوصول إلى الشبكة المحلية" في نظام التشغيل iOS كما هو موضح في التصميم.
-
إعادة إصدار تطبيقك على Apple App Store
ننصحك أيضًا بإعادة إصدار تطبيقك باستخدام الإصدار 4.8.3 في أقرب وقت ممكن.
عمليات التخصيص
بدء عملية اكتشاف أجهزة البث
يتم تلقائيًا بدء اكتشاف أجهزة البث في المرة الأولى التي ينقر فيها المستخدم
على زر البث (GCKUICastButton
). إذا كانت هذه هي المرة الأولى التي يحاول فيها المستخدم
استخدام تطبيق البث على الشبكة المحلية بعد الترقية إلى iOS
14، سيظهر إعلان LNA البيني الجديد، متبوعًا بمربّع حوار iOS Local Network
Access permissions (أذونات الوصول إلى الشبكة المحلية).
تتوفّر علامة جديدة تتيح لك التحكّم في وقت بدء اكتشاف الأجهزة وسلوك عناصر معيّنة من تجربة المستخدم:
startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)
تكون القيمة التلقائية true
. لا تنطبق هذه العلامة إلا عند ضبط العلامة
GCKCastOptions::disableDiscoveryAutostart
على false
.
في حال ضبط القيمة على true
، تبدأ ميزة "استكشاف أجهزة البث" عندما ينقر المستخدم على رمز
GCKUICastButton
للمرة الأولى. سيتم عرض رسالة معلوماتية
للمستخدم لإعلامه بالسبب الذي يستدعي منح إذن الوصول إلى الشبكة المحلية. بعد هذه الرسالة، سيتم عرض رسالة طلب الموافقة على معالجة البيانات في نظام التشغيل iOS 14.
يبدأ استكشاف أجهزة البث بعد تأكيد الرسالة.
في عمليات تشغيل التطبيق اللاحقة، يظهر الرمز GCKUICastButton
دائمًا.
في حال ضبط القيمة على false
، سيبدأ اكتشاف الأجهزة استنادًا إلى قيمة العلامة
GCKCastOptions::disableDiscoveryAutostart
.
الأسئلة الشائعة
ماذا يحدث إذا أعدت إصدار تطبيق إرسال البث باستخدام الإصدار 4.4.8 من حزمة تطوير البرامج (SDK) لنظام البث وXcode 12؟
قد لا يتمكّن تطبيقك من اكتشاف أجهزة Cast على الشبكة المحلية ما لم تحصل على إذن بالبث المتعدد على الشبكة من Apple. يُرجى العلم أنّ Apple لن تمنح أذونات البث المتعدد بغرض إتاحة ميزة Cast فقط. إذا كنت تخطّط لاستخدام Xcode 12 لإنشاء التطبيق، يجب إصداره باستخدام الإصدار 4.6.0 من Cast.
إذا أعدت إصدار تطبيقي باستخدام حزمة تطوير البرامج (SDK) الجديدة لبث الوسائط، ما هو الإصدار الذي سيحصل عليه المستخدمون الذين يستخدمون الإصدار 13 من نظام التشغيل iOS أو الإصدارات الأقدم؟
وسيستمر ظهور تجربة المستخدم نفسها التي كانت متاحة لهم قبل إعادة إصدار تطبيقك. تقتصر التغييرات التي تظهر للمستخدمين على المستخدمين الذين يستخدمون نظام التشغيل iOS 14.
ما الذي عليّ فعله لتحديث تطبيقي بعد طرح الإصدار الجديد من حزمة تطوير البرامج (SDK) لتطبيقات البث؟
- عدِّل
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.
الإصدار 13 من نظام التشغيل iOS
مع نظام التشغيل iOS 13، تمّت إضافة متطلبات جديدة للأذونات تؤثر في التطبيقات التي تستخدم حزمة تطوير البرامج (SDK) لنظام Google Cast.
بدءًا من الإصدار 4.4.3 من حزمة Google Cast SDK، تتوفّر حزمة SDK إضافية لاتطلب إذنًا بالوصول إلى البلوتوث®. يتوفّر هذا الإجراء على موقع المطوّرين وعلى الإصدار الجديد من 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) لبث الوسائط، وإلا قد لا يظهر زر البث إذا لم يمنح المستخدم الإذن بالوصول إلى الموقع الجغرافي. يجب الترقية إلى الإصدار 4.4.4 من حزمة تطوير البرامج (SDK) لبث الوسائط لضمان تجربة بث موثوقة على نظام التشغيل iOS 13.