Page History

Ad_splash

Last edited by 谷俊

获取开屏广告管理类


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: ");
    }
});