Ad Quality SDK 연동하기

Ad Quality SDK로 앱에서 Ad Quality를 실행할 수 있습니다. Ad Quality SDK는 사용 중인 광고 네트워크 SDK들로부터 광고 이벤트 및 필요 어트리뷰션 정보들을 자동으로 수집합니다. 이 방법으로 Ad Quality SDK를 최소한의 코딩으로 간편하게 연동할 수 있습니다.

중요합니다! Ad Quality SDK 연동 전에 반드시 적어도 한 개 이상의 앱이 아이언소스 계정에 등록되었는지 확인해 주세요.

레벨플레이를 사용하는 퍼블리셔들은 단 한 줄의 코드만을 추가하면 Ad Quality SDK를 미디에이션과 함께 연동 및 업데이트 할 수 있습니다. 여기.에 있는 문서를 참고하세요.

1단계: Ad Quality SDK를 앱에 불러오기

Gradle
1. 앱에 아래의 코드를 build.gradle파일 내의 repositories 구문에 추가합니다:

repositories {
   maven {
       url 'https://android-sdk.is.com/'
   }
}

2. 그 다음, 아래의 코드를 dependencies 섹션에 추가합니다:

dependencies {
  // ironSource Ad Quality SDK
  implementation 'com.ironsource:adqualitysdk:7.22.3'
}

2단계: SDK 초기화 하기

  1. 유니티 레벨플레이 플랫폼에서 발급받은 아이언소스 앱 키로 Ad Quality SDK를 초기화하세요.
  2. 아래의 코드를 앱의 메인 스레드 또는 다른 광고 네트워크 SDK들의 스레드 상에 추가하여 Ad Quality SDK를 초기화합니다:

import com.ironsource.adqualitysdk.sdk.IronSourceAdQuality;
protected void onCreate(Bundle savedInstanceState) {
    // Initialize
    IronSourceAdQuality.getInstance().initialize(this, appKey);
}

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

Note: 레벨플레이를 사용 중일 경우 아래 기능들을 사용하려면 반드시 Ad Quality를 먼저 초기화 해야 합니다. 

연동 설정을 커스터마이즈하여 아래의 특수 구성으로 더 많은 기능을 사용할 수 있습니다:

  1. User ID – Ad Quality에서 제공되는 기본 ID 대신 직접 정의한 사용자 ID를 사용합니다
  2. Test mode – Ad Quality SDK 연동사항을 테스트합니다. (기본값은 false 입니다)
  3. Log level – 코드 이슈 디버그를 위한 로그 수준을 선택합니다 (기본값은 INFO 입니다)

아래의 코드를 사용해 빌더로 Ad Quality 설정 구성 오브젝트를 생성하세요.

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

사용자 ID 설정

Ad Quality SDK는 사용자 ID 설정에 2 가지 옵션을 제공합니다:

1.직접 정의한 사용자 ID를 사용하고, 이를 SDK 초기화 이전 또는 도중에 등록합니다.

adQualityConfigBuilder.setUserId(userId);
// The default user id is Ad Quality internal id.
// The only allowed characters for user id are: letters, numbers, @, -, :, =, _ and /.
// The user id cannot be null and must be between 2 and 100 characters, otherwise it will be blocked.

2. 초기화 이후 시점에 직접 정의하는 사용자 ID가 결정되는 경우, Ad Quality SDK 초기화 이후 기본 사용자 ID를 변경합니다.

IronSourceAdQuality.getInstance().changeUserId(userId);
// The default user id is Ad Quality internal id. 
// The only allowed characters for user id are: letters, numbers, @, -, :, =, _ and /. 
// 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 SDK가 레벨플레이보다 먼저 초기화 되어야 합니다.

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 SDK를 먼저 초기화 해야 합니다. 
Note:  해당 기능은 전체 화면 광고에 대해서만 지원됩니다. 레벨플레이, MAX, DT 페어비드 미디에이션에서는 이 데이터들은 자동으로 수집됩니다.

Ad Quality SDK 7.2.0 이상 버전에서는 광고 수익 측정 보고 기능을 지원합니다:

Ad Quality SDK에 광고 수익 측정 데이터를 전송하려면, SDK 연동 코드에 아래의 구문을 추가해 주세요.

Important! 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 노출 수준 광고 수익 활성화 (iLTV)를 요청해 주세요.
  2. 안드로이드 또는 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());
       }
  });
}