京东渲染开屏广告

SDK 为接入方提供了开屏广告,开屏广告为用户在进入 App 时展示的全屏广告。

注意:针对 2.0.0 以前升级用户

1.广告接口有变动,请详细对照以下接入说明 2、广告渲染成功后,接入媒体自行把返回的adView 添加到广告容器中,不要再调用showAd(ViewGroup viewGroup)

开始之前

在开始集成开屏广告之前,您需要完成以下步骤:

  • 京媒合作平台创建开发者账号,添加应用,然后申请并配置一个京东渲染开屏的代码位
  • 将 Android SDK 集成到您的开发项目并完成 SDK 初始化操作

  • 注意❗️❗❗️ 2.1.0及后续版本,区分了京东渲染与媒体渲染代码位,如采用京东渲染接口加载广告,需传入京东渲染代码位

  • 注意❗️❗❗️ 2.1.0及后续版本,京东渲染开屏只需要创建一个代码位即可,SDK不再做入参尺寸比例的强校验,接入方传入宽高为期望广告大小,为更好展示广告,建议传入的宽高符合京媒平台广告样式

Step 1. 初始化 JADSplash 对象

京媒SDK 触发一系列事件来通知您 Splash 广告加载、展示等活动。首先,需要创建 JADSplash 对象,设置广告位对应的JADSlot配置。

JADSlot slot = new JADSlot.Builder()
                    .setSlotID(slotId)//广告位ID
                    .setSize(expressViewWidth, expressViewHeight)//期望个性化模板广告view的size,单位dp
                    .setTolerateTime(3.5f)//广告加载容忍时间。如果设定的时间内没有加载到广告,则判断加载失败
                    .setSkipTime(5) //倒计时时间 单位:秒
                    .setSkipButtonHidden(false) //是否隐藏 跳过 按钮
                    .build();

mJADSplash = new JADSplash(this, slot);

Step 2. 加载开屏广告

调用 loadAd 方法来请求广告,设置并实现监听事件的 JADSplashListener。

mJADSplash.loadAd(new JADSplashListener() {
            /**
             * 广告数据加载成功
             */
            @Override
            public void onLoadSuccess() {
                // TODO:广告数据返回上报

            }

            /**
            * 广告数据加载失败
            *
            * @param code  错误码
            * @param error 错误描述信息
            */
            @Override
            public void onLoadFailure(int code, String error) {

            }

            /**
            * 广告视图渲染成功
            *
            * @param view 广告视图
            */
            @Override
            public void onRenderSuccess(View adView) {
               // TODO:1. 广告渲染完成上报
               // TODO:2. 将返回广告视图adView添加到自己广告容器中进行展示

            }

            /**
            * 广告渲染失败
            *
            * @param code  错误码
            * @param error 错误描述信息
            */
            @Override
            public void onRenderFailure(int code, String error) {

            }

            /**
            * 广告曝光
            */
            @Override
            public void onExposure() {
                // TODO 广告曝光上报

            }

            /**
            * 广告点击
            */ 
            @Override
            public void onClick() {
                // TODO 广告点击上报

            }

            /**
            * 广告关闭
            */
            @Override
            public void onClose() {

            }
        });

Step 3. 展示开屏广告

在渲染成功后,使用 onRenderSuccess 接口返回的View添加到自己的容器中。

 mSplashContainer.addView(adView);

Step 4. 销毁 JADSplash 对象

建议您在销毁之前调用destroy方法来释放 JADSplash 对象。

@Override
public void onDestroy() {
    super.onDestroy();
    if(mJADSplash != null) {
        mJADSplash.destroy()
        mJADSplash = null;
    }
}

移除广告view

可在Activity跳转到其他Activity时把广告控件上的广告视图remove掉

mSplashAdContainer.removeAllViews();

获取广告价格

// 获取竞价价格,广告加载成功后才能获取到价格,单位:分
int price = mJADSplash.getJADExtra().getPrice();

设置点击区域类型

     public interface ClickStyle{
         int SERVER = 0;//默认:采用服务端配置
         int ONLY_TEXT = 1;//只显示文案,全屏可点击
         int ONLY_TEXT_CLICK = 2;//只有文案部分可点击
         int NORMAL = 3; //不处理,无文案,全屏可点击
         int SHOW_TEXT_MASK = 4;//全屏可点击,且显示文字蒙层
     }

自定义关闭广告

媒体需要通过调用 removeSplashView 方法来关闭广告,否则会影响曝光。

mJADSplash.removeSplashView();

如需SDK提供倒计时,可调用setCountDownListener方法,如下:

 mJADSplash.setCountDownListener(new JADSplashCountDownListener() {
    @Override
    public void onCountdown(int time) {

    }
 });

预缓存广告

媒体可通过调用 preloadAd 方法来预缓存广告。

mJADSplash.preloadAd();

参考Demo

广告具体示例详见Demo中的 ESplashAdActivity

开屏广告注意点:

1、开发则需要在 onLoadFailure(),onRenderFailure(),onClose() 回调函数做跳转主页面的处理
2、需要开发者在开屏Activity中onStop()中做一个标记 在onResume()中做跳转主页面的逻辑处理,跳转之后开屏控件上的view移除

@Override
protected void onResume() {
    super.onResume();
      //判断是否该跳转到主页面
    if (mForceGoMain) {
        openMainActivity();
    }
}

@Override
protected void onStop() {
    super.onStop();
    mForceGoMain = true;
}

3、开屏宽度必须为屏幕宽度,高度需不小于屏幕高度的50%,且展示时长不小于1s,否则不能有效曝光

© JD.COM all right reserved,powered by Gitbook该文档最后更新: 2024-04-25 21:12:16

results matching ""

    No results matching ""