5

在我们的应用程序中,我们有一个加载到 ListView 中的图像提要。这些图像是从我们的服务器返回的。当用户向下滚动到页面底部时,将触发加载更多逻辑,我们将向服务器发送另一个请求以请求显示更多内容(图像)。这也是我们使用 Facebook SDK 请求一个 FAN 广告的时候。如果 Facebook 确实返回了广告,我们会将其插入到服务器刚刚返回的内容列表中。最后,当这个单元格(包含 FAN 广告)在视图中时,我们将开始加载这个单元格的内容(图像和文本)。

鉴于我们不预先缓存 FAN 广告,我们预计印象数与填充数的比率接近 100%。但是,我们一直观察到大约 67% 的比率。

仅供参考 - 此处引用的所有 FAN 广告均为 NativeAd。

问题:33% 的已填充请求发生了什么?它们以某种方式呈现,但不计为展示次数?

4

3 回答 3

4

我是一名在 Audience Network 工作的工程师。仅当为该 NativeAd 注册的视图在屏幕上可见时,才会记录该 NativeAd 的展示次数。如果视图位于屏幕上尚不可见的列表视图部分,则不会计为展示。(当它变得可见时将被计算在内。)这应该解释填充请求和展示之间的区别。

于 2015-04-30T17:06:42.050 回答
0

免责声明我曾在广告 SDK 上工作过。

Ad View 是一个 WebView,有几种方法可以知道广告已加载。

1) 等待从广告到 SDK 的 Javascript 回调,然后 SDK 将触发跟踪像素/请求,以确保广告在计数之前确实可见(相对于隐藏/不可见)

和/或

2) 从 WebView 触发跟踪像素/请求。

无论哪种方式,因为它是 WebView,即使图像已加载,也不一定意味着已传达加载完成状态 - 特别是如果广告位于快速滚动的 ListView 中,其中广告的图像可能可见,但其余的 Javascript 代码还没有完全达到“广告加载完成”状态。基本上,广告是一个小的 HTML5/CSS/Javascript 捆绑包,并且会受到其中的延迟 - 可能是几秒钟的数量级。

一种检查方法是通过 HTTP 代理监控流量,并对其触发时间做出最佳猜测并调整预期。

或者是将广告移动到页脚/页眉,如果它在 ListView 的滚动部分内,它不会受到可见/加载问题的影响。

于 2015-04-29T19:55:05.050 回答
0

考虑一下,如果您想跟踪实际印象,您可以实现ImpressionListener触发onLoggingImpression(Ad),在印象被记录之前立即调用。请参阅此处的文档。

在 MoPub nativeads 自定义原生事件中有一个完整的 facebook 原生广告实现

这清楚地向您展示了如何以正确的方式实施它。

于 2016-04-27T14:07:33.743 回答