أذونات واستكشاف المحتوى في نظام التشغيل iOS

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

الإصدار 14 من نظام التشغيل iOS

على المطوّرين تحديث تطبيقات المُرسِلين "إرسال نظام التشغيل iOS" إلى حزمة تطوير البرامج لتكنولوجيا Google Cast الإصدار 4.6.0 أو إصدار أحدث. تتوافق هذه الإصدارات مع نظام التشغيل iOS 14 ومتطلباته.

بدءًا من نظام التشغيل iOS 14، فإن التطبيقات التي تبحث عن أجهزة على الشبكة المحلية سيطلب الآن من المستخدمين العثور على التطبيقات والاتصال بها من خلال مربّع حوار أذونات لمرّة واحدة أجهزة الشبكة المحلية. تستخدم منصة Cast الشبكة المحلية لاكتشاف التحكّم في أجهزة البث، وبالتالي إذا رفض المستخدم الإذن، لن يتمكن من إجراء ما يلي: البثّ

لتحسين تجربة المستخدم، نُجري بعض التعديلات على تجربة المستخدم في حزمة تطوير البرامج (SDK). لتلك التطبيقات التي تستخدم أداة الاختيار العادية للأجهزة تعديلات تجربة المستخدم هذه توضيح سبب الحاجة إلى أذونات الوصول إلى الشبكة المحلية، وكذلك كيفية تفعيل البث إذا تم السماح بالوصول إلى أجهزة الشبكة المحلية غير مفعّل.

ستستمرّ التطبيقات التي تم إنشاؤها باستخدام إصدارات حزمة تطوير البرامج (SDK) لتكنولوجيا Cast باستخدام الإصدار 4.4.8 أو الإصدارات الأقدم. للعمل طالما أنها مصممة باستخدام Xcode 11.7 أو أقدم. إذا كنت إصدار iOS 14 مع Xcode 12 أو الإصدارات الأحدث، ننصحك بالتحديث إلى Cast الإصدار 4.6.0 أو إصدار أحدث من حزمة تطوير البرامج (SDK) لضمان استمرار عمل تطبيق البث على النحو المطلوب.

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

التغييرات التي طرأت على حزمة تطوير البرامج (SDK) للإرسال

البثّ لأول مرة

في المرة الأولى التي يحاول فيها أحد المستخدمين البث، عبر الاتصال بشبكة محلية (LNA) سيظهر مربّع حوار بيني لشرح سبب صعوبة الوصول إلى الشبكات المحلية مطلوبة، متبوعة بأذونات الوصول إلى الشبكة المحلية لنظام التشغيل iOS التي توفّرها Apple مطالبة. توضح النماذج التجريبية أدناه التدفق:

مسار أذونات الوصول إلى الشبكة المحلية

البث غير متاح

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

التدفق مع البثّ غير متاح

تحديث تطبيقك على الإصدار 14 من نظام التشغيل iOS

  1. إضافة الإصدار 4.8.1 من حزمة تطوير البرامج (SDK) لنظام التشغيل iOS لخدمة Cast إلى مشروعك

    في حال استخدام CocoaPods، استخدِم pod update لإضافة حزمة تطوير البرامج (SDK) 4.8.1 إلى مشروعك.

    وإلا، سحب حزمة SDK يدويًا

  2. إضافة "NSBonjourServices" إلى "Info.plist"

    حدِّد NSBonjourServices في Info.plist من أجل يتيح اكتشاف الشبكات المحلية بنجاح على نظام التشغيل iOS 14.

    ستحتاج إلى إضافة كل من _googlecast._tcp _<your-app-id>._googlecast._tcp كخدمات للجهاز الاكتشاف لتعمل بشكل صحيح.

    معرِّف appID هو معرِّف المُستلِم، وهو المعرِّف نفسه المحدَّد في GCKDiscoveryCriteria

    تعديل التعريف التالي في المثال NSBonjourServices استبدال "ABCD1234" باستخدام appID.

    &lt;key&gt;NSBonjourServices&lt;/key&gt;
    &lt;array&gt;
      &lt;string&gt;_googlecast._tcp&lt;/string&gt;
      &lt;string&gt;_ABCD1234._googlecast._tcp&lt;/string&gt;
    &lt;/array&gt;
  3. إضافة NSLocalNetworkUsageDescription إلى Info.plist

    ننصحك بشدة بتخصيص الرسالة التي تظهر في الدليل المحلي إشعار الشبكة من خلال إضافة سلسلة إذن خاص بالتطبيق في قسم ملف Info.plist NSLocalNetworkUsageDescription مثل وصف البث وخدمات الاكتشاف الأخرى مثل DIAL.

    &lt;key&gt;NSLocalNetworkUsageDescription&lt;/key&gt;
    <string>${PRODUCT_NAME} يستخدم الشبكة المحلية لاكتشاف الأجهزة التي تعمل بتكنولوجيا Google Cast على شبكة Wi-Fi الخاصة بك.
    شبكة.</string>

    وستظهر هذه الرسالة كجزء من مربع حوار "الوصول إلى الشبكة المحلية" في iOS باسم كما هو موضح في النموذج التجريبي.

    صورة مربّع حوار أذونات الوصول إلى الشبكة المحلية
  4. إعادة إصدار تطبيقك في Apple App Store

    نوصي أيضًا بإعادة إصدار تطبيقك باستخدام الإصدار 4.8.1 في أقرب وقت ممكن.

