개요
Vungle MREC는 현재 베타 단계에 있습니다. 성공적인 시작을 위해 액세스하려면 계정 관리자에게 직접 문의하시기 바랍니다.
SDK v6.4.11부터, Vungle은 MREC 동영상 광고를 지원합니다. MREC는 "중간 직사각형" 광고의 약자입니다. 전면 광고와 다르게, MREC 광고는 전체 화면 뷰를 필요로 하지 않습니다. 배너 광고와 유사하게 MREC 동영상 광고는 앱 레이아웃 내 어디에나 위치할 수 있는 직사각형 광고로, 일반적으로 화면 상단 또는 하단에 표시되므로 광고가 재생되는 동안 사용자가 앱과 계속 상호 작용할 수 있습니다. MREC 광고를 렌더링하기 위한 컨테이너 크기는 산업 표준인 300x250입니다.
1단계. 기본 통합 완료
Android 또는 Amazon 앱에 MREC를 통합하려면 먼저 기본 통합 문서의 지침을 따릅니다. 이 문서에는 추가 정보가 포함되어 있으며 기본 통합을 완료했다고 가정하고 설명을 진행합니다.
2단계. 이벤트 리스너 구현
이벤트 리스너 구현
이제 광고 로드 이벤트용 LoadAdCallback
및 광고 재생 이벤트용 PlayAdCallback
을(를) 구현하거나, loadAd
및playAd
을(를) 호출하는 인라인 콜백을 구현하여 모든 이벤트에 일반 콜백을 사용할 수 있습니다.
LoadAdCallback
private final LoadAdCallback vungleLoadAdCallback = new LoadAdCallback() {
@Override
public void onAdLoad(String id) {
// Ad has been successfully loaded for the placement
}
@Override
public void onError(String id, VungleException exception) {
// Ad has failed to load for the placement
}
};
// 6.4.x & below
private final LoadAdCallback vungleLoadAdCallback = new LoadAdCallback() {
@Override
public void onAdLoad(String id) {
// Ad has been successfully loaded for the placement
}
@Override
public void onError(String id, Throwable throwable) {
// Ad has failed to load for the placement
}
};
오버라이딩 가능 메서드 | 설명 |
---|---|
onAdLoad(String id) |
광고가 성공적으로 로드되고 플레이스먼트에 재생될 때 호출됩니다 |
onError(String id) |
광고를 재생하는 동안 오류가 발생하면 호출됩니다. VungleException 의 getLocalizedMessage 오류 메시지를 확인하고 getExceptionCode 을(를) 디버깅에 사용할 수 있습니다.
|
PlayAdCallback
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
@Override
public void onAdStart(String id) {
// Ad experience started
}
@Override
public void onAdEnd(String id) {
// Ad experience ended
}
@Override
public void onAdClick(String id) {
// User clicked on ad
}
@Override
public void onAdRewarded(String id) {
// User earned reward for watching an ad
}
@Override
public void onAdLeftApplication(String id) {
// User has left app during an ad experience
}
@Override
public void onError(String id, VungleException exception) {
// Ad failed to play
}
};
// 6.5.x & below
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
@Override
public void onAdStart(String placementReferenceId) {
// Ad experience started
}
// Deprecated
@Override
public void onAdEnd(String placementReferenceId, boolean completed, boolean isCTAClicked) {
// Invoked when the ad experience is completed
// isCTAClicked flag indicates whether CTA download button has been triggered
// completed flag will indicate whether user has watched 80% of video or longer.
}
@Override
public void onError(String placementReferenceId, VungleException exception) {
// Ad failed to play
}
};
오버라이딩 가능 메서드 | 설명 |
---|---|
onAdStart(String id) |
광고가 성공적으로 실행되고 기기에 표시될 때 호출됩니다. |
onAdEnd(String id) |
컨트롤이 호스팅 앱으로 다시 반환되기 직전에 전체 광고 경험이 완료될 때 호출됩니다. |
onAdClick(String id) |
사용자가 동영상 광고 또는 다운로드 버튼을 클릭할 때 호출됩니다. |
onAdRewarded(String id) |
사용자가 보상형 동영상의 80%를 완료하고 보상을 받아야 할 때 호출됩니다. 사용자에 대한 보상은 해당 장소에서 이루어져야 하며 오직 보상형 플레이스먼트에 대해서만 트리거됩니다. |
onAdLeftApplication(String id) |
광고에 관련된 스토어 페이지를 여는 것과 같이 광고 경험이 완료되기 전에 사용자가 앱을 떠날 때 호출됩니다. |
onAdError(String id, VungleException exception) |
광고를 재생하는 동안 오류가 발생하면 호출됩니다. VungleException 의 getLocalizedMessage 오류 메시지를 확인하고 getExceptionCode 을(를) 디버깅에 사용할 수 있습니다.
|
3단계. MREC 광고 로드, 표시 및 닫기
MREC 광고 로드
MREC 광고 로드 방법은 전체 화면 광고 로드와 동일합니다. 하지만, 플레이스먼트가 MREC Feed를 지원하도록 구성해야 합니다. 플레이스먼트에 MREC를 사용하도록 설정하려면 Vungle 계정 관리자에게 문의해 주십시오.
MREC 광고 표시
뷰 크기가 고정되어 있기 때문에 MREC 광고를 표시하는 데 사용되는 컨테이너를 300dp x 250dp로 지정해야 합니다. 뷰는 화면 어디에나 배치할 수 있습니다. 이 컨테이너는 RelativeLayOut
입니다.
RelativeLayout
은(는) 화면 어디든지 배치할 수 있습니다. 그런 다음 AdConfig.setAdSize
을(를) 호출하여 AdConfig.AdSize.VUNGLE_MREC
이(가) 되도록 광고 크기를 지정하고 MREC 광고 개체를 가져오기 위해 Vungle.getNativeAd
을(를) 호출할 때 개체를 전달해야 합니다.
마지막으로, addView
함수를 호출하여 컨테이너를 MREC 광고와 연결합니다. Vungle MREC는 기본적으로 사운드가 활성화된 상태로 재생되지만 setMuted
옵션을 true
(으)로 설정하여 동영상을 음소거 상태로 시작할 수 있습니다.
private RelativeLayout mrecContainer = findViewById(...);
AdConfig adConfig = new AdConfig();
adConfig.setAdSize(AdConfig.AdSize.VUNGLE_MREC);
adConfig.setMuted(true);
VungleNativeAd vungleNativeAd = Vungle.getNativeAd("MREC_ID", adConfig, vunglePlayAdCallback);
View nativeAdView = vungleNativeAd.renderNativeView();
mrecContainer.addView(nativeAdView);
MREC 광고 닫기
MREC 광고 뷰는 컨테이너 뷰에 추가되어 있으므로, 광고 뷰가 화면에서 사라지거나 활동 또는 조각이 삭제되거나 상위 뷰 컨테이너가 재사용 또는 삭제되는 경우 반드시 제거되어야 합니다. 이전 광고를 닫지 않고 다른 MREC 광고를 재생하면 앱에서 예상치 못한 동작이 발생할 수 있습니다. 그러므로 광고 경험을 종료하기 위해 finishDisplayingAd
을(를) 호출해야 합니다. 또한 Vungle은 뷰 onAdEnd
이벤트를 제거할 것을 권장합니다.
private VungleNativeAd vungleNativeAd;
// Calling finishDisplayingAd when you want to finish displaying MREC Ad
// will trigger onAdEnd and will tell you when you can remove the child
// MREC view container
vungleNativeAd.finishDisplayingAd();
// And removing empty ad view from container
@Override
public void onAdEnd(String id, boolean completed) {
…
parentView.removeView(nativeAdView);
vungleNativeAd = null;
…
}
MREC 광고 상태 첨부 및 분리
사용자가 동영상 광고가 화면에 더 이상 표시되지 않는 지점까지 스크롤한 경우 반드시 동영상을 일시 중지하고 동영상이 다시 표시되면 재개해야 합니다. 일시 중지 및 재개 상태를 제어하려면 VungleNativeAd
인스턴스에서 setAdVisibility
을(를) 호출하고 동영상이 표시되는 경우 true
(으)로, 동영상이 화면에서 사라지는 경우 false
(으)로 설정합니다. setAdVisibility
을(를) 뷰 가시성과 혼동하지 마십시오. 이 setter는 Vungle SDK에 MREC 광고 뷰가 되는지, 이에 따라 SDK가 동영상 재생을 일시 중지 또는 재개하는지 여부를 알려줍니다.
- MREC 광고 일시 중지:
vungleNativeAd.setAdVisibility(false);
- MREC 광고 재개:
vungleNativeAd.setAdVisibility(true);
4단계. MREC 광고 맞춤 설정 (선택)
새 adConfig
개체를 playAd
에 추가하여 재생하는 광고를 개별적으로 사용자 지정할 수 있는 옵션이 있습니다. AdConfig
개체가 null이 되는 경우, 광고가 기본 구성으로 재생될 수 있습니다. 또는 개체가 null이 아닌 경우, AdConfig
setter에서 설정을 재지정할 수도 있습니다. 다음은 AdConfig
사용 방법에 대한 예입니다.
Vungle.playAd(placementReferenceID, adConfig, vunglePlayAdCallback);
위의 예에서는 맞춤형 구성 옵션이 포함된 adConfig
개체를 사용합니다. 다음과 같이 AdConfig
개체를 설정합니다.
AdConfig adConfig = new AdConfig();
adConfig.setAdOrientation(AdConfig.AUTO_ROTATE);
adConfig.setMuted(true);
Vungle.playAd(placementReferenceID, adConfig, vunglePlayAdCallback);
다음 목록은 MREC 광고에 사용 가능한 AdConfig
옵션을 보여줍니다.
옵션 | 설명 |
|
동영상이 주변의 어플리케이션의 설정 중 일치하는 오디오 설정으로 시작되어야 하는 경우 'false', 음소거로 시작되어야 하는 경우 'true' |
|
동일한 세션에서 재생되는 광고의 수를 추적하려면 서수의 정수 값을 사용합니다 |
참고: 여러 광고에 대해 동일한 AdConfig
개체를 사용할 수 있습니다.