获取开屏广告管理类
SpotManager spotManager = SpotManager.getInstance();
接口定义
/**
* 设置广告展示的布局容器
*
* @param spotViewContainer 布局容器
*/
public void setSpotViewContainer(ViewGroup spotViewContainer)
/**
* 设置广告展示的布局容器及布局参数
*
* @param spotViewContainer 布局容器
* @param spotViewLayoutParams 布局容器内视图的参数
*/
public void setSpotViewContainer(ViewGroup spotViewContainer, ViewGroup.LayoutParams spotViewLayoutParams)
/**
* 设置广告填充模式
* 当开发者没有在请求广告成功后,对广告容器宽高进行等比设置时以下两种模式展示效果是不一样的
*
* @param adScalingModel
* Config.AD_SCALING_MODE_SCALE_TO_FIT (默认)
* 根据物料宽高比等比缩放,使广告的宽度和高度等于或小于容器的宽高
*
* Config.AD_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING
* 根据物料宽高比等比缩放,使广告的宽度和高度等于或大于容器的宽高
*/
public void setAdScalingModel(int adScalingModel)
/**
* 展示广告
*
* @param context 上下文
* @param adId 广告位ID
* @param spotListener 广告展示过程中的回调 (详见回调监听)
*/
public void showSpot(final Context context, String adId, final SpotViewListener spotListener)
/**
* 恢复
*/
public void onResume()
/**
* 暂停
*/
public void onPause()
/**
* 销毁
*/
public void onDestroy()
回调监听
/**
* 请求成功,请求成功,此回调代表请求广告数据成功了
* 在此可以根据返回的物料宽高比例进行广告容器的宽高设置,以免出现广告展示和容器比例不一致问题
* 注意:算出来的容器宽高需要加上关闭按钮的高度
*
* @param adId 错误码
* @param viewWidth 广告物料的宽(单位:px)
* @param viewHeight 广告物料的高(单位:px)
* @param closeViewHeight 插屏广告关闭按钮占位的高度(单位:px)
*/
void onRequestSuccess(String adId, int viewWidth, int viewHeight, int closeViewHeight);
/**
* 请求失败
*
* @param adId 错误码
* @param code 错误码
* @param errorMsg 错误消息
*/
void onRequestFailed(String adId, int code, String errorMsg);
/**
* 插屏广告展示成功
*
* @param adId 广告位id
*/
void onShowSuccess(String adId);
/**
* 插屏广告展示失败
*
* @param adId 广告位id
* @param code 错误码
* @param msg 错误消息
*/
void onShowFailed(String adId, int code, String msg);
/**
* 插屏广告点击,此时SDK内部关闭了广告
*
* @param adId 广告位id
*/
void onSplashClicked(String adId);
/**
* 插屏广告关闭
*
* @param adId 广告位id
*/
void onSplashClosed(String adId);
/**
* 轮播广告切换
*
* @param adId 广告位id
*/
void onSwitchSplash(String adId);
使用实例
SpotManager.getInstance().setSpotViewContainer(spotAdContainer);
SpotManager.getInstance().setAdScalingModel(Config.AD_SCALING_MODE_SCALE_TO_FIT);
SpotManager.getInstance().showSpot(this, "355", new SpotViewListener() {
@Override
public void onRequestSuccess(int viewWidth, int viewHeight, int closeViewHeight) {
Log.e(TAG, "onRequestSuccess: " + viewWidth + "," + viewHeight);
spotAdContainer.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT;
spotAdContainer.getLayoutParams().height = ScreenUtil.getScreenWidth(SpotActivity.this) * viewHeight / viewWidth + closeViewHeight;
}
@Override
public void onRequestFailed(int code, String errorMsg) {
Log.e(TAG, "onRequestFailed: " + code + "," + errorMsg);
}
@Override
public void onShowSuccess() {
Log.e(TAG, "onShowSuccess: ");
}
@Override
public void onShowFailed(int code, String msg) {
Log.e(TAG, "onShowFailed: " + code + "," + msg);
}
@Override
public void onSpotClicked() {
Log.e(TAG, "onSplashClicked: ");
}
@Override
public void onSpotClosed() {
Log.e(TAG, "onSplashClosed: ");
}
@Override
public void onSwitchSpot() {
Log.e(TAG, "onSwitchSpot: ");
}
});