Android용 광고 품질 SDK 통합
Android용 레벨플레이 광고 품질 SDK의 통합을 용이하게 하며, 설정 단계와 구성 수정에 대해 설명합니다.
읽는 시간 4분최근 업데이트: 8시간 전
광고 품질은 사용자가 보는 광고 콘텐츠를 모니터링하고 제어할 수 있도록 지원하여, 앱의 목적에 부합하고 사용자 경험을 향상시키는 광고를 제공하는 데 도움이 됩니다. 고객의 관심을 끄는 관련성 높은 광고를 게재하면서 수익 창출 가능성을 극대화합니다.
필수 조건
레벨플레이 플랫폼에서 단계별 가이드를 따르고 애플리케이션을 설정합니다.
1단계: 앱에 Ad 품질 SDK 임포트
Gradle
- 저장소 섹션 내부에서 앱 레벨 빌드.gradle 파일에 다음 코드를 추가합니다.
repositories { mavenCentral()}
- 그런 다음 종속성 섹션에 다음을 추가합니다.
dependencies { // Ad Quality SDK (standalone; from 8.9.0 Ad Quality is integrated in LevelPlay SDK) implementation 'com.unity3d.ads-mediation:adquality-sdk:9.3.1'}
2단계: SDK 초기화
- Unity 레벨플레이 플랫폼에서 찾을 수 있는 레벨플레이 앱 키를 사용하여 광고 품질 SDK를 초기화합니다.
- 앱의 메인 스레드 또는 다른 광고 네트워크 SDK와 동일한 스레드 다음 코드를 추가하여 Ad 품질 SDK를 초기화합니다.
import com.ironsource.adqualitysdk.sdk.IronSourceAdQuality;protected void onCreate(Bundle savedInstanceState) { // Initialize IronSourceAdQuality.getInstance().initialize(this, appKey);}
3단계(선택 사항): 고급 SDK 초기화
커스터마이즈 구성을 사용하여 연동 설정을 커스터마이즈하면 더 많은 기능을 활용할 수 있습니다.
- 사용자 ID: Ad 품질 기본 ID 대신 자체 사용자 ID 사용
- 테스트 모드: Ad Quality SDK 연동 테스트(기본 설정: false)
- 로그 레벨: 로그 레벨 – 코드 문제를 디버깅할 로그 레벨 선택(기본 설정: INFO)
아래 코드를 사용하여 빌더에서 config 오브젝트를 생성합니다.
ISAdQualityConfig.Builder adQualityConfigBuilder = new ISAdQualityConfig.Builder();
사용자 ID
Ad Quality SDK는 다음과 같은 사용자 ID 구성 옵션을 제공합니다.
- 사용자 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.
- 광고 품질 SDK를 초기화한 후 기본 사용자 ID를 변경합니다. 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 INFOISAdQualityConfig adQualityConfig = adQualityConfigBuilder.build();IronSourceAdQuality.getInstance().initialize(this, appKey, adQualityConfig);
4단계(선택 사항): SDK 콜백 이벤트 설정
ISAdQualityInitListener:
ISAdQualityConfig.Builder 빌더 = 새로운 ISAdQualityConfig.Builder().setAdQualityInitListener(새로운 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);
5단계(선택 사항): Ad Quality SDK에 노출 단위 광고 수익 리포트
광고 품질 SDK 7.2.0 이상은 노출 수준 광고 매출 보고서를 지원합니다.
Ad Quality SDK에서 노출 수준 광고 수익을 리포트하려면 SDK 연동에 다음 코드 스니핏을 추가합니다.
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 미디에이션을 사용 중인 경우 다음 단계를 따릅니다.
- AdMob 세일즈 담당자에게 AdMob 노출 수준 LTV(iLTV) 활성화를 요청합니다.
- Android용 또는 iOS용 GMA SDK 8.12.0 이상을 사용하고 있으며 해당 버전이 iLTV를 지원하는지 확인합니다.
- Ad Quality SDK 연동에 다음 코드 스니핏을 추가합니다.
RewardedAd mRewardedAd; @Overridepublic 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()); } });}