集成广告sdk出现的view显示隐藏白屏问题

  最近新接了一个需求,需要在第一次安装App和每次闪屏都要加入 闪屏广告,因sdk的广告的view是一个独立的view,必须依赖于Activity进行放置这个view .此时的业务逻辑是:在闪屏页时间过去1s后显示3s的广告sdk .

出现的问题一:
  当第一次安装没有网络时,显示广告sdk的时候,没有等到设定的时间1s就瞬间跳转到了下一个页面,这个问题出现的本质是sdk的坑,广告sdk初始化程序中用okhttp做了网络请求,超时时间设置了500ms,所以瞬间就请求失败了,走了sdk的显示广告失败的onNoAD方法,跳转到下一界面.

解决方案:
  最简单的解决方案就是将sdk初始化的操作放在广告sdk的view.setVisibility(View.VISIBLE);后面,这样在广告显示出来时(肯定在1s后)才会进行初始化操作,进行网络请求,即使立刻返回失败也够了闪屏页1s的显示时间.

出现的问题二:
  上面这个问题改完之后,又出现了一个闪屏页到广告页切换短暂白屏,这个问题是因为广告sdk加载有一段时间空档时间,view中还没成功加载图片,view本身是透明的,Activity的主题又是light,所以会出现白屏的问题

解决方案:
  最简单的方法就是:将闪屏页原来显示的imageview去掉,将整个界面的背景直接设置为闪屏页,并且将代码中隐藏imageview的方法view.setVisibility(View.GONE);去掉,让广告的view覆盖整个页面即可.

你可能感兴趣的:(集成广告sdk出现的view显示隐藏白屏问题)