开屏 Splash 广告样式

优质
小牛编辑
126浏览
2023-12-01

开屏(Splash)

1. 确定SDK文件已经全部拷贝到工程文件的libs子目录下参考

2. 在需要添加开屏广告的Activity对应的布局文件添加一个ViewGroup来给样式定位

  • 例如:

      <FrameLayout
          android:id="@+id/adsFl"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:layout_above="@id/bottomRl"
          android:background="@android:color/transparent" />
    

3. 添加广告代码,添加广告代码前请确定已初始化SDK

  • 注意: 如果媒体开屏位置有自己的全局超时处理,那么超时时长必须设置5秒以上,否则影响变现效果
  • 注意: 开屏广告具体按Demo接入,里面有onResume()、onPause()等生命周期的回调处理
  • 例如:
    // adUnitContainer
    FrameLayout adsParent = (FrameLayout) this.findViewById(R.id.adsFl);

    SplashAd splashAd = new SplashAd(this, adsParent, new AdListener() {
        @Override
        public void onAdShown() {
            Log.d("lance", "onAdShown");
        }

        @Override
        public void onAdLoaded() {
            Log.d("lance", "onAdLoaded");
        }

        @Override
        public void onAdFailedToLoad(int i) {
            Log.d("lance", "onAdFailedToLoad");
        }

        @Override
        public void onAdClosed() {
            Log.d("lance", "onAdClosed");
        }

        @Override
        public void onAdClicked() {
            Log.d("lance", "onAdClicked");
        }
    }, "adUnitId");

    @Override
    protected void onDestroy() {
        splashAd.cancel();
        super.onDestroy();
    }
  • 开屏页一定要禁止用户对返回按钮的控制,否则将可能导致用户手动退出了App而广告无法正常曝光和计费:

      @Override
      public boolean onKeyDown(int keyCode, KeyEvent event) {
          if (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_HOME) {
                  return true;
              }
          return super.onKeyDown(keyCode, event);
      }
    

PS:更多设置请参考Demo中的com.hubcloud.adhubsdkdemo.SplashActivity的代码.