Lớp GCKSessionManager

Tài liệu tham khảo về lớp GCKSessionManager

Tổng quan

Một lớp quản lý các phiên hoạt động.

Phương thức startSessionWithDevice: (GCKSessionManager) được dùng để tạo một phiên mới có GCKDevice nhất định. Trình quản lý phiên sử dụng GCKDeviceProvider cho loại thiết bị đó để tạo một đối tượng GCKSession mới, sau đó uỷ quyền tất cả yêu cầu phiên.

GCKSessionManager xử lý việc tự động tiếp tục các phiên bị tạm ngưng (tức là tiếp tục các phiên đã kết thúc khi ứng dụng chuyển sang chạy ở chế độ nền, hoặc trong trường hợp ứng dụng gặp sự cố hoặc bị người dùng buộc chấm dứt). Khi ứng dụng tiếp tục hoặc khởi động lại, trình quản lý phiên sẽ đợi trong một thời gian ngắn để nhà cung cấp thiết bị của thiết bị trong phiên bị tạm ngưng phát hiện lại thiết bị đó và nếu có, trình quản lý phiên sẽ tìm cách kết nối lại với thiết bị đó và tự động thiết lập lại phiên.

Nếu ứng dụng đã tạo GCKUICastButton mà không cung cấp mục tiêu và bộ chọn, thì người dùng nhấn vào nút sẽ hiển thị hộp thoại Truyền mặc định. Hộp thoại này sẽ tự động bắt đầu và dừng phiên dựa trên lựa chọn của người dùng hoặc ngắt kết nối thiết bị. Tuy nhiên, nếu đang cung cấp giao diện người dùng hộp thoại điều khiển/lựa chọn thiết bị riêng, thì ứng dụng phải trực tiếp sử dụng GCKSessionManager để tạo và điều khiển các phiên.

Dù có sử dụng GCKSessionManager để kiểm soát phiên hay không, ứng dụng vẫn có thể đính kèm GCKSessionManagerListener để nhận thông báo về các sự kiện của phiên, đồng thời cũng có thể sử dụng KVO để giám sát thuộc tính connectionState nhằm theo dõi trạng thái vòng đời của phiên hiện tại.

Năm thành lập
3

Kế thừa NSObject.

Tóm tắt phương thức thực thể

(instancetype) - init
 Không có trình khởi chạy mặc định. Xem thêm...
 
(BOOL) - startSessionWithDevice:
 Bắt đầu một phiên mới bằng thiết bị đã cho, sử dụng tuỳ chọn phiên mặc định đã được đăng ký cho danh mục thiết bị, nếu có. Xem thêm...
 
(BOOL) - startSessionWithDevice:sessionOptions:
 Bắt đầu một phiên mới với thiết bị và tuỳ chọn đã cho. Xem thêm...
 
(BOOL) - startSessionWithOpenURLOptions:sessionOptions:
 Cố gắng tham gia hoặc bắt đầu một phiên bằng các tuỳ chọn đã được cung cấp cho phương thức UIApplicationdelegate::application:openURL:options:. Xem thêm...
 
(BOOL) - suspendSessionWithReason:
 Tạm ngưng phiên hiện tại. Xem thêm...
 
(BOOL) - endSession
 Kết thúc phiên hiện tại. Xem thêm...
 
(BOOL) - endSessionAndStopCasting:
 Kết thúc phiên hiện tại và dừng truyền nếu một thiết bị gửi được kết nối; nếu không, bạn có thể dừng truyền nếu nhiều thiết bị của người gửi được kết nối. Xem thêm...
 
(BOOL) - hasConnectedSession
 Kiểm tra xem một phiên có đang được quản lý bởi trình quản lý phiên này hay không và phiên đó có đang được kết nối hay không. Xem thêm...
 
(BOOL) - hasConnectedCastSession
 Kiểm tra xem một phiên Truyền có đang do trình quản lý phiên này quản lý và phiên đó đang được kết nối hay không. Xem thêm...
 
