기본 SDK에서 배달 규칙 사용

이 주제에서는 브라이트코브의 전송 규칙을 네이티브 SDK와 함께 사용하는 방법에 대해 알아봅니다.

서문

브라이트코브의 전송 규칙을 사용하면 적시 매니페스트 생성 기능을 활용하여 사용자 지정 규칙을 사용하여 콘텐츠를 최종 사용자에게 전달하는 방법을 제어할 수 있습니다.

배달 규칙에 대한 자세한 내용은 다음을 참조하십시오.

안드로이드 구현

Android용 네이티브 SDK와 함께 배달 규칙을 사용하려면 다음 단계를 수행하십시오.

  1. 배달 규칙 ID에 대한 매개 변수를 정의합니다.
  2. 적용하려는 전달 규칙을 사용하여 생성하십시오. HttpRequestConfig 당신의 문자열 값을 전달config_id , 사용하여HttpRequestConfig.KEY_DELIVERY_RULE_CONFIG_ID매개변수.
  3. 배달 규칙 ID를 카탈로그 호출과 함께 매개 변수로 Playback API에 전달합니다. findVideoByID또는findPlaylistByID메서드 중 하나를 사용할 수 있습니다. 다음은 코드입니다.

    public class MainActivity extends BrightcovePlayer {
    
        private final String TAG = this.getClass().getSimpleName();
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // Assign the brightcoveVideoView before entering the superclass.
            // This allows for video player lifecycle management.
            setContentView(R.layout.activity_main);
            brightcoveVideoView = (BrightcoveExoPlayerVideoView) findViewById(R.id.brightcove_video_view);
            super.onCreate(savedInstanceState);
    
            // Get the event emitter from the SDK for notifications and logging
            EventEmitter eventEmitter = brightcoveVideoView.getEventEmitter();
    
            // Create a catalog request to retrieve a video from your Video Cloud library
            Catalog catalog = new Catalog(eventEmitter,
                    getString(R.string.account),
                    getString(R.string.policy));
    
            // Create HttpRequestConfig with the delivery rule you want to be applied.
            // Use the HttpRequestConfig.KEY_DELIVERY_RULE_CONFIG_ID with a String value for config_id
            HttpRequestConfig httpRequestConfig = new HttpRequestConfig.Builder()
                    .addQueryParameter(HttpRequestConfig.KEY_DELIVERY_RULE_CONFIG_ID, "your rules id")
                    .build();
    
            // Add the HttpRequestConfig to the catalog request.
            catalog.findVideoByID(getString(R.string.videoId), httpRequestConfig, new VideoListener() {
    
                // Add the video found to the queue with add().
                // Start playback of the video with start().
                @Override
                public void onVideo(Video video) {
                    Log.v(TAG, "onVideo: video = " + video);
                    brightcoveVideoView.add(video);
                    brightcoveVideoView.start();
                }
            });
        }
    }

iOS 구현

iOS용 네이티브 SDK와 함께 전송 규칙을 사용하려면 다음 단계를 따르세요.

  1. 배달 규칙 ID에 대한 매개 변수를 정의합니다.
  2. 배달 규칙 ID를 카탈로그 호출과 함께 매개 변수로 Playback API에 전달합니다. findVideoWithVideoID또는findPlaylistWithPlaylistID메서드 중 하나를 사용할 수 있습니다. 다음은 코드입니다.

    - (void)requestContentFromPlaybackService
    {
        NSDictionary *playbackAPIParameters = @{@"config_id":@"your rules id"};
        [self.playbackService findVideoWithVideoID:kViewControllerVideoID
            parameters:playbackAPIParameters
            completion:^(BCOVVideo *video, NSDictionary *jsonResponse, NSError *error) {
    
            if (video)
            {
                [self.playbackController setVideos:@[ video ]];
            }
            else
            {
                NSLog(@"ViewController Debug - Error retrieving video playlist: `%@`", error);
            }
        }];
    }