คลาส GCKSessionManager

การอ้างอิงคลาส GCKSessionManager

ภาพรวม

ชั้นเรียนที่จัดการเซสชัน

ใช้วิธีการ startSessionWithDevice: (GCKSessionManager) เพื่อสร้างเซสชันใหม่ด้วย GCKDevice ที่ระบุ ผู้จัดการเซสชันใช้ GCKDeviceProvider สําหรับอุปกรณ์ประเภทนั้นในการสร้างออบเจ็กต์ GCKSession ใหม่ ซึ่งจะมอบสิทธิ์ให้กับคําขอเซสชันทั้งหมด

GCKSessionManager จะจัดการกับเซสชันที่ถูกระงับโดยอัตโนมัติ (เช่น ให้เซสชันที่สิ้นสุดเมื่อแอปพลิเคชันกลับมาทํางานอีกครั้ง หรือในกรณีที่แอปพลิเคชันขัดข้องหรือถูกบังคับให้ผู้ใช้ยุติการทํางาน) เมื่อแอปพลิเคชันกลับมาทํางานอีกครั้งหรือรีสตาร์ท ผู้จัดการเซสชันจะรอเป็นเวลาสั้นๆ เพื่อให้ผู้ให้บริการอุปกรณ์ของเซสชันที่มีการระงับค้นพบอุปกรณ์นั้นอีกครั้ง และหากเป็นเช่นนั้น อุปกรณ์จะพยายามเชื่อมต่อกับอุปกรณ์ดังกล่าวอีกครั้งและเริ่มต้นเซสชันใหม่โดยอัตโนมัติ

หากแอปพลิเคชันสร้าง GCKUICastButton โดยไม่ระบุเป้าหมายและตัวเลือก ผู้ใช้จะเห็นปุ่มที่แสดงกล่องโต้ตอบ "แคสต์" ที่เป็นค่าเริ่มต้น และจะเริ่มและหยุดเซสชันโดยอัตโนมัติตามการเลือกของผู้ใช้หรือยกเลิกการเชื่อมต่ออุปกรณ์ หากแอปพลิเคชันมี UI กล่องโต้ตอบสําหรับเลือก/ควบคุมอุปกรณ์ แอปพลิเคชันควรใช้ GCKSessionManager โดยตรงเพื่อสร้างและควบคุมเซสชัน

ไม่ว่าแอปพลิเคชันจะใช้ GCKSessionManager เพื่อควบคุมเซสชันหรือไม่ก็ตาม ก็สามารถแนบ GCKSessionManagerListener เพื่อรับการแจ้งเตือนเกี่ยวกับเหตุการณ์ของเซสชันได้ และสามารถใช้ KVO เพื่อตรวจสอบพร็อพเพอร์ตี้ connectionState เพื่อติดตามสถานะอายุการใช้งานของเซสชันในปัจจุบันได้ด้วย

Since
3.0

รับค่า NSObject

สรุปเมธอดของอินสแตนซ์

(instancetype) - init
 เครื่องมือเริ่มต้นเริ่มต้นไม่พร้อมใช้งาน เพิ่มเติม...
 
(BOOL) - startSessionWithDevice:
 เริ่มเซสชันใหม่กับอุปกรณ์ที่กําหนดโดยใช้ตัวเลือกเซสชันเริ่มต้นที่ลงทะเบียนไว้สําหรับหมวดหมู่อุปกรณ์ (ถ้ามี) เพิ่มเติม...
 
(BOOL) - startSessionWithDevice:sessionOptions:
 เริ่มเซสชันใหม่กับอุปกรณ์และตัวเลือกที่กําหนดไว้ เพิ่มเติม...
 
(BOOL) - startSessionWithOpenURLOptions:sessionOptions:
 ความพยายามเข้าร่วมหรือเริ่มต้นเซสชันด้วยตัวเลือกที่มีในเมธอด UIApplicationDelegate::application:openURL:options: เพิ่มเติม...
 
(BOOL) - suspendSessionWithReason:
 ระงับเซสชันปัจจุบัน เพิ่มเติม...
 
(BOOL) - endSession
 สิ้นสุดเซสชันปัจจุบัน เพิ่มเติม...
 
(BOOL) - endSessionAndStopCasting:
 สิ้นสุดเซสชันปัจจุบันและหยุดแคสต์หากมีการเชื่อมต่ออุปกรณ์ของผู้ส่ง 1 เครื่อง มิเช่นนั้น ระบบจะหยุดแคสต์หากมีการเชื่อมต่ออุปกรณ์ของผู้ส่งหลายเครื่อง เพิ่มเติม...
 
(BOOL) - hasConnectedSession
 ทดสอบว่าเซสชันนี้ได้รับการจัดการโดยผู้จัดการเซสชันนี้อยู่ในปัจจุบัน และปัจจุบันมีการเชื่อมต่ออยู่หรือไม่ เพิ่มเติม...
 
