与 Facebook Audience Network 上的填充数相比,印象数较低

Posted

技术标签:

【中文标题】与 Facebook Audience Network 上的填充数相比,印象数较低【英文标题】:# of Impressions is low comparing to # of Filled on Facebook Audience Network 【发布时间】:2015-04-29 18:18:21 【问题描述】:

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

鉴于我们不预先缓存 FAN 广告,我们预计展示次数与填充次数的比率接近 100%。但是,我们观察到的比例约为 67%。

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

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

【问题讨论】:

广告如何投放到应用程序 - 原生广告视图中? @MorrisonChang 没错,我也是用 NativeAd.downloadAndDisplayImage 加载图片 【参考方案1】:

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

【讨论】:

这是有道理的。我认为展示次数与填充次数的比率与每千次展示收入呈正相关。有了这个,如何优化这个比例?减小页面大小肯定会有所帮助,但是,从用户体验的角度来看,这可能不是一个选择。出于性能原因,我无法想象同步加载 FAN 广告(仅在指定单元格可见时才请求)。还有其他想法/建议吗? 将会出现新的实用程序类来帮助处理此类用例。敬请期待! @ethangui 查看 NativeAdsManager,它有助于加载和缓存多个原生广告。 developers.facebook.com/docs/audience-network/ios/… 感谢您的更新。 FBNativeAdsManager 似乎提供了几种实用方法来预缓存和自动刷新 FAN 原生广告。但是,我似乎没有看到任何有助于提高填充到印象率的功能。即,如果 FBNativeAdsManager 加载 10 个广告,而我们只能显示 1 个,则填充到展示率将是 10%,对吗? 您无需优化填充展示比率。只要您按顺序使用 NativeAdsManager 返回的广告,您始终会优先获得最有价值的广告。【参考方案2】:

免责声明我曾开发过广告 SDK。

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

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

和/或

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

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

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

或者,如果广告位于 ListView 的滚动部分,则将广告移动到不会出现可见/加载问题的页脚/页眉。

【讨论】:

嗨 Morrison,我想@Shing 提到它是一个 NativeAd,因此没有使用 WebView 和跟踪像素。 更多关于 FAN 原生广告:developers.facebook.com/docs/audience-network/android/… @ethangui 也许,延迟可能是由于 SDK 验证 AdView 是否可见,即除非可见一整秒,否则广告不计算在内。与 HTTP 代理的会话可以提供该信息。【参考方案3】:

考虑一下,如果您想跟踪实际展示次数,您可以实现触发 onLoggingImpression(Ad)ImpressionListener,在记录展示次数之前立即调用。请参阅文档 here。

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

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

【讨论】:

以上是关于与 Facebook Audience Network 上的填充数相比,印象数较低的主要内容,如果未能解决你的问题,请参考以下文章

使用 Facebook Audience Network 时 Android Studio 出错

需要适用于 Unity 的 Facebook Audience Network 6.0.0 更新

添加 facebook_audience_network 插件后在 Flutter 中显示此错误

Facebook Audience Network 质量检查总是失败

Facebook Audience Network:需要 Facebook 登录吗?

Facebook Audience Network 导致 NullPointerException