고급 설정 - Vungle Android SDK

목차

  1. 글로벌 광고 구성
  2. 단일 광고 구성
  3. 구성 옵션
  4. 이벤트 리스너 인터페이스
  5. Proguard

참고: 본 조항은 Vungle Android SDK의 고급 설정에 대해 설명합니다. 아직 Android SDK가 처음인 경우 Android 시작하기 가이드를 참조하십시오.

글로벌 광고 구성

init을 호출한 후 선택적으로 글로벌 AdConfig 객체에 대한 액세스 권한을 얻을 수 있습니다. 이 객체를 사용하면 재생하는 모든 광고에 자동으로 적용될 옵션을 설정할 수 있습니다.

import com.vungle.publisher.VunglePub;
import com.vungle.publisher.AdConfig;
import com.vungle.publisher.Orientation;

public class FirstActivity extends android.app.Activity {

  ...

  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      ...

      vunglePub.init(this, app_id);

      // 글로벌 AdConfig 객체에 대한 참조를 얻습니다.
      final AdConfig globalAdConfig = vunglePub.getGlobalAdConfig();

      // 원하는 구성 옵션을 설정합니다. 
      // 사용할 수 있는 옵션에 대한 전체 설명은       
      // '구성 옵션' 섹션을 참조하십시오.
      globalAdConfig.setSoundEnabled(true);
      globalAdConfig.setOrientation(Orientation.autoRotate);

  }
}

단일 광고 구성

AdConfig 객체를 playAd에 제공하면 재생하는 각각의 광고를 선택적으로 사용자 지정할 수 있습니다. 글로벌 광고 구성(위 참조)에서 어떠한 옵션을 설정하든, 이러한 옵션이 제공된 옵션에 의해 재정의됩니다.  다음 방법으로 재정의 AdConfig를 전달합니다.

import com.vungle.publisher.VunglePub;
import com.vungle.publisher.AdConfig;

public class GameActivity extends android.app.Activity {
  ...

  private void onLevelComplete() {
      // 새로운 AdConfig 객체를 생성합니다.
      final AdConfig overrideConfig = new AdConfig();

      // 원하는 구성 옵션을 설정합니다. 
      // 사용할 수 있는 옵션에 대한 전체 설명은       
      // '구성 옵션' 섹션을 참조하십시오.
      overrideConfig.setIncentivized(true);
      overrideConfig.setSoundEnabled(false);

      // overrideConfig 객체는 이 광고 재생에만 적용됩니다.
      vunglePub.playAd(overrideConfig);
  }
}

구성 옵션

AdConfig 객체

재정의 AdConfig에는 각각의 광고 재생에 설정할 수 있는 옵션 집합이 있습니다.  사용할 수 있는 옵션의 목록은 아래와 같습니다.

메서드 기본값 설명
setOrientation Orientation.matchVideo Orientation.autoRotate는 장치 방향에 따라 광고가 자동으로 회전한다는 뜻입니다.Orientation.matchVideo는 광고가 비디오 재생에 최적인 방향(일반적으로 가로 방향)으로 재생된다는 뜻입니다.
setSoundEnabled true 광고의 시작음 상태를 설정합니다. true에서는 오디오가 장치의 볼륨 및 소리 설정을 따릅니다. false에서는 비디오가 무음으로 시작되지만 사용자가 변경할 수 있습니다.
setBackButtonImmediatelyEnabled false true에서는 사용자가 뒤로 버튼을 사용해 즉시 광고를 끝낼 수 있습니다. false에서는 화면에 닫기 버튼이 나타날 때까지 사용자가 뒤로 버튼을 사용해 광고를 끝낼 수 없습니다.
setImmersiveMode false KitKat+ 장치에서 몰입형 모드를 사용하거나 중지합니다.
setIncentivized false 인센티브화 모드를 설정합니다. 보상형 광고에 서버 간 콜백을 사용하는 경우 true로 설정해야 합니다. true에서는 사용자가 광고를 건너뛰려 할 때 확인 대화 상자가 표시됩니다. false에서는 확인이 표시되지 않습니다. 인센티브화 광고 설정에 대한 자세한 지침은 여기를 참조하십시오.
setIncentivizedUserId none 해당 사용자에게 인센티브화 광고 시청에 대한 보상을 제공해야 하는지 확인하기 위해 애플리케이션에 고유한 사용자 ID가 전달되도록 설정합니다. 인센티브화 광고가 아닌 경우에는 해당되지 않습니다.
setIncentivizedCancelDialogTitle "비디오를 닫을까요?" 인센티브화 광고를 건너뛸 경우 표시되는 확인 대화 상자의 제목을 설정합니다. 인센티브화 광고가 아닌 경우에는 해당되지 않습니다.
setIncentivizedCancelDialogBodyText "이 비디오를 일찍 닫으면 보상을 받을 수 없습니다. 정말 닫을까요?" 인센티브화 광고를 건너뛸 경우 표시되는 확인 대화 상자의 본문을 설정합니다. 인센티브화 광고가 아닌 경우에는 해당되지 않습니다.
setIncentivizedCancelDialogCloseButtonText "비디오 닫기" 인센티브화 광고를 건너뛸 경우 표시되는 확인 대화 상자의 '취소 버튼' 텍스트를 설정합니다. 인센티브화 광고가 아닌 경우에는 해당되지 않습니다.
setIncentivizedCancelDialogKeepWatchingButtonText "계속 시청" 인센티브화 광고를 건너뛸 경우 표시되는 확인 대화 상자의 '계속 시청 버튼' 텍스트를 설정합니다. 인센티브화 광고가 아닌 경우에는 해당되지 않습니다.
setExtra1..8 none 곧 제공 - 이 기능은 아직 완료되지 않았으나 완료되면 이를 이용해 연령대, 성별 등의 지표를 추적할 수 있습니다.
setPlacement none 곧 제공 - 각 광고의 재생 위치를 자세히 기술한 메타데이터.  애플리케이션 성능에 대한 보고 데이터를 검색할 때 다양한 광고 경험을 필터링하는 데 사용됩니다.
setTransitionAnimationEnabled false 표준 조각 전환 애니메이션을 사용하거나 중지합니다.

