가입 의도

'참여 의향' Android 발신기의 새로운 기능으로 발신자 앱으로 '참여' 다른 앱에서 시작한 전송 세션 있습니다. Cast가 만든 인텐트로 발신기 앱이 실행되도록 설정 사용할 수 있습니다.

예를 들어 음성을 사용하여 전송 세션을 시작하면 Cast SDK가 사용자가 모든 Android 휴대전화에서 재생을 제어할 수 있는 알림 동일한 네트워크에 연결됩니다. 알림을 탭하면 Cast SDK가 인텐트를 사용하여 Cast 세션에 참여할 수 있습니다.

자세한 내용은 CastVideos-Android 샘플 를 참조하세요.

Android Sender 사용

이 기능을 사용 설정하려면 앱에서 다음 단계를 따르세요.

앱에서 이미 사용 중인 Android Sender SDK 버전이 다음보다 이후인지 확인합니다. 11.4.0. build.gradle에서:

dependencies {
    api 'com.google.android.gms:play-services-cast-framework:11.4.0'
}

인텐트를 처리할 활동에 새 인텐트 필터를 추가합니다. 이 인텐트는 원격 제어 알림 (RCN)에서 앱을 실행하는 데 사용됩니다. Cast 세션에 참여할 수 있습니다. 다음과 같은 활동을 사용하는 것이 좋습니다. SessionManagerListener 드림 호스팅되며 onSessionStarted() 또는 onSessionStartFailed() 호출됩니다. 새 인텐트 필터가 전체 Android 시스템에서 고유한지 확인하세요. 다음과 같이 <data> 태그를 사용하는 것이 좋습니다.

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data android:scheme="your_app_scheme" android:host="your_app_host"
        android:path="your_app_path"/>
</intent-filter>

<data> 태그의 예:

<data android:scheme="https" android:host="example.com"
      android:path="/cast/join"/>

새 인텐트 필터를 정의하는 활동에서 SessionManager.startSession(Intent) 드림 (onResume())

Kotlin
를 통해 개인정보처리방침을 정의할 수 있습니다.
override fun onResume() {
    ...
    val intent = intent
    // Intent with format: "<your_app_scheme>://<your_app_host><your_app_path>"
    val intentToJoinUri = Uri.parse("https://example.com/cast/join")
    if (intent.data != null && intent.data == intentToJoinUri) {
        mCastContext.sessionManager.startSession(intent)
    }
    ...
}
<ph type="x-smartling-placeholder">
</ph>
자바
@Override
protected void onResume() {
    ...
    Intent intent = getIntent();
    // Intent with format: "<your_app_scheme>://<your_app_host><your_app_path>"
    Uri intentToJoinUri = Uri.parse("https://example.com/cast/join");
    if (intent.getData() != null && intent.getData().equals(intentToJoinUri)) {
        mCastContext.getSessionManager().startSession(intent);
    }
    ...
}

Google Cast 개발자 콘솔 설정

참여 인텐트 기능을 활용하려면 앱 URI와 패키지 이름이 다음과 같아야 합니다. 에 Google Cast 개발자 콘솔.

인텐트가 작동하려면 수신자도 나열되고 게시되어야 합니다. 있습니다.

앱을 나열하려면 등록정보 옵션을 '예'로 전환합니다. 제목을 입력하면 설명 및 512x512 크기의 그래픽을 표시합니다.

설정 후 원격 제어 알림으로 구현을 테스트할 수 있습니다. (RCN)을 입력합니다.

  1. Android 휴대전화에 Google Home 앱을 설치하고 있습니다.
  2. Cast 지원 기기는 동일한 네트워크에 Google Home 기기를 설정합니다.
  3. 다음을 사용하여 Google Home 기기로 Cast 세션을 시작합니다. 명령어 및 제어 (CaC) 도구, 다른 Android나 iOS 기기에서 또는 음성을 통해 웹 수신기가 작동하는지 확인합니다. 앱이 실행됩니다.
  4. 휴대전화에 RCN이 연결될 때까지 몇 초간 기다렸다가 알림을 탭하여 인텐트를 트리거합니다. 인텐트는 현재 상태를 나타내는 세션에 참가하는 데 필요한 데이터가 포함된 인텐트를 등록합니다.

SessionManagerListener.onSessionStarted(T, String) 드림 트리거되어 세션에 참여합니다.

인증

앱이 세션에 성공적으로 참가하면 SessionManagerListener.onSessionStarted(T, String) 드림 알 수 있습니다. 그렇지 않으면 SessionManagerListener.onSessionStartFailed(T, int) 드림 알 수 있습니다. 앱이 이미 이러한 이벤트를 제대로 처리한다고 가정합니다. 확장 컨트롤러 또는 미니 컨트롤러 실행)을 추가 작업을 할 수 있습니다.