为 Facebook 的 Android 原生广告预取图像

Posted

技术标签:

【中文标题】为 Facebook 的 Android 原生广告预取图像【英文标题】:Prefetching Images for Facebook's Native Ads for Android 【发布时间】:2014-06-04 18:01:40 【问题描述】:

我一直在使用 Facebook 的 android SDK 最新版本。特别是,我一直在尝试原生广告 API。我的问题是我希望能够预加载多个广告(比如说 3 个或 5 个或 10 个,没关系),所以它们会在它们出现在屏幕上的那一刻出现。我已经设法做到了,但我被图像卡住了。显然,图像(icon 和coverImage)只能通过NativeAd.downloadAndDisplayImage 获取,这需要显示图像的imageView。

有人遇到同样的问题吗?有谁在 Android 中玩过/使用过 Native Ad API,可以给我一些见解吗?

这有点困难,因为我还不能查看 AudienceNetwork 库的源代码,而且没有 javadoc。我试过用谷歌搜索,但没有成功。

【问题讨论】:

我想预取或预加载图像,因为我希望广告在进入屏幕时立即显示,而不必等待 x 秒/毫秒直到图像可用。 【参考方案1】:

NativeAd.downloadAndDisplayImage 只是让下载和显示图像更容易的助手。您可以从NativeAd.getAdIcon()NativeAd.getAdCoverImage() 获取广告图标/图像的网址和尺寸。然后您可以使用 url 进行预取。

如果您下载适用于 Android 的最新 Facebook SDK,Audience Network javadoc 可在 AudienceNetwork/docs 下获得。

【讨论】:

谢谢!我最终就是这样做的。我告诉自己要自己回答这个问题,但不知何故我忘记了。干得好! 在使用 MediaView 之前是不可能的,因为您必须将 NativeAd 作为参数,并且您无法控制预取。 查看 v4.1 中引入的新 NativeAdsManager 类。您可以在 NativeAd 对象上指定您想要的媒体缓存级别。 NativeAdsManager manager = new NativeAdsManager(this, "YOUR_PLACEMENT_ID", 5); manager.loadAds(NativeAd.MediaCacheFlag.ALL);

以上是关于为 Facebook 的 Android 原生广告预取图像的主要内容,如果未能解决你的问题,请参考以下文章

android开发步步为营之68:Facebook原生广告接入总结

尝试加载 facebook 原生广告时,我的 android 应用程序崩溃(java.lang.NoSuchMethodError:没有静态方法 isChildDirected())

Facebook 原生广告 API,仅显示视频

Recyclerview - Facebook 原生广告 - 不可点击

如何在 android 中获取 facebook NativeAdsManager 广告点击监听器

Facebook原生广告无法点击,无反应