عمليات التخصيص

بدء اكتشاف جهاز البث

يتم تلقائيًا بدء اكتشاف أجهزة البث في المرة الأولى التي ينقر فيها المستخدم على زر البث (GCKUICastButton). إذا كانت هذه هي المرة الأولى التي يمتلك فيها المستخدم محاولة استخدام تطبيق البث على الشبكة المحلية بعد الترقية إلى نظام التشغيل iOS 14، سيظهر الإعلان البيني الجديد LNA متبوعًا بشبكة iOS المحلية مربّع حوار أذونات الوصول

تتوفّر علامة جديدة تتيح لك التحكّم في وقت بدء اكتشاف الأجهزة. وسلوك عناصر معينة من تجربة المستخدم:

startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)

تكون القيمة التلقائية true. لا تسري هذه العلامة إلا عند وضع العلامة GCKCastOptions::disableDiscoveryAutostart تم ضبطها على false.

في حال ضبط هذه السياسة على true، تبدأ عملية اكتشاف أجهزة البث عندما ينقر المستخدم على GCKUICastButton للمرة الأولى. سيتم إنشاء رسالة إعلامية يتم عرضه للمستخدم لإعلامه بسبب منح إذن الوصول إلى الشبكة المحلية احتاجت. بعد هذه الرسالة، سيتم عرض رسالة LNA لنظام التشغيل iOS 14. يبدأ اكتشاف جهاز البث بعد الإقرار بالرسالة.

في عمليات تشغيل التطبيق اللاحقة، يتم عرض GCKUICastButton دائمًا.

في حال ضبط هذه السياسة على false، ستبدأ ميزة "اكتشاف الأجهزة" في البدء استنادًا إلى قيمة علم GCKCastOptions::disableDiscoveryAutostart

الأسئلة الشائعة

ماذا يحدث إذا أعدت إصدار هل تريد إرسال تطبيق الإرسال باستخدام الإصدار 4.4.8 وXcode 12 من Cast SDK؟

قد لا يتمكّن تطبيقك من اكتشاف أجهزة البث على الشبكة المحلية. ما لم تحصل على إذن استخدام بث متعدّد شبكي من Apple. يُرجى العِلم أنّ شركة Apple لن تمنح أذونات البث المتعدد إلا والغرض من دعم البثّ. إذا كنت تخطط للإنشاء باستخدام Xcode 12، يجب طرح تطبيقك باستخدام الإصدار 4.6.0 من Cast

إذا أعدتُ إصدار تطبيقي باستخدام حزمة تطوير البرامج (SDK) الجديدة لتكنولوجيا Cast، فما هل سيكون بإمكان المستخدمين استخدام نظام التشغيل iOS 13 أو الإصدارات الأقدم؟

سيستمرون في مشاهدة تجربة المستخدم نفسها التي كانت لديهم قبل إعادة إصدار تطبيقك. تقتصر التغييرات المرئية للمستخدم على المستخدمين يعمل بنظام التشغيل iOS 14.

