开屏广告需要在应用启动时加载,建议在SplashActivity中初始化。
// 创建开屏广告实例
SDMSplashAd mSdmSplashAd;
mSdmSplashAd = new SDMSplashAd(context, "placementId");
// 设置广告监听器
mSdmSplashAd.setListener(new SDMSplashListener() {
@Override
public void onAdLoaded(boolean isTimeout) {
// 广告加载成功回调
}
@Override
public void onAdLoadTimeout() {
// 广告加载超时回调
}
@Override
public void onAdLoadFail(AdError adError) {
// 广告加载失败回调
}
@Override
public void onAdShow() {
// 广告展示回调
}
@Override
public void onAdClick() {
// 广告点击回调
}
@Override
public void onAdClose(SDMSplashAdExtraInfo sdmSplashAdExtraInfo) {
// 广告关闭回调
}
@Override
public void onAdShowFail(AdError adError) {
// 广告展示失败回调
}
@Override
public void onDeeplinkCallback(boolean isSuccess) {
// Deeplink回调
}
});
SDMAdRequest sdmAdRequest = new SDMAdRequest.Builder().build();
// 开始加载广告
mSplashAd.loadAd(sdmAdRequest);
广告加载完成后,需要检查是否就绪再进行展示。
// 检查广告是否就绪并展示
if (mSdmSplashAd != null) {
// mSplashAdContainer 显示开屏广告的父容器
mSdmSplashAd.showAd(mSplashAdContainer);
}
public boolean isAdReady() {
if (mSdmSplashAd != null) {
return mSdmSplashAd.isAdReady();
}
return false;
}
在Activity销毁时,需要释放广告资源以避免内存泄漏。
// 释放广告资源
public void destroy() {
if (mSdmSplashAd != null) {
mSdmSplashAd.destroy();
mSdmSplashAd = null;
}
}