닫기 버튼 표시

사용자에게 광고를 닫을 수 있는 옵션을 제공할지 결정하려면 Vungle 대시보드에서 앱의 고급 설정에 포함된 강제 보기 옵션을 사용합니다.

이벤트 리스너 인터페이스

Publisher SDK는 com.vungle.publisher.EventListener 클래스를 구현하고 다음을 이용해 등록/제거함으로써 프로그래밍 방식으로 처리할 수 있는 여러 건의 이벤트를 발생시킵니다.

VunglePub.setEventListeners(eventListener1, eventListener2, ...)

메모리 누수를 방지하려면 더 이상 사용할 필요가 없는 이벤트 리스너를 제거하십시오.

이벤트 리스너를 관리하는 데 사용할 수 있는 메서드는 다음과 같습니다.

메서드 설명
addEventListeners() 등록된 이벤트 리스너를 지운 다음 입력 이벤트 리스너를 추가합니다.
clearEventListeners() 이벤트 리스너를 지웁니다.
removeEventListeners() 입력 이벤트 리스너를 제거합니다.

UI 스레드 노트

배경 스레드에서 콜백이 실행되므로 이벤트 콜백에 의한 UI 상호 작용/업데이트는 실행 이전에 기본 UI 스레드로 전달되어야 합니다. UI 스레드에서 코드를 실행하는 대표적인 두 가지 방법은 다음과 같습니다.

import com.vungle.publisher.EventListener;
...

public class FirstActivity extends android.app.Activity {
  ...

  private final EventListener vungleListener = new EventListener(){

@Deprecated
@Override public void onVideoView(boolean isCompletedView, int watchedMillis, int videoDurationMillis) { // 이 메서드는 이제 사용되지 않으며 제거될 예정입니다. 사용하지 마십시오.
// 그 대신 onAdEnd를 사용하십시오.
} @Override public void onAdStart() { // 광고 재생 전에 호출됩니다. } @Override public void onAdEnd(boolean wasSuccessfulView, boolean wasCallToActionClicked) { // 사용자가 광고에서 나가고 애플리케이션으로 컨트롤이 반환되면 호출됩니다. // wasSuccessfulView가 true인 경우 사용자가 광고를 시청했고 보상이 주어져야 합니다 // (보상형 광고일 경우).
// wasCallToActionClicked가 true인 경우 사용자가 광고의 메시지
           // 버튼을 클릭했습니다.
    }

    @Override
    public void onAdPlayableChanged(boolean isAdPlayable) {
        // 재생 가능 상태가 변경될 때 호출됩니다. isAdPlayable이 true인 경우 이제 광고를        
        // 재생할 수 있습니다.
        // false인 경우 아직 광고를 재생할 수 없습니다.
    }

    @Override
    public void onAdUnavailable(String reason) {
        // VunglePub.playAd()가 호출되었지만 재생할 광고가 없었을 때 호출됩니다.
    }

  };

  @Override
  public void onCreate(Bundle savedInstanceState) {
      ...

      vunglePub.init(this, app_id);
      vunglePub.setEventListeners(vungleListener);

  };

@Override public void onDestroy() { ... vunglePub.clearEventListeners(); };
}

Proguard

Proguard를 사용하는 경우 Proguard 구성 파일에 다음과 같은 줄이 있어야 합니다.

-dontwarn com.vungle.**
-keep class com.vungle.** { *; } // omitted public
-keep class javax.inject.*
또 다른 질문이 있으십니까? 문의 등록

댓글