(BOOL) - hasConnectedCastSession
 ทดสอบว่าเซสชันการแคสต์ได้รับการจัดการโดยผู้จัดการเซสชันนี้อยู่ในปัจจุบัน และมีการเชื่อมต่ออยู่ เพิ่มเติม...
 
(void) - setDefaultSessionOptions:forDeviceCategory:
 ตั้งค่าตัวเลือกเซสชันเริ่มต้นสําหรับหมวดหมู่อุปกรณ์ที่ระบุ ระบบจะส่งตัวเลือกเซสชันไปยังเมธอด createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) เมื่อผู้ใช้เลือกอุปกรณ์จากกล่องโต้ตอบแคสต์ เพิ่มเติม...
 
(nullable GCKSessionOptions *) - defaultSessionOptionsForDeviceCategory:
 รับตัวเลือกเซสชันเริ่มต้นสําหรับหมวดหมู่อุปกรณ์ที่ต้องการ เพิ่มเติม...
 
(void) - addListener:
 เพิ่ม Listener เพื่อรับการแจ้งเตือน เพิ่มเติม...
 
(void) - removeListener:
 นํา Listener ที่เพิ่มไว้กับ 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 หากมีเซสชันเกิดขึ้นในปัจจุบัน หรือหากเริ่มต้นการดําเนินการไม่ได้
Since
4.0
- (BOOL) startSessionWithOpenURLOptions: (GCKOpenURLOptions *)  openURLOptions
sessionOptions: (nullable GCKSessionOptions *)  sessionOptions 

ความพยายามเข้าร่วมหรือเริ่มต้นเซสชันด้วยตัวเลือกที่มีในเมธอด UIApplicationDelegate::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 ไม่มีตัวเลือก Cast ที่จําเป็น
Since
4.0
- (BOOL) suspendSessionWithReason: (GCKConnectionSuspendReason reason

ระงับเซสชันปัจจุบัน

การดําเนินการนี้เป็นการดําเนินการแบบอะซิงโครนัส

Parameters
reasonThe reason for the suspension.
การคืนสินค้า
YES หากเริ่มการดําเนินการเรียบร้อยแล้ว NO หากไม่มีเซสชันเกิดขึ้นในปัจจุบัน หรือเริ่มต้นการดําเนินการไม่ได้
- (BOOL) endSession

สิ้นสุดเซสชันปัจจุบัน

การดําเนินการนี้เป็นการดําเนินการแบบอะซิงโครนัส

การคืนสินค้า
YES หากเริ่มการดําเนินการเรียบร้อยแล้ว NO หากไม่มีเซสชันเกิดขึ้นในปัจจุบัน หรือเริ่มต้นการดําเนินการไม่ได้
- (BOOL) endSessionAndStopCasting: (BOOL)  stopCasting

สิ้นสุดเซสชันปัจจุบันและหยุดแคสต์หากมีการเชื่อมต่ออุปกรณ์ของผู้ส่ง 1 เครื่อง มิเช่นนั้น ระบบจะหยุดแคสต์หากมีการเชื่อมต่ออุปกรณ์ของผู้ส่งหลายเครื่อง

ใช้พารามิเตอร์ stopCasting เพื่อระบุว่าการแคสต์ในเครื่องรับควรหยุดเมื่อเซสชันสิ้นสุดลง พารามิเตอร์นี้ใช้เมื่อมีการเชื่อมต่ออุปกรณ์ของผู้ส่งหลายรายเท่านั้น ตัวอย่างเช่น แอปเดียวกันจะเปิดขึ้นในอุปกรณ์ของผู้ส่งหลายเครื่องและอุปกรณ์ของผู้ส่งแต่ละเครื่องมีเซสชัน Cast ที่ใช้งานอยู่กับอุปกรณ์รับสัญญาณเดียวกัน

  • หากคุณตั้งค่า 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.
Since
4.0
- (nullable GCKSessionOptions *) defaultSessionOptionsForDeviceCategory: (NSString *)  category

รับตัวเลือกเซสชันเริ่มต้นสําหรับหมวดหมู่อุปกรณ์ที่ต้องการ

Parameters
categoryThe device category.
การคืนสินค้า
ตัวเลือกเซสชันเริ่มต้น หรือ nil หากไม่มี
Since
4.0
- (void) addListener: (id< GCKSessionManagerListener >)  listener

เพิ่ม Listener เพื่อรับการแจ้งเตือน

Listener ที่เพิ่มเข้ามาถือไว้อย่างอ่อน และควรเก็บไว้เพื่อหลีกเลี่ยงการพบดีลโดยไม่คาดคิด

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

นํา Listener ที่เพิ่มไว้กับ addListener: ก่อนหน้านี้

Parameters
listenerThe listener to remove.

รายละเอียดอสังหาริมทรัพย์

- (GCKSession*) currentSession
readnonatomicstrong

เซสชันปัจจุบัน (หากมี)

- (GCKCastSession*) currentCastSession
readnonatomicstrong

เซสชันแคสต์ปัจจุบัน (หากมี)

- (GCKConnectionState) connectionState
readnonatomicassign

สถานะการเชื่อมต่อเซสชันปัจจุบัน