فئة GCKSessionManager

مرجع فئة GCKSessionManager

نظرة عامة

صف يدير الجلسات.

تُستخدم الطريقة startSessionWithDevice: (GCKSessionManager) لإنشاء جلسة جديدة مع GCKDevice معين. ويستخدم مدير الجلسة GCKDeviceProvider لنوع الجهاز هذا لإنشاء عنصر GCKSession جديد، والذي يفوّض إليه بعد ذلك جميع طلبات الجلسات.

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

وإذا أنشأ التطبيق GCKUICastButton بدون توفير هدف وأداة اختيار، سيؤدي النقر على الزر إلى عرض مربّع حوار البث التلقائي وبدء الجلسات وإيقافها تلقائيًا استنادًا إلى اختيار المستخدم للجهاز أو قطع اتصاله بالجهاز. مع ذلك، إذا كان التطبيق يوفر واجهة مستخدم خاصة بمربّع حوار اختيار/التحكم في الجهاز، يجب أن يستخدم GCKSessionManager مباشرةً لإنشاء الجلسات والتحكم فيها.

وسواء كان التطبيق يستخدم GCKSessionManager للتحكّم في الجلسات أم لا، يمكنه إرفاق GCKSessionManagerListener ليتم إعلامه بأحداث الجلسات، ويمكنه أيضًا استخدام KVO لمراقبة سمة connectionState لتتبُّع حالة مراحل الجلسة الحالية.

منذ
3.0

تكتسب NSObject.

ملخّص طريقة المثيل

(instancetype) - init
 أداة الإعداد التلقائية غير متوفّرة. المزيد...
 
(BOOL) - startSessionWithDevice:
 بدء جلسة جديدة مع الجهاز المحدّد، باستخدام خيارات الجلسات التلقائية التي تم تسجيلها لفئة الجهاز، إن توفّرت. المزيد...
 
(BOOL) - startSessionWithDevice:sessionOptions:
 بدء جلسة جديدة مع الجهاز والخيارات المحدّدة المزيد...
 
(BOOL) - startSessionWithOpenURLOptions:sessionOptions:
 محاولات انضمام أو بدء جلسة باستخدام الخيارات التي تم توفيرها لطريقة UIApplicationDe::application:openURL:options:. المزيد...
 
(BOOL) - suspendSessionWithReason:
 يعلّق الجلسة الحالية. المزيد...
 
(BOOL) - endSession
 ينهي الجلسة الحالية. المزيد...
 
(BOOL) - endSessionAndStopCasting:
 يتم إنهاء الجلسة الحالية وإيقاف البث في حال توصيل جهاز مُرسِل واحد، وإلا سيتم إيقاف البث إذا كانت هناك أجهزة مُرسِلين متعددة متصلة. المزيد...
 
(BOOL) - hasConnectedSession
 لاختبار ما إذا كانت الجلسة مُدارة حاليًا بواسطة مدير الجلسة هذا، وهي مرتبطة حاليًا. المزيد...
 
(BOOL) - hasConnectedCastSession
 يتم اختبار ما إذا كان مدير الجلسة هذا يدير جلسة البث حاليًا، وهي متصلة حاليًا. المزيد...
 
(void) - setDefaultSessionOptions:forDeviceCategory:
 تتيح هذه السياسة ضبط خيارات الجلسة التلقائية لفئة الجهاز المحدّدة.ويتم تمرير خيارات الجلسة إلى طريقة createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) عندما يختار المستخدم جهازًا من مربّع حوار البث. المزيد...
 
(nullable GCKSessionOptions *) - defaultSessionOptionsForDeviceCategory:
 الحصول على خيارات الجلسة التلقائية لفئة جهاز محدَّدة. المزيد...
 
(void) - addListener:
 لإضافة مستمع لتلقّي الإشعارات المزيد...
 
(void) - removeListener:
 لإزالة مستمع سبق أن تمت إضافته باستخدام addListener:. المزيد...
 

ملخّص الموقع

GCKSessioncurrentSession
 الجلسة الحالية، إن توفّرت. المزيد...
 
GCKCastSessioncurrentCastSession
 جلسة البث الحالية، إن توفّرت. المزيد...
 
GCKConnectionState connectionState
 حالة اتصال الجلسة الحالية. المزيد...
 

تفاصيل الطريقة

- (instancetype) init

أداة الإعداد التلقائية غير متوفّرة.

- (BOOL) startSessionWithDevice: (GCKDevice *)  device

بدء جلسة جديدة مع الجهاز المحدّد، باستخدام خيارات الجلسات التلقائية التي تم تسجيلها لفئة الجهاز، إن توفّرت.

هذه عملية غير متزامنة.

Parameters
deviceThe device to use for this session.
المرتجعات
YES في حال بدء العملية بنجاح، NO إذا كانت هناك جلسة تم إنشاؤها حاليًا أو تعذّر بدء العملية.
- (BOOL) startSessionWithDevice: (GCKDevice *)  device
sessionOptions: (nullable GCKSessionOptions *)  options 

بدء جلسة جديدة مع الجهاز والخيارات المحدّدة

هذه عملية غير متزامنة.

Parameters
deviceThe device to use for this session.
optionsThe options for this session, if any. May be nil.
المرتجعات
YES في حال بدء العملية بنجاح، NO إذا كانت هناك جلسة حالية أو إذا تعذَّر بدء العملية.
منذ
4.0
- (BOOL) startSessionWithOpenURLOptions: (GCKOpenURLOptions *)  openURLOptions
sessionOptions: (nullable GCKSessionOptions *)  sessionOptions 

