获取开屏广告管理类
SplashManager splashManager = SplashManager.getInstance();
接口定义
/**
* 设置广告展示完成后跳转的目标页面类
*
* @param targetClass 目标页面类
*/
public void setTargetClass(Class<?> targetClass)
/**
* 设置广告展示失败后是否自动跳转至目标页面
*
* @param autoJump 是否自动跳转,默认 true
*/
public void setAutoJumpToTargetWhenShowFailed(boolean autoJump)
/**
* 设置广告展示的布局容器
*
* @param splashViewContainer 布局容器
*/
public void setSplashViewContainer(ViewGroup splashViewContainer)
/**
* 设置广告展示的布局容器及布局参数
*
* @param splashViewContainer 布局容器
* @param splashViewLayoutParams 布局容器内视图的参数
*/
public void setSplashViewContainer(ViewGroup splashViewContainer, ViewGroup.LayoutParams splashViewLayoutParams)
/**
* 设置广告填充模式
* 当开发者没有在请求广告成功后,对广告容器宽高进行等比设置时以下两种模式展示效果是不一样的
*
* @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 splashListener 广告展示过程中的回调 (详见回调监听)
*/
public void showSplash(final Context context, String adId, final SplashViewListener splashListener)
/**
* 恢复
*/
public void onResume()
/**
* 暂停
*/
public void onPause()
/**
* 销毁
*/
public void onDestroy()
回调监听
/**
* 请求成功,请求成功,此回调代表请求广告数据成功了
* 在此可以根据返回的物料宽高比例进行广告容器的宽高设置,以免出现广告展示和容器比例不一致问题
*
* @param adId 广告位id
* @param viewWidth 广告物料的宽(单位:px)
* @param viewHeight 广告物料的高(单位:px)
*/
void onRequestSuccess(String adId, int viewWidth, int viewHeight);
/**
* 请求失败
*
* @param adId 广告位id
* @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);
调用示例
SplashManager.getInstance().setTargetClass(MainActivity.class);
SplashManager.getInstance().setAutoJumpToTargetWhenShowFailed(true);
SplashManager.getInstance().setSplashViewContainer(splashAdContainer);
SplashManager.getInstance().setAdScalingModel(Config.AD_SCALING_MODE_SCALE_TO_FIT);
SplashManager.getInstance().showSplash(this, "353", new SplashViewListener() {
@Override
public void onRequestSuccess(int viewWidth, int viewHeight) {
Log.e(TAG, "onRequestSuccess: " + viewWidth + "," + viewHeight);
splashAdContainer.getLayoutParams().width = ScreenUtil.getScreenWidth(SplashActivity.this);
splashAdContainer.getLayoutParams().height = ScreenUtil.getScreenWidth(SplashActivity.this) * viewHeight / viewWidth;
}
@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 onSplashClicked() {
Log.e(TAG, "onSplashClicked: ");
}
@Override
public void onSplashClosed() {
Log.e(TAG, "onSplashClosed: ");
}
@Override
public void onSwitchSplash() {
Log.e(TAG, "onSwitchSplash: ");
}
});