Android용 노출 수준 매출 통합
노출 수준 매출 (ILR) SDK API를 통합하여 각 노출의 실시간 광고 매출 데이터를 캡처하여 세부 수익화 인사이트를 제공하고 타사 Analytics 플랫폼과 원활하게 통합할 수 있습니다.
읽는 시간 3분최근 업데이트: 8시간 전
필수 조건
레벨플레이 SDK 9.5.0 이상을 애플리케이션 올바르게 연동했는지 확인합니다. Android용 통합 체크리스트를 참고하십시오.
LevelPlayImpressionDataListener 구현
레벨플레이 SDK는 표시된 광고에 대해 알려주는 포스트백을 실행합니다. LevelPlayImpressionDataListener는 노출 데이터를 수신하기 위해 구현할 수 있는 선택적 리스너입니다. 이 리스너는 모든 광고 유닛에 대한 정보를 제공하며, 노출 수준 매출 사용하여 다양한 광고를 식별 수 있습니다.
애플리케이션 LevelPlayImpressionDataListener를 추가하려면 레벨플레이 SDK를 초기화하기 전에 리스너를 선언하여 정보 손실을 방지하십시오.
public static void addImpressionDataListener(LevelPlayImpressionDataListener listener)
레벨플레이 SDK는 노출 데이터와 관련된 성공적인 포스트백을 리스너에게 알립니다.
public static void addImpressionDataListener(ImpressionDataListener listener){ /** 광고가 성공적으로 표시되고 노출 데이터가 기록된 경우 호출됨 **/ }
Impression Listener 설정
setImpressionDataListener()LevelPlayImpressionDataListenerJava
import com.unity3d.mediation.impression.LevelPlayImpressionData;import com.unity3d.mediation.impression.LevelPlayImpressionDataListener;// InterstitialLevelPlayInterstitialAd interstitialAd = new LevelPlayInterstitialAd("adUnitId");interstitialAd.setImpressionDataListener(new LevelPlayImpressionDataListener() { @Override public void onImpressionSuccess(LevelPlayImpressionData impressionData) { Log.d(TAG, "Interstitial onImpressionSuccess: " + impressionData); }});// RewardedLevelPlayRewardedAd rewardedAd = new LevelPlayRewardedAd("adUnitId");rewardedAd.setImpressionDataListener(new LevelPlayImpressionDataListener() { @Override public void onImpressionSuccess(LevelPlayImpressionData impressionData) { Log.d(TAG, "Rewarded onImpressionSuccess: " + impressionData); }});// BannerLevelPlayBannerAdView bannerAdView = new LevelPlayBannerAdView(this, "adUnitId");bannerAdView.setImpressionDataListener(new LevelPlayImpressionDataListener() { @Override public void onImpressionSuccess(LevelPlayImpressionData impressionData) { Log.d(TAG, "Banner onImpressionSuccess: " + impressionData); }});
Kotlin
import com.unity3d.mediation.impression.LevelPlayImpressionDataimport com.unity3d.mediation.impression.LevelPlayImpressionDataListener// Interstitialval interstitialAd = LevelPlayInterstitialAd("adUnitId")interstitialAd.setImpressionDataListener(object : LevelPlayImpressionDataListener { override fun onImpressionSuccess(impressionData: LevelPlayImpressionData) { Log.d(태그, "인터스티셜 광고 onImpressionSuccess: $impressionData") }})// Rewardedval rewardedAd = LevelPlayRewardedAd("adUnitId")rewardedAd.setImpressionDataListener(object : LevelPlayImpressionDataListener { override fun onImpressionSuccess(impressionData: LevelPlayImpressionData) { Log.d(태그, "ImpressionSuccess에 보상형 광고: $impressionData") }})// Bannerval bannerAdView = LevelPlayBannerAdView(this, "adUnitId")bannerAdView.setImpressionDataListener(object : LevelPlayImpressionDataListener { override fun onImpressionSuccess(impressionData: LevelPlayImpressionData) { Log.d(태그, "ImpressionSuccess에 배너: $impressionData") }})
노출 데이터 리스너 제거
광고 오브젝트에 대한 노출 데이터 수신을 중지하려면 를 에 전달합니다.
nullsetImpressionDataListener()Java
interstitialAd.setImpressionDataListener(null);rewardedAd.setImpressionDataListener(null);bannerAdView.setImpressionDataListener(null);
Kotlin
interstitialAd.setImpressionDataListener(null)rewardedAd.setImpressionDataListener(null)bannerAdView.setImpressionDataListener(null)
ILR 데이터 통합
LevelPlayImpressionDataListener를 구현한 후 전용 BI 툴과 DWH로 노출 데이터를 전송하거나 타사 툴과 연동할 수 있습니다.
각 필드 별도로 참조하거나 allData 메서드를 사용하여 모든 정보를 얻을 수 있습니다.
public void onImpressionSuccess (LevelPlayImpressionData impressionData){ Double revenue = impressionData.getRevenue(); String adNetwork = impressionData.getAdNetwork(); JSONObject allData = impressionData.getAllData(); }
필드 설명 및 유형을 비롯한 사용 가능한 ILR 데이터의 전체 목록은 Impression Level 매출 SDK API를 참조하십시오.
다음 예시는 Impression Level 매출 SDK API 데이터를 Firebase용 Google Analytics 연동하는 방법을 보여 줍니다. 타사 리포트 툴 또는 자체적인 최적화 툴 및 데이터베이스와 연동하기 위해 필요한 변경 사항을 적용하거나 그대로 사용할 수 있습니다.
/** 광고가 성공적으로 표시되고 노출 데이터가 기록된 경우 호출됨 **/ @Override public void onImpressionSuccess(LevelPlayImpressionData impressionData) { // The onImpressionSuccess will be reported when the rewarded video and interstitial ad is opened. // For banners, the impression is reported on load success. Log.d(TAG, "onImpressionSuccess" + impressionData); if (impressionData != null) { Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.AD_PLATFORM, "LevelPlay"); bundle.putString(FirebaseAnalytics.Param.AD_SOURCE, impressionData.getAdNetwork()); bundle.putString(FirebaseAnalytics.Param.AD_FORMAT, impressionData.getAdFormat()); bundle.putString(FirebaseAnalytics.Param.AD_UNIT_NAME, impressionData.getInstanceName()); bundle.putString(FirebaseAnalytics.Param.CURRENCY, "USD"); bundle.putDouble(FirebaseAnalytics.Param.VALUE, java.util.Objects.requireNonNullElse(impressionData.getRevenue(), 0.0)); // null 값에 대한 보호 추가 mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.AD_IMPRESSION, bundle); } }