개요: 브라이트코브 네이티브 SDK
문서 구조
브라이트코브는 문서를 체계적이고 깔끔하며 직관적으로 유지하기 위해 노력하고 있습니다. 따라서 모든 플러그인 및 통합에 대한 자세한 내용은 github ReadME를 사용합니다. 귀하의 편의를 위해 아래에 이러한 플러그인을 나열하고 링크했습니다.
안드로이드 지원
Android용 Native SDK는 다음 Android 버전을 지원합니다.
능동적 지원
Brightcove는 다음 Android 버전에서 최신 Android SDK에 대한 적극적인 지원을 제공합니다.
- 12.0
- 11.0
- 10.0
- 9.0
- 8.0, 8.1
- 7.0, 7.1
- 6.0
수동 지원
Brightcove는 다음 Android 버전에 대한 수동 지원을 제공합니다.
- 5.0, 5.1
지원 수준 이해
지원은 [주 버전] . [부 버전] OS (예 : Android 8.1). Google의 최신 기술 개선 사항을 활용하기 위해 두 가지 수준의 지원을 제공합니다.
- 활성 상태 : 브라이트코브는 이러한 OS 버전에서 버그를 테스트하고 수정합니다.
- 패시브 : 브라이트코브는 이러한 OS 버전에서 테스트하지만 버그 수정은 사례별로 처리됩니다.
일반적으로 브라이트코브는 사용자 기반의 80% 가 사용하는 OS 버전에 대한 적극적인 지원과 사용자 기반의 5% 이상이 사용하는 다른 버전에 대한 수동 지원을 제공합니다.
Android 변형 지원
Android용 Brightcove Native SDK는 메인라인 Android OS 릴리스용으로 개발되고 테스트되었습니다. Brightcove는 LineageOS와 같은 Android의 애프터 마켓 배포를 공식적으로 지원하지 않습니다.
다양한 Android 릴리스를 실행하는 기기 사용자는 Android용 Native SDK를 사용하여 개발된 애플리케이션에 문제가 발생할 수 있습니다.
커넥티드 TV/ 셋톱 박스
Android용 Native SDK는 다음과 같은 Android 기반 셋톱 박스를 지원합니다.
- Android TV
- 파이어 TV (파이어OS 5.0+ 기기)
테스트 한 셋톱 박스 장치는 다음과 같습니다.
- Nexus Player
- 엔비디아 실드
그만큼 Android 샘플 앱용 Brightcove 기본 SDK Android TV 및 Fire TV에서 작동합니다. 즉, TV 기반 앱에는 광고, 콘텐츠 보호 (DRM), 라이브 재생, 사용자 지정 UI 컨트롤, Brightcove Analytics 및 QoE 메트릭이 포함될 수 있습니다.
확인스타일이 지정된 컨트롤 샘플 앱 TV 앱에서 UI 컨트롤 스타일 지정에 대한 자세한 내용은
시작하기
Android SDK로 개발을 시작하기 전에 알아야 할 몇 가지 개념이 있습니다.
- 미디어
Native SDK의 현재 버전은 Playback API를 통해 또는 인터넷 액세스 URL이 있는 원격 자산으로 Video Cloud 계정에서 콘텐츠 재생을 지원합니다.
- 분석
Native SDK를 통해 Video Cloud 고객은 자동으로 Video Cloud에 보고된 강력한 분석 데이터를 얻습니다.
- Gradle
Gradle은 Android SDK 빌드 시스템의 기초이며 Android Studio와 통합됩니다.
- Maven 저장소
이제 Brightcove Maven Repo에서 Android Maven 아티팩트 (jar 파일) 용 Brightcove Native Player를 사용할 수 있습니다. https://repo.brightcove.com/releases
- Android SDK 개요
SDK에 대한 이해를 돕기 위해 기본 비디오 플레이어 제어의 복잡성을 처리하기 위해 중요한 구성 요소가 어떻게 상호 작용하는지 알아보십시오.
- Android 용 네이티브 SDK를 사용하여 앱 빌드
자체 백엔드 시스템에서 비디오를 재생하는 Android용 Brightcove Native SDK로 첫 번째 앱을 만드세요. Video Cloud 고객은 브라이트코브 카탈로그 서비스에서 비디오를 추가로 검색하고 재생합니다.
- 주문형 비디오 교육
Video Cloud 라이브러리에서 동영상과 재생 목록을 재생하는 Android Studio에서 앱을 빌드하는 단계를 안내하는 일련의 교육 동영상을 봅니다.
- 메일링 리스트
Brightcove Native SDK 메일링 리스트에 가입하여 Native SDK에 대한 릴리스 발표 정보를 받아보세요.
SDK 다운로드
Android 용 Brightcove Native SDK의 최신 버전을 받으십시오.
패키지 (기투브 레포) |
참조 문서 | 참고 | 지원되는 프레임 워크 | 샘플 | |
---|---|---|---|---|---|
SDK | Android v8.0.0용 네이티브 SDK | SDK 참조 | 릴리즈 노트 | 엑소플레이어 2.17.1 | 샘플 응용 프로그램 |
또는 다음 버튼을 선택합니다.
모든 기본 SDK 및 관련 플러그인에 대한 제품 업데이트를 보려면브라이트코브 네이티브 SDK 문서의 릴리스 노트를참조하십시오.
참고
다음 참고는 최신 버전의 Native SDK를 참조합니다.
-
버전 6.10.0부터 Brightcove의 Android 용 네이티브 SDK는 원래 지원 라이브러리 대신 Jetpack (androidx. *) 라이브러리를 사용합니다. 이 변경은 Exoplayer 버전 2.10.0 이상에 필요합니다. Jetpack을 사용하려면 앱이 다음 요구 사항을 충족해야합니다.
- Jetpack (AndroidX) 종속성으로 마이그레이션
- Android Gradle 도구 3.2.0
- Gradle 버전 4.6
JetPack으로 마이그레이션하는 방법에 대한 자세한 내용은 공식 Android 마이그레이션 가이드 .
- 안드로이드용 브라이트코브 네이티브 SDK에서 지원하는 안드로이드 최소 SDK 버전은 19개입니다.
- ExoPlayer v2.17.1의 경우 Java 11 지원을 활성화해야 합니다. 이렇게 하려면 앱 build.gradle 파일의 android 섹션에 다음을 추가하세요. 자세한 내용은안드로이드의 ExopLayer문서를 참조하십시오.
android { compileOptions { targetCompatibility JavaVersion.VERSION_11 } }
이것은 프로젝트의 기본 Java 버전을 재정의합니다.
compileSdkVersion
값.
핵심 SDK 설치
Brightcove 핵심 SDK 설치는 매우 간단합니다. 이 작업을 수행하는 방법에는 두 가지가 있습니다.
Gradle 빌드 시스템 사용
Brightcove SDK 및 해당 종속성을 추가하는 가장 쉬운 방법은 Android Studio에서 gradle 빌드 시스템을 사용하는 것입니다.
Gradle 커뮤니티에서는 '+'문자로 동적 종속성 버전을 사용하는 것이 바람직하지 않습니다. 동적 버전 관리를 사용하면 새 API가 앱의 소스 코드와 예기치 않게 호환되지 않을 수 있으므로 빌드 프로세스에 심각한 위험이 있습니다.
Gradle 사용에 대한 자세한 내용은 Android의빌드 종속성 추가선적 서류 비치.
수동으로 SDK 다운로드
다음과 같이 Brightcove SDK를 수동으로 다운로드 할 수도 있습니다.
- SDK를 다운로드하고 압축을 풉니 다. 여러 폴더를 찾을 수 있습니다.
- 내부 sdk폴더에서 이름이있는 핵심 SDK를 찾을 수 있습니다. android-sdk-xxxaar , 어디트리플 엑스최신 SDK 버전 번호입니다.
- 추가 android-sdk-xxxaar파일과 필요한 플러그인 파일을 라이브러리에 추가합니다.
통합
다음 표에는 SDK 구현과 통합된 플러그인을 얻을 수 있는 링크가 포함되어 있습니다. 플러그인은 각각의 Github Repos에서 다운로드 할 수 있으며 각 repo에는 플러그인 설정 방법에 대한 지침과 함께 자세한 README가 포함되어 있습니다.
샘플 응용 프로그램은 SDK와 통합된 각 플러그인의 기본 기능을 보여줍니다. 이러한 샘플 앱은 각 플러그인에 대해 알아볼 수 있는 좋은 방법이며 디버깅 시 참조점 역할을 합니다.
범주 | Brightcove 플러그인 | 참조 문서 | 샘플 앱 | 지원되는 파트너/공급업체 플러그인 |
---|---|---|---|---|
광고하는 | FreeWheel 플러그인 8.0.0 [1] | 프리휠 레퍼런스 | 기본 FreeWheel 샘플 | 프리휠 애드매니저 라이브러리 6.28.0 |
Widevine 모듈 식 샘플이있는 FreeWheel | ||||
IMA 플러그인 8.0.0 [2] | IMA 참조 | IMA 샘플이 포함 된 광고 규칙 | 구글 IMA 3.27.0 | |
IMA 및 Widevine 샘플을 사용한 광고 규칙 | ||||
기본 IMA VAST 샘플 | ||||
펄스 플러그인 8.0.0 | 펄스 레퍼런스 | 펄스 샘플 | 펄스 SDK 2.5.20.3.0 | |
SSAI 플러그인 8.0.0 | SSAI의 참조 | 기본 SSAI 샘플 | 없음 | |
분석 | Omniture 플러그인 8.0.0 [3] | 옴니쳐 참조 | 비디오라이브러리 4.11.0 비디오하트비트 2.0.0 |
|
크롬캐스트 | 캐스트 플러그인 8.0.0 | 캐스트 참조 | 브라이트코브 리시버 샘플 Google 리시버 샘플 |
ExoPlayer Cast 확장 프로그램 2.17.1 |
플러그인 결합
Android 용 Native SDK를 사용하면 대부분의 플러그인을 결합 할 수 있습니다. 이샘플 앱 Google IMA 광고 및 Widevine Modular로 콘텐츠 보호와 함께 Brightcove ExoPlayer를 사용하는 방법을 보여줍니다.
샘플
Brightcove는BrightcoveExoPlayerVideoView
가능한 경우 구현. 샘플 및 코드 조각은 다음을 참조하십시오.
- Android용 Brightcove Native SDK의 모든 샘플
- 브라이트 코브 엑소 플레이어폴더 – 샘플은 ExoPlayer 구현을 사용합니다.
- 브라이트 코브 플레이어 컨트롤폴더 – 개념은 ExoPlayer 구현과 함께 사용할 수 있습니다.
- 특정 작업에 도움이되는 코드 조각
다음 표에는 이전 섹션의 통합과 관련된 샘플 외에 코드 샘플에 대한 링크가 포함되어 있습니다.
샘플 애플리케이션 | 설명 |
---|---|
기본 샘플 | Video Cloud 라이브러리에서 비디오를 재생하는 기본 앱을 만듭니다. |
Chromecast | Chromecast에 연결된 TV로 동영상을 전송하세요. 개요는 Android 용 Native SDK 용 Cast 플러그인문서. |
사용자 지정 컨트롤 | 플레이어 컨트롤을 사용자 지정합니다. |
Widevine을 사용한 DRM | Widevine으로 콘텐츠를 보호하세요. ExopLayer 비디오보기를 사용할 때 안드로이드 프레임 워크는 와이드 바인 모듈을 지원합니다. 자세한 내용은 Widevine 참조 . |
라이브 스트림 | HLS 라이브 스트림을 실행하는 앱을 만듭니다. |
오프라인 재생 | Widevine 암호화로 보호되는 비디오를 포함하여 DASH 비디오를 다운로드하고 재생합니다. 개요는기본 SDK를 사용한 오프라인 재생문서를 참조하십시오. |
원격 비디오 | 원격 서버에서 비디오를로드합니다. |
비디오 목록 | 사용RecyclerView 동영상 세트를 처리합니다. |
360 ° 비디오 | 투영 속성이 설정되어있는 한 360 ° 동영상을 재생합니다. 컨트롤 바의 Video 360 버튼을 탭하면 비디오가 VR 고글 모드로 나란히 이미지가 표시됩니다. 자세한 내용은모바일 SDK와 함께 360 ° 비디오 사용문서. |
솔루션 가이드
다음 표에는 Brightcove Native SDK를 사용하여 자신의 앱을 시작하는 데 도움이 되고 사용 가능한 일부 기능을 안내하는 개발자 문서에 대한 링크가 포함되어 있습니다.
가이드 | 설명 |
---|---|
Android용 Brightcove 기본 SDK 설정 | 자체 백엔드 시스템의 콘텐츠를 사용하여 간단한 비디오 재생 앱을 개발하는 과정을 안내하여 Android용 Brightcove Native SDK 작업의 기본 사항을 알아보세요. Video Cloud 고객은 브라이트코브 카탈로그 서비스에서 비디오를 추가로 검색하고 재생합니다. |
플러그인 생성 | Android용 Brightcove Native SDK용 플러그인을 만드는 방법을 알아보세요. |
보기 레이아웃 관리 | 추가 된보기의 레이아웃을 관리하는 방법에 대해 알아보십시오. BrightcoveVideoView . |
방향 변경 처리 | 방향이 변경 될 때 원치 않는 기본 동작을 관리하는 방법을 알아 봅니다. |
IAB 개방 측정 | IMA 플러그인과 함께 Open Measurement SDK를 사용하여 광고 측정 및 검증을 위한 타사 도구를 지원하는 방법을 알아봅니다. |
소스 선택 | 비디오를 재생할 때 기본 변환 선택 프로세스에 대해 알아봅니다. |
브라이트코브 분석 사용 | Android 용 Brightcove SDK를 사용하여 모바일 앱에서 Brightcove Analytics에서 속성을 설정하는 방법을 알아 봅니다. |
플레이어 컨트롤 작업 | 플레이어 컨트롤을 사용자 지정하고 숨기는 방법을 알아 봅니다. |
모범 사례
다음은 브라이트코브 네이티브 SDK로 작업할 때 도움이 될 수 있는 추가 정보입니다.
IMA로 광고하기
VAST 광고의 배치는 일반적으로 VMAP 문서에 의해 지정됩니다. VAST에서는 광고를 설명하고 VMAP은 동영상에 광고의 배치를 설명합니다. 코드 세부 사항은 다음을 참조하십시오.
IMA 광고를 사용하는 경우 광고를 구현하기 전에 SDK 외부에서 광고가 작동하는지 확인하는 것이 좋습니다. 다음 링크가 도움이 될 것입니다.
동반 광고
Android TV에서는 컴패니언 광고 및 클릭 연결 광고가 지원되지 않습니다. Android TV에는 웹 브라우저가 지원되지 않기 때문에 클릭 연결 URL의 대상이 없습니다.
ProGuard 작업
사용 ProGuard더 안전한 앱을 만들 수 있으므로 리버스 엔지니어링이 더 어려워집니다. ProGuard는 Android 빌드 시스템에 통합되어 있으므로이를 활성화하거나없이 빌드 할 수 있습니다.
Gradle에서 ProGuard를 사용할 때 오류가 발생하면 다음 제외 규칙을 추가해보세요.
-dontwarn com.google.**
-dontwarn android.media.**
-keep class android.media.** { *; }
-keep class com.google.** { *; }
-keep interface com.google.** { *; }
-keep class com.google.ads.interactivemedia.** { *; }
-keep interface com.google.ads.interactivemedia.** { *; }
Brightcove Native SDK에서 사용하는 ProGuard 규칙의 전체 목록을 보려면현재 Android 용 네이티브 SDK . 열기 sdk폴더 및보기proguard.txt
파일.
재생 동작
특정 Android 장치에서 다음 재생 동작 중 일부를 확인할 수 있습니다.
비디오 일시 중지
안드로이드스마트 일시 중지삼성 기기의 기능은 사용자가 기기 화면에서 멀어지면 동영상을 일시 중지합니다. Smart Pause 지원 장치에서 비디오를 일시 중지하지 않으려면이 기능을 비활성화 할 수 있습니다.