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