คลาส 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:
 สิ้นสุดเซสชันปัจจุบันและหยุดแคสต์หากอุปกรณ์ของผู้ส่งเชื่อมต่ออยู่ หรือจะเลือกหยุดแคสต์ก็ได้หากเชื่อมต่ออุปกรณ์ของผู้ส่งหลายเครื่อง เพิ่มเติม...
 
(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 ไม่มีตัวเลือกการแคสต์ที่จำเป็น
Since
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.
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

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