ما هو الإجراء الذي عليّ اتخاذه لتحديث تطبيقي بعد إصدار من حزمة تطوير البرامج (SDK) للإرسال؟

  • يُرجى تحديث Info.plist في تطبيقك لتضمين شبكة محلية. وصف الاستخدام.
  • إضافة "NSBonjourServices" إلى حساب تطبيقك Info.plist وتقديم أسماء خدمة Bonjour لـ Cast ومعرّف التطبيق.
  • عليك ترقية تطبيق المرسِل لاستخدام الإصدار 4.6.0 من حزمة تطوير البرامج (SDK) لتكنولوجيا الإرسال.
  • إعادة إصدار تطبيقك في Apple App Store.

لماذا توقف ظهور الأجهزة في جهازي المخصّص؟ المنتقي بعد الترقية إلى 4.6.0؟

هذه مشكلة معروفة قد تحدث في حال استخدام جهاز مخصّص. أداة اختيار بدلاً من أداة اختيار الأجهزة العادية وفي الإصدار 4.4.8 من تم إجراء فحص الأجهزة تلقائيًا في إصدار سابق من حزمة تطوير البرامج (SDK) لتكنولوجيا Google Cast. البدء في الإصدار 4.6.0، ستحتاج إلى طلب startDiscovery صراحةً. على GCKDiscoveryManager لبدء اكتشاف الأجهزة.

يرجع سبب هذا التغيير إلى أن ميزة الوصول إلى الشبكة المحلية (LNA) ستظهر رسالة طلب الأذونات بعد أن يفحص التطبيق الوقت. قد يؤدي هذا الإجراء إلى ظهور مربّعات حوار الأذونات في أماكن عشوائية. في تطبيقك.

سيتمكّن المطوّرون الذين ينشئون أداة اختيار أجهزة مخصّصة لتطبيقاتهم من من المتوقّع توفير إعلان بيني لمرة واحدة قبل إغلاق الجهاز الذي يجري فحصه لأول مرة في iOS 14.

الإصدار 13 من نظام التشغيل iOS

أمّا مع نظام التشغيل iOS 13، فقد تم تقديم متطلبات أذونات جديدة من شأنها التأثير في التطبيقات التي تستخدم Google Cast SDK.

بدءًا من الإصدار 4.4.3 من حزمة تطوير البرامج (SDK) لتكنولوجيا Google Cast، تتوفّر حزمة تطوير برامج (SDK) إضافية تتيح لا تتطلب إذن Bluetooth®. تتوفّر هذه الميزة على حساب المطوّر موقعك الإلكتروني وعلى الإصدار الجديد google-cast-sdk-no-bluetooth كوكاكوابوداس.

تفاصيل التطبيق

في ما يلي شرح تفصيلي بناءً على إصدار حزمة تطوير البرامج (SDK) لنظام التشغيل iOS الذي تستخدمه حاليًا. باستخدام:

التطبيقات التي تم إنشاؤها باستخدام حزمة تطوير البرامج (SDK) لنظام التشغيل iOS 12 أو الإصدارات الأقدم

  • يُنصح باتخاذ إجراء. يمكن أن ينخفض أداء استكشاف الأجهزة في الحالات التالية يعمل بنظام التشغيل iOS 13، ولكنه سيظل يعمل. ننصحك بشدة يعمل المطوّرون على الترقية إلى الإصدار 4.4.4 من حزمة تطوير البرامج (SDK) لتكنولوجيا Google Cast عند توفّرها.
  • سيطلب iOS 13 من المستخدمين منح أذونات Bluetooth® للتطبيق.

التطبيقات التي تم إنشاؤها باستخدام حزمة تطوير البرامج (SDK) لنظام التشغيل iOS 13

  • مطلوب اتخاذ إجراء: التحديث إلى الإصدار 4.4.4 من حزمة تطوير البرامج (SDK) بتكنولوجيا Google Cast وإلا قد يتعذّر إرسال زر البث إذا لم يمنح المستخدم إذن تحديد الموقع الجغرافي جارٍ الترقية إلى حزمة تطوير البرامج (SDK) الخاصة بـ Cast تُعدّ الموافقة 4.4.4 ضرورية لضمان تقديم تجربة بث موثوقة على نظام التشغيل iOS 13.