Ad Quality SDK 연동하기

Ad Quality는 사용자가 보는 광고 콘텐츠를 모니터링하고 제어하여 앱의 목표에 부합하고 사용자 경험을 향상할 수 있도록 돕습니다. 잠재 수익을 극대화하면서 사용자의 참여를 유도하는 관련성 높은 광고를 게재하세요.

Before you start 레벨플레이에서 제공하는 단계별 가이드를 따라 레벨플레이 플랫폼에서 애플리케이션을 구성하세요

Note: 버전 8.9.0부터 Ad Quality는 레벨플레이 SDK에 통합되어 레벨플레이가 연동되어 있으면 레벨플레이 초기화 시 자동으로 초기화됩니다. 아래 단계는 빌드에 레벨플레이가 구현되지 않았거나 레벨플레이 SDK 8.9.0 이전 버전을 사용하는 경우에 적용됩니다.

1단계: 앱에 Ad Quality SDK 가져오기


Gradle
1. 앱의 build.gradle 파일 내 repositories 섹션에 다음을 추가합니다:

repositories { 
    mavenCentral() 
} 

2. 그런 다음 dependencies 섹션에 다음을 추가합니다:

dependencies { // ironSource Ad Quality SDK implementation 
    'com.unity3d.ads-mediation:adquality-sdk:7.26.1' 
}

2단계: SDK 초기화

  1. Unity 레벨플레이 플랫폼에서 발급받은 레벨플레이(아이언소스) 앱 키를 사용하여 Ad Quality SDK를 초기화하세요.
  2. Ad Quality SDK를 초기화하려면 앱의 메인 스레드 또는 다른 광고 네트워크 SDK와 동일한 스레드에 다음 코드를 추가합니다:

 

import com.ironsource.adqualitysdk.sdk.IronSourceAdQuality; 

protected void onCreate(Bundle savedInstanceState) { 
    // Initialize 
    IronSourceAdQuality.getInstance().initialize(this, appKey); 
}

3단계(선택): 고급 SDK 초기화

Note: 아래 구성을 사용하려면 레벨플레이 SDK를 초기화하기 전에 Ad Quality SDK를 초기화합니다.
다음과 같은 특별한 구성으로 연동 설정을 커스터마이즈하여 더 많은 기능을 활용해 보세요:

  1. 사용자 ID – Ad Quality의 기본 ID 대신 자체 사용자 ID를 사용합니다.
  2. 테스트 모드 – Ad Quality SDK 연동을 테스트합니다(기본값은 false).
  3. 로그 레벨 – 코드 문제를 디버깅하기 위한 로그 레벨을 선택합니다(기본값은 INFO).

아래 코드를 사용하여 Builder를 사용해 구성 객체를 생성합니다.

ISAdQualityConfig.Builder adQualityConfigBuilder = new ISAdQualityConfig.Builder();

사용자 ID

Ad Quality SDK는 사용자 ID를 구성하는 두 가지 옵션을 제공합니다:

1. 자체 사용자 ID를 사용하고, 초기화 전이나 도중에 추가합니다:

adQualityConfigBuilder.setUserId(userId); 
// The default user id is Ad Quality internal id. 
// The user id cannot be null and must be between 2 and 100 characters, otherwise it will be blocked.

ID가 나중에 설정되는 경우를 위해, Ad Quality SDK를 초기화한 후 기본 사용자 ID를 변경합니다.

IronSourceAdQuality.getInstance().changeUserId(userId); 
// The default user id is Ad Quality internal id. 
// The user id cannot be null and must be between 2 and 100 characters, otherwise it will be blocked.

테스트 모드

adQualityConfigBuilder.setTestMode(true); 
// The default is false - set to true only to test your Ad Quality integration

로그 레벨

adQualityConfigBuilder.setLogLevel(ISAdQualityLogLevel.INFO); 
// There are 5 different log levels: 
// ERROR, WARNING, INFO, DEBUG, VERBOSE 
// The default is INFO 
ISAdQualityConfig adQualityConfig = adQualityConfigBuilder.build(); 
IronSourceAdQuality.getInstance().initialize(this, appKey, adQualityConfig);

