usingAdBlocker() 메서드 사용
Brightcove Player에는 비디오를 재생하는 브라우저에서 광고 차단기가 사용되고 있는지 확인하는 방법이 있습니다. 이 메서드는 usingAdBlocker()
입니다. 광고 차단기가 감지되면 결정이 내려지면 비즈니스 규칙이 추가 조치를 안내합니다. 다음 예에서는 비디오 중에 세 개의 광고가 표시되거나 광고 차단기가 감지되면 플레이어 아래에 메시지가 표시됩니다.
테스트를 위해 광고 차단기가 설치되어 있지 않은 경우 이 예에서 광고 차단기가 감지되면 빨간색으로 표시된 메시지가 표시됩니다.
구현
다음 코드는 usingAdBlocker()
메서드를 사용하는 전체 예입니다. 기본적으로 코드는 다음을 수행합니다.
- Promise를 사용하여 광고 차단기가 감지되었는지 확인합니다.
- 그렇다면 단락이 동적으로 생성되어 기존
div
에 삽입됩니다.
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
</head>
<body>
<div style="width: 600px;">
<video-js id="myPlayerID"
data-account="1752604059001"
data-player="ZDaDSLULho"
data-embed="default"
controls=""
data-video-id="5701193190001"
data-playlist-id=""
data-application-id=""
width="600" height="337.5" class="vjs-fluid"></video-js>
</div>
<script src="https://players.brightcove.net/1752604059001/ZDaDSLULho_default/index.min.js"></script>
<div id="ad-blocker-note"></div>
<script>
videojs.getPlayer('myPlayerID').ready(function () {
var myPlayer = this;
myPlayer.usingAdBlocker().then( hasBlocker => {
if (hasBlocker) {
var newP = document.createElement("p");
newP = '<strong>Ads will not play as you are using an ad blocker.</strong>';
document.getElementById("ad-blocker-note").insertAdjacentHTML('afterbegin', newP);
}
});
</script>
</body>
</html>
물론 JavaScript 로직에 if
문을 사용할 수 있습니다.
videojs.getPlayer('myPlayerID').ready(function () {
var myPlayer = this;
if (myPlayer.usingAdBlocker()) {
var newP = document.createElement("p");
newP = 'This ad will not play as you are using an ad blocker.';
document.getElementById("ad-blocker-note2").insertAdjacentHTML('afterbegin', newP);
}
});