(void) - setDefaultSessionOptions:forDeviceCategory:
 Đặt các tuỳ chọn phiên mặc định cho danh mục thiết bị nhất định.Các tuỳ chọn phiên được chuyển đến phương thức createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) khi người dùng chọn một thiết bị trong hộp thoại Truyền. Xem thêm...
 
(nullable GCKSessionOptions *) - defaultSessionOptionsForDeviceCategory:
 Lấy các lựa chọn phiên mặc định cho một danh mục thiết bị nhất định. Xem thêm...
 
(void) - addListener:
 Thêm một trình nghe để nhận thông báo. Xem thêm...
 
(void) - removeListener:
 Xoá trình nghe trước đó đã được thêm bằng addListener:. Xem thêm...
 

Tóm tắt về thuộc tính

GCKSessioncurrentSession
 Phiên hiện tại, nếu có. Xem thêm...
 
GCKCastSessioncurrentCastSession
 Phiên Truyền hiện tại, nếu có. Xem thêm...
 
GCKConnectionState connectionState
 Trạng thái kết nối hiện tại của phiên. Xem thêm...
 

Chi tiết phương pháp

- (instancetype) init

Không có trình khởi chạy mặc định.

- (BOOL) startSessionWithDevice: (GCKDevice *)  device

Bắt đầu một phiên mới bằng thiết bị đã cho, sử dụng tuỳ chọn phiên mặc định đã được đăng ký cho danh mục thiết bị, nếu có.

Đây là hoạt động không đồng bộ.

Parameters
deviceThe device to use for this session.
Trả bóng
YES nếu thao tác đã được bắt đầu thành công, NO nếu đã có một phiên hoạt động được thiết lập hoặc nếu không thể bắt đầu thao tác.
- (BOOL) startSessionWithDevice: (GCKDevice *)  device
sessionOptions: (nullable GCKSessionOptions *)  options 

Bắt đầu một phiên mới với thiết bị và tuỳ chọn đã cho.

Đây là hoạt động không đồng bộ.

Parameters
deviceThe device to use for this session.
optionsThe options for this session, if any. May be nil.
Trả bóng
YES nếu thao tác đã được bắt đầu thành công, NO nếu đã có một phiên hoạt động được thiết lập hoặc nếu không thể bắt đầu thao tác.
Năm thành lập
4
- (BOOL) startSessionWithOpenURLOptions: (GCKOpenURLOptions *)  openURLOptions
sessionOptions: (nullable GCKSessionOptions *)  sessionOptions 

Cố gắng tham gia hoặc bắt đầu một phiên bằng các tuỳ chọn đã được cung cấp cho phương thức UIApplicationdelegate::application:openURL:options:.

Thông thường, đây là yêu cầu tham gia một phiên Truyền hiện có trên một thiết bị cụ thể do một ứng dụng khác khởi tạo.