4단계(선택): SDK 콜백 이벤트 구성

Note: 레벨플레이를 사용하는 경우, 다음 기능을 사용하려면 먼저 Ad Quality를 초기화해야 합니다.

ISAdQualityInitListener:

ISAdQualityConfig.Builder builder = new ISAdQualityConfig.Builder().setAdQualityInitListener(new ISAdQualityInitListener() { 

    @Override 
    public void adQualitySdkInitSuccess() { 
        Log.d("AdQualityInitListener", "adQualitySdkInitSuccess"); 
    } 

    @Override 
    public void adQualitySdkInitFailed(ISAdQualityInitError error, String message) { 
        Log.d("AdQualityInitListener", "adQualitySdkInitFailed " + error + " message: " + message); 
    } 
}); 

ISAdQualityConfig adQualityConfig = builder.build();
IronSourceAdQuality.getInstance().initialize(this, appKey, adQualityConfig);

Note: Ad Quality SDK를 초기화하는 데 걸리는 시간은 앱에 연동된 광고 네트워크 SDK의 수에 따라 다릅니다. 네트워크 연결 문제로 인해 지연이 발생할 수도 있습니다. 평균적으로 초기화에는 3~4초가 소요됩니다.

5단계(선택사항): 노출 수준 광고 수익을 Ad Quality SDK에 보고하기

Note: 레벨플레이를 사용하는 경우, 다음 기능을 사용하려면 먼저 Ad Quality를 초기화해야 합니다.
Note: 이 기능은 전체 화면 광고만 지원합니다. 레벨플레이, MAX, DT FairBid의 경우 이 데이터는 자동으로 수집됩니다

Ad Quality SDK 7.2.0 이상 버전은 노출 수준 광고 수익 보고를 지원합니다:

Ad Quality SDK에서 노출 수준 광고 수익을 보고하려면 아래 코드 스니펫을 SDK 연동에 추가해 주세요.

중요합니다! sendCustomMediationRevenue 메서드는 광고가 표시될 때 호출해야 하며, 광고 라이프사이클 외부에서 호출하면 아무런 효과가 없습니다

ISAdQualityCustomMediationRevenue.Builder builder = new ISAdQualityCustomMediationRevenue.Builder()                                                 
    .setMediationNetwork(ISAdQualityMediationNetwork.SELF_MEDIATED)                                                 
    .setAdType(ISAdQualityAdType.REWARDED_VIDEO)
    .setPlacement("placement")
    .setRevenue(0.12);
IronSourceAdQuality.getInstance().sendCustomMediationRevenue(builder.build());

AdMob 미디에이션을 사용하는 경우 다음 단계를 따라서 구현합니다:

  1. AdMob 계정 관리자에게 AdMob 노출 수준 LTV(iLTV)를 활성화하도록 요청하세요
  2. Android 또는 iOS용 GMA SDK 8.12.0 이상 버전을 사용하고 해당 버전이 iLTV를 지원하는지 확인하세요
  3. Ad Quality SDK 연동에 다음 코드 스니펫을 추가하세요:

RewardedAd mRewardedAd;
 
@Override
public void onAdLoaded(@NonNull RewardedAd rewardedAd) {
   mRewardedAd = rewardedAd;
   // Set paid event listener
   mRewardedAd.setOnPaidEventListener(new OnPaidEventListener() {
   @Override
   public void onPaidEvent(AdValue adValue) {
         ISAdQualityCustomMediationRevenue.Builder builder = new ISAdQualityCustomMediationRevenue.Builder()                                                                                                         
             .setMediationNetwork(ISAdQualityMediationNetwork.ADMOB)                                                                                                 
             .setAdType(ISAdQualityAdType.REWARDED_VIDEO)                                                      
             .setPlacement(mRewardedAd.getAdUnitId())                                                          
             .setRevenue(adValue.getValueMicros()/1000000.0);
         IronSourceAdQuality.getInstance().sendCustomMediationRevenue(builder.build());
       }
  });
}