محاولات انضمام أو بدء جلسة باستخدام الخيارات التي تم توفيرها لطريقة UIApplicationDe::application:openURL:options:.

عادةً ما يكون ذلك طلبًا للانضمام إلى جلسة بث حالية على جهاز معين بدأه تطبيق آخر.

Parameters
openURLOptionsThe options that were extracted from the URL.
sessionOptionsThe options for this session, if any. May be nil.
المرتجعات
YES إذا تم بدء العملية بنجاح، أو NO إذا كانت هناك جلسة حالية، أو إذا كانت خيارات openURL لا تتضمّن خيارات البث المطلوبة.
منذ
4.0
- (BOOL) suspendSessionWithReason: (GCKConnectionSuspendReason reason

يعلّق الجلسة الحالية.

هذه عملية غير متزامنة.

Parameters
reasonThe reason for the suspension.
المرتجعات
YES إذا بدأت العملية بنجاح، NO إذا لم تكن هناك جلسة حاليًا أو إذا تعذّر بدء العملية.
- (BOOL) endSession

ينهي الجلسة الحالية.

هذه عملية غير متزامنة.

المرتجعات
YES إذا بدأت العملية بنجاح، NO إذا لم تكن هناك جلسة حاليًا أو إذا تعذّر بدء العملية.
- (BOOL) endSessionAndStopCasting: (BOOL)  stopCasting

يتم إنهاء الجلسة الحالية وإيقاف البث في حال توصيل جهاز مُرسِل واحد، وإلا سيتم إيقاف البث إذا كانت هناك أجهزة مُرسِلين متعددة متصلة.

استخدِم المعلَمة stopCasting للإشارة إلى ما إذا كان البث على جهاز الاستقبال يجب أن يتوقف عند انتهاء الجلسة. لا تنطبق هذه المعلَمة إلا عند اتصال أجهزة مُرسِل متعددة. على سبيل المثال، يكون التطبيق نفسه مفتوحًا على أجهزة مُرسِل متعددة، ويحتوي كل جهاز مُرسِل على جلسة بث نشطة على جهاز المُستلِم نفسه.

  • في حال ضبط stopCasting على YES، يتوقّف تطبيق جهاز الاستقبال عن البث عند توصيل أجهزة متعدّدة.
  • إذا كانت قيمة stopCasting NO وكانت الأجهزة الأخرى تتضمن جلسة نشطة، سيستمر جهاز الاستقبال في التشغيل.
  • في حال توصيل جهاز مُرسِل واحد فقط، سيتوقّف تطبيق المُستلِم عن بث الوسائط ويتجاهل القيمة stopCasting، حتى إذا تم ضبطها على NO.
Parameters
stopCastingWhether casting on the receiver should stop when the session ends. Only used when multiple sender devices are connected.
المرتجعات
YES إذا بدأت عملية إنهاء الجلسة بنجاح، NO إذا لم تكن هناك جلسة تم إنشاؤها حاليًا أو إذا تعذّر بدء العملية.
- (BOOL) hasConnectedSession

لاختبار ما إذا كانت الجلسة مُدارة حاليًا بواسطة مدير الجلسة هذا، وهي مرتبطة حاليًا.

ستكون هذه القيمة YES إذا كانت حالة الجلسة هي GCKConnectionStateConnected.

- (BOOL) hasConnectedCastSession

يتم اختبار ما إذا كان مدير الجلسة هذا يدير جلسة البث حاليًا، وهي متصلة حاليًا.

ستكون هذه القيمة YES إذا كانت حالة الجلسة هي GCKConnectionStateConnected وكانت الجلسة عبارة عن جلسة بث.

- (void) setDefaultSessionOptions: (nullable GCKSessionOptions *)  sessionOptions
forDeviceCategory: (NSString *)  category 

تتيح هذه السياسة ضبط خيارات الجلسة التلقائية لفئة الجهاز المحدّدة.ويتم تمرير خيارات الجلسة إلى طريقة createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) عندما يختار المستخدم جهازًا من مربّع حوار البث.

بالنسبة إلى جلسات البث، يمكن أن تحدد خيارات الجلسة تطبيق جهاز الاستقبال الذي تريد تشغيله.

Parameters
sessionOptionsThe session options. May be nil to remove any previously set options.
categoryThe device category.
منذ
4.0
- (nullable GCKSessionOptions *) defaultSessionOptionsForDeviceCategory: (NSString *)  category

الحصول على خيارات الجلسة التلقائية لفئة جهاز محدَّدة.

Parameters
categoryThe device category.
المرتجعات
خيارات الجلسة التلقائية أو nil في حال عدم توفّرها
منذ
4.0
- (void) addListener: (id< GCKSessionManagerListener >)  listener

لإضافة مستمع لتلقّي الإشعارات

إنّ أداة معالجة الطلبات التي تمت إضافتها ضعيفة، ويجب الاحتفاظ بها لتجنُّب تخصيص العرض بشكل غير متوقّع.

Parameters
listenerThe listener to add.
- (void) removeListener: (id< GCKSessionManagerListener >)  listener

لإزالة مستمع سبق أن تمت إضافته باستخدام addListener:.

Parameters
listenerThe listener to remove.

تفاصيل الموقع

- (GCKSession*) currentSession
readnonatomicstrong

الجلسة الحالية، إن توفّرت.

- (GCKCastSession*) currentCastSession
readnonatomicstrong

جلسة البث الحالية، إن توفّرت.

- (GCKConnectionState) connectionState
readnonatomicassign

حالة اتصال الجلسة الحالية.