Parameters
openURLOptionsThe options that were extracted from the URL.
sessionOptionsThe options for this session, if any. May be nil.
Trả bóng
YES nếu thao tác đã bắt đầu thành công, NO nếu có một phiên hiện được thiết lập, hoặc các tuỳ chọn openURL không chứa các tuỳ chọn Truyền bắt buộc.
Năm thành lập
4
- (BOOL) suspendSessionWithReason: (GCKConnectionSuspendReason reason

Tạm ngưng phiên hiện tại.

Đây là hoạt động không đồng bộ.

Parameters
reasonThe reason for the suspension.
Trả bóng
YES nếu hoạt động đã được bắt đầu thành công, NO nếu chưa có phiên nào hiện được thiết lập hoặc nếu hoạt động không thể bắt đầu.
- (BOOL) endSession

Kết thúc phiên hiện tại.

Đây là hoạt động không đồng bộ.

Trả bóng
YES nếu hoạt động đã được bắt đầu thành công, NO nếu chưa có phiên nào hiện được thiết lập hoặc nếu hoạt động không thể bắt đầu.
- (BOOL) endSessionAndStopCasting: (BOOL)  stopCasting

Kết thúc phiên hiện tại và dừng truyền nếu một thiết bị gửi được kết nối; nếu không, bạn có thể dừng truyền nếu nhiều thiết bị của người gửi được kết nối.

Sử dụng tham số stopCasting để cho biết liệu có cần dừng truyền trên receiver khi phiên kết thúc hay không. Tham số này chỉ áp dụng khi có nhiều thiết bị gửi được kết nối. Ví dụ: một ứng dụng mở trên nhiều thiết bị gửi và mỗi thiết bị gửi có một phiên Truyền đang hoạt động trên cùng một thiết bị nhận.

  • Nếu bạn đặt stopCasting thành YES, thì ứng dụng nhận sẽ ngừng truyền khi có nhiều thiết bị được kết nối.
  • Nếu stopCastingNO và các thiết bị khác có một phiên đang hoạt động thì bộ thu sẽ tiếp tục phát.
  • Nếu chỉ có một thiết bị gửi được kết nối, thì ứng dụng nhận sẽ ngừng truyền nội dung nghe nhìn và bỏ qua giá trị stopCasting, ngay cả khi giá trị đó được đặt thành NO.
Parameters
stopCastingWhether casting on the receiver should stop when the session ends. Only used when multiple sender devices are connected.
Trả bóng
YES nếu thao tác kết thúc phiên hoạt động được bắt đầu thành công, NO nếu chưa có phiên hoạt động nào được thiết lập hoặc nếu không thể bắt đầu thao tác.
- (BOOL) hasConnectedSession

Kiểm tra xem một phiên có đang được quản lý bởi trình quản lý phiên này hay không và phiên đó có đang được kết nối hay không.

Giá trị này sẽ là YES nếu trạng thái phiên là GCKConnectionStateConnection.

- (BOOL) hasConnectedCastSession

Kiểm tra xem một phiên Truyền có đang do trình quản lý phiên này quản lý và phiên đó đang được kết nối hay không.

Đây sẽ là YES nếu trạng thái phiên là GCKConnectionStateConnected và phiên hoạt động này là một phiên Truyền.

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

Đặt các tuỳ chọn phiên mặc định cho danh mục thiết bị nhất định.Các tuỳ chọn phiên được chuyển đến phương thức createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) khi người dùng chọn một thiết bị trong hộp thoại Truyền.

Đối với các phiên Truyền, các tuỳ chọn phiên có thể chỉ định ứng dụng nhận nào sẽ khởi chạy.

Parameters
sessionOptionsThe session options. May be nil to remove any previously set options.
categoryThe device category.
Năm thành lập
4
- (nullable GCKSessionOptions *) defaultSessionOptionsForDeviceCategory: (NSString *)  category

Lấy các lựa chọn phiên mặc định cho một danh mục thiết bị nhất định.

Parameters
categoryThe device category.
Trả bóng
Các tuỳ chọn phiên mặc định hoặc nil nếu không có.
Năm thành lập
4
- (void) addListener: (id< GCKSessionManagerListener >)  listener

Thêm một trình nghe để nhận thông báo.

Trình nghe đã thêm sẽ bị giữ ở mức yếu, và nên được giữ lại để tránh việc xử lý ngoài dự kiến.

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

Xoá trình nghe trước đó đã được thêm bằng addListener:.

Parameters
listenerThe listener to remove.

Chi tiết về cơ sở lưu trú

- (GCKSession*) currentSession
readnonatomicstrong

Phiên hiện tại, nếu có.

- (GCKCastSession*) currentCastSession
readnonatomicstrong

Phiên Truyền hiện tại, nếu có.

- (GCKConnectionState) connectionState
readnonatomicassign

Trạng thái kết nối hiện tại của phiên.