Ad Info를 포함한 레벨플레이 리스너 연동
아이언소스 SDK 7.2.3부터, 광고 콜백에서 네트워크, 세그먼트, 그리고 A/B테스트 등의 더 많은 데이터를 받을 수 있습니다.
새로운 광고 유닛 리스너 구현
AdInfo 콜백을 지원하는 새로운 콜백 리스너인 레벨플레이 리스너를 구현하세요.
AdInfo 객체는 성공적으로 로드 된 가장 최근의 광고 정보 객체이며, 로드 실패 시에는 광고가 로드되지 않기 때문에 콜백에 포함되지 않습니다.
데이터 중복을 피하기 위해, 기존에 사용하시던 리스너들을 등록해제 하시기를 권장 드립니다.
보상형 동영상 광고
IronSource.setLevelPlayRewardedVideoListener(new LevelPlayRewardedVideoListener() {
// Indicates that there's an available ad.
// The adInfo object includes information about the ad that was loaded successfully
// Use this callback instead of onRewardedVideoAvailabilityChanged(true)
@Override
public void onAdAvailable(AdInfo adInfo){}
// Indicates that no ads are available to be displayed
// Use this callback instead of onRewardedVideoAvailabilityChanged(false)
@Override
public void onAdUnavailable(){}
// The Rewarded Video ad view has opened. Your activity will loose focus
@Override
public void onAdOpened(AdInfo adInfo){}
// The Rewarded Video ad view is about to be closed. Your activity will regain its focus
@Override
public void onAdClosed(AdInfo adInfo){}
// The user completed to watch the video, and should be rewarded.
// The placement parameter will include the reward data.
// When using server-to-server callbacks, you may ignore this event and wait for the ironSource server callback
@Override
public void onAdRewarded(Placement placement, AdInfo adInfo){}
// The rewarded video ad was failed to show
@Override
public void onAdShowFailed(IronSourceError error, AdInfo adInfo){}
// Invoked when the video ad was clicked.
// This callback is not supported by all networks, and we recommend using it
// only if it's supported by all networks you included in your build
@Override
public void onAdClicked(Placement placement, AdInfo adInfo){}
});
Note:
리스너를 RewardedVideoListener에서 LevelPlayRewardedVideoListener로 업데이트 시에는, onRewardedVideoAvailabilityChanged 콜백 대신 onAdAvailable 및 onAdAvailable 콜백을 사용해 주세요.
보상형 동영상 광고 수동 로드
IronSource.setLevelPlayRewardedVideoManualListener(new LevelPlayRewardedVideoManualListener() {
// Indicates that the Rewarded video ad was loaded successfully.
// AdInfo parameter includes information about the loaded ad
@Override
public void onAdReady(AdInfo adInfo) {}
// Invoked when the rewarded video failed to load
@Override
public void onAdLoadFailed(IronSourceError error){}
// The Rewarded Video ad view has opened. Your activity will loose focus
@Override
public void onAdOpened(AdInfo adInfo){}
// The Rewarded Video ad view is about to be closed. Your activity will regain its focus
@Override
public void onAdClosed(AdInfo adInfo){}
// The user completed to watch the video, and should be rewarded.
// The placement parameter will include the reward data.
// When using server-to-server callbacks, you may ignore this event and wait for the ironSource server callback
@Override
public void onAdRewarded(Placement placement, AdInfo adInfo){}
// The rewarded video ad was failed to show
@Override
public void onAdShowFailed(IronSourceError error, AdInfo adInfo){}
// Invoked when the video ad was clicked.
// This callback is not supported by all networks, and we recommend using it
// only if it's supported by all networks you included in your build
@Override
public void onAdClicked(Placement placement, AdInfo adInfo){}
});
인터스티셜 (전면광고)
IronSource.setLevelPlayInterstitialListener(new LevelPlayInterstitialListener() {
// Invoked when the interstitial ad was loaded successfully.
// AdInfo parameter includes information about the loaded ad
@Override
public void onAdReady(AdInfo adInfo){}
// Indicates that the ad failed to be loaded
@Override
public void onAdLoadFailed(IronSourceError error){}
// Invoked when the Interstitial Ad Unit has opened, and user left the application screen.
// This is the impression indication.
@Override
public void onAdOpened(AdInfo adInfo){}
// Invoked when the interstitial ad closed and the user went back to the application screen.
@Override
public void onAdClosed(AdInfo adInfo){}
// Invoked when the ad failed to show
@Override
public void onAdShowFailed(IronSourceError error, AdInfo adInfo){}
// Invoked when end user clicked on the interstitial ad
@Override
public void onAdClicked(AdInfo adInfo){}
// Invoked before the interstitial ad was opened, and before the InterstitialOnAdOpenedEvent is reported.
// This callback is not supported by all networks, and we recommend using it only if
// it's supported by all networks you included in your build.
@Override
public void onAdShowSucceeded(AdInfo adInfo){}
});
배너 광고
banner.setLevelPlayBannerListener(new LevelPlayBannerListener() {
// Invoked each time a banner was loaded. Either on refresh, or manual load.
// AdInfo parameter includes information about the loaded ad
@Override
public void onAdLoaded(AdInfo adInfo){}
// Invoked when the banner loading process has failed.
// This callback will be sent both for manual load and refreshed banner failures.
@Override
public void onAdLoadFailed(IronSourceError error){}
// Invoked when end user clicks on the banner ad
@Override
public void onAdClicked(AdInfo adInfo){}
// Notifies the presentation of a full screen content following user click
@Override
public void onAdScreenPresented(AdInfo adInfo){}
// Notifies the presented screen has been dismissed
@Override
public void onAdScreenDismissed(AdInfo adInfo){}
//Invoked when the user left the app
@Override
public void onAdLeftApplication(AdInfo adInfo){}
});
Note:
onAdLoaded 콜백과 onAdLoadFailed 콜백은 들은 수동 로드 시 및 배너 갱신 시 모두 호출됩니다.
AdInfo 데이터 연동
AdInfo가 포함된 레벨플레이 리스너 구현이 끝나면, 앱의 데이터 일부로 이 데이터를 사용하실 수 있습니다.
AdInfo 데이터가 없는 경우에는 adInfo의 문자열 파라미터가 빈 문자열로 반환되며, 숫자 파라미터의 경우 0 으로 반환됩니다.
IronSource.setLevelPlayListener(LevelPlayInterstitialListener) {
@override
public void onAdReady (AdInfo adInfo)
{
String AdUnit = adInfo.getAdUnit();
String AuctionId = adInfo.getAuctionId();
String AdNetwork = adInfo.getAdNetwork();
String Ab = adInfo.getAb();
String Country = adInfo.getCountry();
String InstanceId = adInfo.getInstanceId();
String InstanceName = adInfo.getInstanceName();
String SegmentName = adInfo.getSegmentName();
Double Revenue = adInfo.getRevenue();
String Precision = adInfo.getPrecision();
String EncryptedCPM = adInfo.getEncryptedCPM();
}
}
Ad Info 필드
아래는 새 AdInfo 객체에 포함되어 반환되는 관련 데이터 필드 (설명 및 데이터 타입 포함) 목록입니다:
파라미터 명칭 | 설명 | 데이터 타입 |
auctionId | 각 광고 경매 별 고유 식별자 | String |
adUnit | 표시된 광고 유닛 (보상형 동영상/인터스티셜(전면광고)/배너) | String |
adNetwork | 광고 제공한 광고 네트워크 명칭 | String |
instanceName | 플랫폼 상에서 정의된 광고 네트워크 인스턴스의 명칭. 입찰형 인스턴스의 광고 소스의 경우, 인스턴스 명칭은 ‘Bidding’이 됩니다. | String |
instanceId | 광고 네트워크 별 광고 Slot 식별자로, 광고 네트워크의 instance ID, placement ID, zone ID 등이 여기에 해당됩니다. | String |
country | ISO 3166-1 형식 국가 코드 | String |
revenue | 광고 노출로 생성된 수익 (USD). 수익값은 정확도(precison 필드 설명 참고)에 따라서 예상 수치 또는 실제 수치가 될 수 있습니다. | Double |
precision | revenue(수익) 필드 값의 출처: BID – 수익값이 실시강 경매에서 제공됨 (단, Meta Audience Network의 입찰 인스턴스의 경우 미지원) RATE – 퍼블리셔가 레벨플레이 플랫폼 상에서 직접 할당한 값 CPM – 과거 인스턴스의 퍼포먼스 이력을 기준으로 레벨플레이 플랫폼에서 산출한 예상치 |
String |
ab | 레벨플레이 플랫폼 상에서 A/B 테스트가 활성화 되었는지 여부를 표시 | String |
segmentName | 세분화 방법에 따라 정의된 사용자와 관련된 세그먼트 | String |
encryptedCPM | Meta Audience Network 광고에만 해당하며, Meta Audience Network에서 클로즈 베타 기간동안 승인받은 퍼블리셔들에게만 전송됩니다. | String |