在我们的应用中,我们在ListView中加载了图像。这些图像从我们的服务器返回。当用户向下滚动到页面底部时,将触发更多加载逻辑,我们将向服务器发送另一个请求以请求显示更多内容(图像)。这也是我们使用Facebook SDK请求一个FAN广告的时候。如果Facebook确实返回了广告,我们会将其插入我们服务器刚刚返回的内容列表中。最后,当这个单元格(包含FAN广告)在视野中时,我们将开始加载该单元格的内容(图像和文本)。
鉴于我们不预先缓存FAN广告,我们预计印象数#的填充比率接近100%。但是,我们观察的比例约为67%。
仅供参考 - 此处引用的所有FAN广告均为NativeAd。
问题:33%的填充请求发生了什么变化?不知何故,他们被渲染,但不算作印象?
答案 0 :(得分:4)
我是一名在Audience Network工作的工程师。仅当在屏幕上可以查看为该NativeAd注册的视图时,才会记录NativeAd的印象。如果视图位于列表视图中尚未在屏幕上显示的部分,则不会将其视为展示。 (当它变得可见时它将被计算。)这应该解释填充请求和印象之间的区别。
答案 1 :(得分:0)
免责声明我已经使用了广告SDK。
广告视图是一种WebView,有几种方法可以知道广告已加载。
1)等待从广告到SDK的Javascript回拨,然后点击跟踪像素/请求以确保广告在计数之前确实是可见的(与隐藏/不可见)
和/或
2)从WebView中激活跟踪像素/请求。
无论哪种方式,因为它是WebView,即使图像已加载,也不一定意味着已经传达了加载完成状态 - 特别是如果广告位于快速滚动ListView中,其中图像为广告可能是可见的,但其余的Javascript代码并未完全达到“广告已完成加载”功能。州。基本上,广告是一个小的HTML5 / CSS / Javascript捆绑包,并受其中的延迟影响 - 可能是几秒钟。
检查的一种方法是通过HTTP代理监控流量,并最好地猜测它何时触发并调整预期。
另一种方法是将广告移动到页脚/标题,如果它在ListView的滚动部分内,则不会受到可见/加载问题的影响。
答案 2 :(得分:0)