개요
세션을 관리하는 클래스입니다.
startSessionWithDevice: (GCKSessionManager) 메서드는 지정된 GCKDevice로 새 세션을 만드는 데 사용됩니다. 세션 관리자는 해당 기기 유형의 GCKDeviceProvider를 사용하여 새 GCKSession 객체를 구성한 다음 모든 세션 요청을 위임합니다.
GCKSessionManager는 정지된 세션의 자동 재개를 처리합니다. 즉, 애플리케이션이 백그라운드로 전환되었을 때, 또는 애플리케이션이 비정상 종료되거나 사용자가 강제로 종료한 경우 종료된 세션을 재개합니다. 애플리케이션이 다시 시작되거나 다시 시작되면 세션 관리자는 정지된 세션의 기기 제공자가 해당 기기를 다시 검색할 때까지 잠시 대기합니다. 그런 다음 이 기기를 다시 검색할 경우 해당 기기에 다시 연결하고 세션을 자동으로 다시 설정합니다.
애플리케이션이 타겟과 선택기를 제공하지 않고 GCKUICastButton를 만든 경우 사용자가 버튼을 탭하면 기본 전송 대화상자가 표시되고 사용자 선택 또는 기기 연결 해제에 따라 자동으로 세션을 시작하고 중지합니다. 하지만 애플리케이션이 자체 기기 선택/제어 대화상자 UI를 제공하는 경우에는 GCKSessionManager를 직접 사용하여 세션을 만들고 제어해야 합니다.
애플리케이션이 GCKSessionManager를 사용하여 세션을 제어하는지 여부와 관계없이 GCKSessionManagerListener를 연결하여 세션 이벤트에 관한 알림을 받을 수 있으며 KVO를 사용하여 connectionState 속성을 모니터링하여 현재 세션 수명 주기 상태를 추적할 수도 있습니다.
- 다음 이후:
- 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: |
알림을 수신하기 위한 리스너를 추가합니다. 더보기... | |
(void) | - removeListener: |
이전에 addListener:로 추가된 리스너를 삭제합니다. 더보기... | |
속성 요약 | |
GCKSession * | currentSession |
현재 세션입니다(있는 경우). 더보기... | |
GCKCastSession * | currentCastSession |
현재 전송 세션입니다(있는 경우). 더보기... | |
GCKConnectionState | connectionState |
현재 세션 연결 상태입니다. 더보기... | |
메서드 세부정보
- (instancetype) init |
기본 이니셜라이저를 사용할 수 없습니다.
- (BOOL) startSessionWithDevice: | (GCKDevice *) | device |
기기 카테고리에 등록된 기본 세션 옵션(있는 경우)을 사용하여 특정 기기로 새 세션을 시작합니다.
이는 비동기 작업입니다.
- Parameters
-
device The device to use for this session.
- 반환 값
- 작업이 성공적으로 시작된 경우
YES
, 현재 설정된 세션이 있거나 작업을 시작할 수 없는 경우NO
입니다.
- (BOOL) startSessionWithDevice: | (GCKDevice *) | device | |
sessionOptions: | (nullable GCKSessionOptions *) | options | |
지정된 기기 및 옵션으로 새 세션을 시작합니다.
이는 비동기 작업입니다.
- Parameters
-
device The device to use for this session. options The options for this session, if any. May be nil
.
- 반환 값
- 작업이 성공적으로 시작된 경우
YES
, 현재 설정된 세션이 있거나 작업을 시작할 수 없는 경우NO
입니다.
- 다음 이후:
- 4.0
- (BOOL) startSessionWithOpenURLOptions: | (GCKOpenURLOptions *) | openURLOptions | |
sessionOptions: | (nullable GCKSessionOptions *) | sessionOptions | |
UIApplicationDelegate::application:openURL:options: 메서드에 제공된 옵션을 사용하여 세션에 참여하거나 세션을 시작하려고 시도합니다.
일반적으로 다른 앱에서 시작한 특정 기기의 기존 Cast 세션에 참여하기 위한 요청입니다.
- Parameters
-
openURLOptions The options that were extracted from the URL. sessionOptions The options for this session, if any. May be nil
.
- 반환 값
- 작업이 성공적으로 시작되었다면
YES
, 현재 세션이 설정되어 있거나 openURL 옵션에 필요한 전송 옵션이 없으면NO
입니다.
- 다음 이후:
- 4.0
- (BOOL) suspendSessionWithReason: | (GCKConnectionSuspendReason) | reason |
현재 세션을 정지합니다.
이는 비동기 작업입니다.
- Parameters
-
reason The reason for the suspension.
- 반환 값
- 작업이 성공적으로 시작된 경우
YES
, 현재 설정된 세션이 없거나 작업을 시작할 수 없는 경우NO
입니다.
- (BOOL) endSession |
현재 세션을 종료합니다.
이는 비동기 작업입니다.
- 반환 값
- 작업이 성공적으로 시작된 경우
YES
, 현재 설정된 세션이 없거나 작업을 시작할 수 없는 경우NO
입니다.
- (BOOL) endSessionAndStopCasting: | (BOOL) | stopCasting |
하나의 발신자 기기가 연결된 경우 현재 세션을 종료하고 전송을 중지합니다. 그렇지 않으면 여러 발신자 기기가 연결되어 있는 경우 선택적으로 전송을 중지합니다.
stopCasting
매개변수를 사용하여 세션이 종료될 때 수신기에서 전송을 중지해야 하는지 여부를 나타냅니다. 이 매개변수는 여러 발신자 기기가 연결된 경우에만 적용됩니다. 예를 들어 동일한 앱이 여러 발신기 기기에 열려 있고 각 발신기 기기에 동일한 수신 기기와의 활성 Cast 세션이 있습니다.
stopCasting
를YES
로 설정하면 여러 기기가 연결되면 수신기 앱에서 전송을 중지합니다.stopCasting
가NO
이고 다른 기기에 활성 세션이 있는 경우 수신기는 계속 재생됩니다.- 하나의 발신기 기기만 연결되면 수신기 앱이 미디어 전송을 중지하고
stopCasting
값이NO
로 설정되어 있더라도 이 값을 무시합니다.
- Parameters
-
stopCasting Whether casting on the receiver should stop when the session ends. Only used when multiple sender devices are connected.
- 반환 값
- 세션을 종료하는 작업이 성공적으로 시작된 경우
YES
, 현재 설정된 세션이 없거나 작업을 시작할 수 없는 경우NO
입니다.
- (BOOL) hasConnectedSession |
세션이 현재 이 세션 관리자에서 관리되고 있고 현재 연결되어 있는지 테스트합니다.
세션 상태가 GCKConnectionStateConnected인 경우 YES
입니다.
- (BOOL) hasConnectedCastSession |
전송 세션이 현재 이 세션 관리자에서 관리되고 있고 현재 연결되어 있는지 테스트합니다.
세션 상태가 GCKConnectionStateConnected이고 세션이 Cast 세션인 경우 YES
입니다.
- (void) setDefaultSessionOptions: | (nullable GCKSessionOptions *) | sessionOptions | |
forDeviceCategory: | (NSString *) | category | |
지정된 기기 카테고리의 기본 세션 옵션을 설정합니다.세션 옵션은 사용자가 전송 대화상자에서 기기를 선택하면 createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) 메서드에 전달됩니다.
Cast 세션의 경우 세션 옵션에서 실행할 수신기 애플리케이션을 지정할 수 있습니다.
- Parameters
-
sessionOptions The session options. May be nil
to remove any previously set options.category The device category.
- 다음 이후:
- 4.0
- (nullable GCKSessionOptions *) defaultSessionOptionsForDeviceCategory: | (NSString *) | category |
지정된 기기 카테고리의 기본 세션 옵션을 가져옵니다.
- Parameters
-
category The device category.
- 반환 값
- 기본 세션 옵션이며 없는 경우
nil
입니다.
- 다음 이후:
- 4.0
- (void) addListener: | (id< GCKSessionManagerListener >) | listener |
알림을 수신하기 위한 리스너를 추가합니다.
추가된 리스너는 약하게 유지되므로 예기치 않은 할당 해제를 방지하기 위해 유지되어야 합니다.
- Parameters
-
listener The listener to add.
- (void) removeListener: | (id< GCKSessionManagerListener >) | listener |
이전에 addListener:로 추가된 리스너를 삭제합니다.
- Parameters
-
listener The listener to remove.
부동산 세부정보
|
readnonatomicstrong |
현재 세션입니다(있는 경우).
|
readnonatomicstrong |
현재 전송 세션입니다(있는 경우).
|
readnonatomicassign |
현재 세션 연결 상태입니다.