Interstitial Ad
Last updated
Was this helpful?
Last updated
Was this helpful?
를 프로젝트에 추가합니다.
Interstitial Ad용으로 발급받은 Ad Unit ID를 사용합니다.
광고를 요청하기 전에 를 먼저 진행합니다.
SDK 초기화는 앱 실행 시 한 번만 호출하여 주시고, 광고 요청은 초기화가 완료된 후에 이뤄져야 합니다.
InterstitialAd
를 인스턴스화하고 InterstitialListener
를 추가합니다.
loadAd()
를 호출하여 광고를 로드합니다.
광고 로드가 완료되어 onAdLoaded()
callback을 받은 후 show()
를 하거나, isLoaded()
로 표시할 광고가 있는지 확인 후, show()
로 광고를 표시합니다.
노출 종료 시 onDestroy()
에서 InterstitialAd
의 destroy()
를 호출하여 InterstitialAd
를 제거합니다.
public class InterstitialActivity extends AppCompatActivity {
private com.adxcorp.ads.InterstitialAd interstitialAd;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
interstitialAd = new InterstitialAd(this, "<INTERSTITIAL_AD_UNIT_ID>");
interstitialAd.setInterstitialListener(new InterstitialAd.InterstitialListener() {
@Override
public void onAdLoaded() {
}
@Override
public void onAdError(int errorCode) {
}
@Override
public void onAdClicked() {
}
@Override
public void onAdImpression() {
}
@Override
public void onAdClosed() {
}
@Override
public void onAdFailedToShow() {
}
});
interstitialAd.loadAd();
}
void show() {
if (interstitialAd != null && interstitialAd.isLoaded()) {
interstitialAd.show();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (interstitialAd != null) {
interstitialAd.destroy();
interstitialAd = null;
}
}
}
class InterstitialActivity : AppCompatActivity() {
private var interstitialAd: InterstitialAd? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_fullscreen)
interstitialAd = InterstitialAd(this, "<INTERSTITIAL_AD_UNIT_ID>"))
interstitialAd?.setInterstitialListener(object : InterstitialAd.InterstitialListener {
override fun onAdLoaded() {
}
override fun onAdError(errorCode: Int) {
}
override fun onAdClicked() {
}
override fun onAdImpression() {
}
override fun onAdClosed() {
}
override fun onAdFailedToShow() {
}
})
interstitialAd?.loadAd()
}
fun show() {
if (interstitialAd?.isLoaded == true) {
interstitialAd!!.show()
}
}
override fun onDestroy() {
super.onDestroy()
interstitialAd?.destroy()
interstitialAd = null
}
}
InterstitialAd
의 InterstitialListener
를 설정하여 특정 이벤트를 수신할 수 있습니다. 필요에 따라 구현해주세요.
interstitialAd.setInterstitialListener(new InterstitialAd.InterstitialListener() {
@Override
public void onAdLoaded() {
}
@Override
public void onAdError(int errorCode) {
}
@Override
public void onAdClicked() {
}
@Override
public void onAdImpression() {
}
@Override
public void onAdClosed() {
}
@Override
public void onAdFailedToShow() {
}
});
interstitialAd?.setInterstitialListener(object : InterstitialAd.InterstitialListener {
override fun onAdLoaded() {
}
override fun onAdError(errorCode: Int) {
}
override fun onAdClicked() {
}
override fun onAdImpression() {
}
override fun onAdClosed() {
}
override fun onAdFailedToShow() {
}
})
광고 노출이 발생동안 예상되는 광고 수익을 받아볼 수 있습니다.
이는 미디에이션 설정 과정에서 수동적으로 설정한 값과 정확한 값이 섞여 있어서 예상 값으로 사용하시는 것을 권장드립니다.
ecpm의 currency는 USD입니다.
아래와 같이 OnPaidEvent
콜백을 등록하여 사용하시면 됩니다.
interstitialAd.setOnPaidEventListener(new OnPaidEventListener() {
@Override
public void onPaidEvent(double ecpm) {
/* Firebase Analytics 샘플
double revenue = ecpm / 1000;
mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
Bundle params = new Bundle();
params.putString(FirebaseAnalytics.Param.AD_PLATFORM, "AD(X)");
params.putString(FirebaseAnalytics.Param.AD_FORMAT, "InterstitialAd");
params.putString(FirebaseAnalytics.Param.AD_UNIT_NAME, "ADX Interstitial Ad");
params.putDouble(FirebaseAnalytics.Param.VALUE, revenue);
params.putString(FirebaseAnalytics.Param.CURRENCY, "USD");
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.AD_IMPRESSION, params);
*/
/* AppsFlyer 샘플
double revenue = ecpm / 1000;
Map<String, String> customParams = new HashMap<>();
customParams.put(Scheme.AD_TYPE, "InterstitialAd");
customParams.put("ad_unit_name", "ADX Interstitial Ad");
AppsFlyerAdRevenue.logAdRevenue(
"AD(X)",
MediationNetwork.customMediation,
Currency.getInstance(Locale.US),
revenue,
customParams
);
*/
}
});
interstitialAd.setOnPaidEventListener(object : OnPaidEventListener() {
fun onPaidEvent(ecpm: Double) {
/* Firebase Analytics 샘플
val revenue: Double = ecpm / 1000
firebaseAnalytics = Firebase.analytics
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.AD_IMPRESSION) {
param(FirebaseAnalytics.Param.AD_PLATFORM, "AD(X)")
param(FirebaseAnalytics.Param.AD_UNIT_NAME, "ADX Interstitial Ad")
param(FirebaseAnalytics.Param.AD_FORMAT, "InterstitialAd")
param(FirebaseAnalytics.Param.VALUE, revenue)
param(FirebaseAnalytics.Param.CURRENCY, "USD")
}
*/
/* AppsFlyer 샘플
val revenue: Double = ecpm / 1000
val customParams: MutableMap<String, String> = HashMap()
customParams[Scheme.AD_TYPE] = "IntersitialAd"
customParams["ad_unit_name"] = "ADX Interstitial Ad"
AppsFlyerAdRevenue.logAdRevenue(
"AD(X)",
MediationNetwork.customMediation,
Currency.getInstance(Locale.US),
revenue,
customParams
)
*/
}
})
AdJust의 광고 매출 데이터 연동을 지원합니다. 상세한 내용은 를 확인 부탁드립니다.