冷启动开屏最佳实践实现流程图
- 填充超时时间 = kATSplashExtraTolerateTimeoutKey - waterfall启动时间和本次load开始时间的时间差 - 0.1s。
- 请不要将kATSplashExtraTolerateTimeoutKey设置为0。
- kATSplashExtraTolerateTimeoutKey默认5秒,支持小数点。
loadADWithPlacementID
方法进行开屏广告的加载,您可以在此步骤传入kATSplashExtraTolerateTimeoutKey
指定超时时间当 didFinishLoadingSplashADWithPlacementID:isTimeout:
回调触发时,需满足以下条件再调用 showSplashWithPlacementID
进行展示
在加载未超时的情况下isTimeout==NO
应用处于活跃状态didBecomeActive
展示开屏广告的控制器或窗口处于可视状态
didTimeoutLoadingSplashADWithPlacementID
)didFailToLoadADWithPlacementID: error:
)splashDidCloseForPlacementID:extra:
)温馨提示:
- 请注意防止重复跳转
- 调试时请解除断点,因为断点操作可能会影响内部计时器工作,可能会导致不符合预期的现象
自有定时器+冷启动开屏最佳实践实现流程图
loadADWithPlacementID
方法进行开屏广告的加载kATSplashExtraTolerateTimeoutKey
不大于您自有定时器的时间可以在进入首页后调用loadADWithPlacementID
发起热启动开屏预加载
在开屏广告splashDidShowForPlacementID: extra:
展示回调中调用 loadADWithPlacementID
方法进行开屏广告的预加载
在应用从后台回到前台时,调用splashReadyForPlacementID
方法判断当前是否有广告缓存
showSplashWithPlacementID
方法展示广告loadADWithPlacementID
方法进行广告加载在应用切换至后台时您可以判断广告isReady状态,当无广告缓存时可以执行预加载。这样可以避免因为广告缓存过期导致热启动时判断返回NO时,需要重新发起加载,等待加载后才能展示广告的情况