【问题标题】:Facebook Audience Network with dfp mediation network带有 dfp 中介网络的 Facebook Audience Network
【发布时间】:2015-04-10 10:23:06
【问题描述】:

应用

它已经使用 dfp 从 admob 获取广告,如 DFP Android Guides 中所述。现在我想通过 dfp 从 facebook 受众网络获取广告。我关注guide here 并将FacebookAdapter.jarAudienceNetwork.jar 添加到我的应用程序中。

DFP

在我的订单项中,我设置类型 price priority 并使用 sdk mediation 广告与 facebook 受众网络。

条件

但是,当应用程序运行时,我看到以下消息,就像其他人报告的 here

W/FacebookAdapter(18649): The input ad size is not supported at this moment.

我认为代码有效,并且 dfp 从 facebook 受众网络提供广告。我对此很确定,因为 dfp 和 facebook 控制台都会显示广告请求信息。

问题

  1. 我是否正确设置了订单项?
  2. 我们如何解决广告尺寸不受支持的问题?

更新

  1. 订单项设置没有问题。但是如果你用dfp做中介,需要注意优先级here
  2. 目前最简单的解决方案是放弃智能横幅,改用横幅。这将允许您从 facebook 受众网络获得中介广告。
  3. 如果您使用 proguard,请不要忘记添加 -keep public class com.google.ads.mediation.** {*;}。否则,您将看到无法实例化 facebook 适配器消息。

【问题讨论】:

  • 嗨.. 我想将 facebook 受众网络与中介服务集成。我怎样才能做到这一点。请帮我。我是否需要为此创建自定义适配器类或如何在 networkExtras() 包中添加 facebook 适配器。
  • 以及插页式中介的设置:stackoverflow.com/questions/36823274/…

标签: google-dfp facebook-audience-network


【解决方案1】:

我使用 dfp sdk,所以如果您使用其他 sdk,我不能保证它可以正常工作。我的代码已经适用于 admob 和其他中介网络,我尝试添加 facebook 受众网络。

layout.xml

<com.google.android.gms.ads.doubleclick.PublisherAdView
                xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:ads="http://schemas.android.com/apk/res-auto"
                android:id="@+id/adView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                ads:adSize="BANNER"
                ads:adUnitId="@string/ad_unit_id"
                android:visibility="gone" /> 

请注意,我在这里使用 BANNER 而不是 SMART_BANNER,不知何故,dfp 和 facebook 之间的横幅大小不兼容。在我看来,这是一个sdk的问题。我希望谷歌稍后会解决这个问题,但我现在只是放弃 SMART_BANNER。正如我在更新中提到的,如果你使用 SMART_BANNER,你会得到这个W/FacebookAdapter(18649): The input ad size is not supported at this moment.

罐子

facebook android sdk - 这个来自facebook,你可以在里面找到AudienceNetwork.jar

facebook adapter - 这是来自dfp mediation network,您可以找到 FacebookAdapter.jar。

在 Android Studio 中,您只需将 jar 放入您的 libs 文件夹并确保您的 build.gradle 包含 libs 文件夹。

build.gradle

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
...
}

不知何故,当我构建 apk 时,即使我 Synchronize 'build.gradle',库也没有被编译。因此,您可能需要检查您的 project.iml 并确保您在其中看到以下内容。

project.iml

...
    <orderEntry type="library" exported="" name="AudienceNetwork" level="project" />
    <orderEntry type="library" exported="" name="FacebookAdapter" level="project" />

Proguard

正如我在回复中所说,如果您使用Proguard,请不要忘记添加com.google.ads.mediation!否则你会一直看不到instantiate com.google.ads.mediation.facebookadapter class

-keep public class com.google.ads.mediation.** { public *; }

日志

如果一切配置正确,您将看到这条消息。

02-18 16:24:25.315 8081-8307/com.xxxxxxx I/Ads﹕ Trying mediation network: 1.0568273599589929E19 02-18 16:24:25.320 8081-8081/com.xxxxxxx I/Ads﹕ Instantiating mediation adapter: com.google.ads.mediation.facebook.FacebookAdapter 02-18 16:24:25.335 8081-8081/com.xxxxxxx W/Ads﹕ Server parameters: {"gwhirl_share_location":"1","pubid":"xxxxxxxxxxxxx_xxxxxxxxxxxxx"}

如果您愿意放弃 SMART BANNER,这是使用 Audience Network 的最简单方法。如果您必须使用 SMART BANNER,我建议您自己使用com.google.ads.mediation.customevent.CustomEventBanner 实现自定义活动横幅。在Vpon's Google Admob Mediation 中,它显示了自定义均匀横幅的实现示例。我想你可以通过这种方式使用SMART_BANNER,这也意味着你必须自己转换广告尺寸。


更新

定位

我实际上不确定您是否可以使用 facebook 受众网络进行定位,因为我在 facebook 的官方文档中找不到任何有关定位的信息。

您可以看到 dfp 对此的自定义定位,我代码会类似于 .addNetworkExtrasBundle(new com.google.ads.mediation.facebook.FacebookAdapter(), bundle)

展示位置 ID

如果您不熟悉如何使用从 facebook 受众网络获得的placement_id,您必须执行以下操作:

  1. 创建订单
  2. 创建订单项
  3. 创建SDK mediation 广告素材
  4. 选择 Facebook Audience Network,如下图所示,然后将您的展示位置 ID 放在那里。

这是一个非常简单的版本,您应该知道订单项的设置会对广告产生影响。如果您的设置不正确,例如项目的类型优先级太低或频次上限太长,您可能看不到广告。


2016 年 2 月

您现在可以使用 gradle 安装受众网络库。

compile 'com.facebook.android:audience-network-sdk:4.+'

更多信息Using the Native Ad API in Android

如果您在没有投放任何广告的情况下看到以下消息,那可能是因为您的设备或模拟器上没有安装 facebook 应用程序。

E/ActivityThread: Failed to find provider info for com.facebook.katana.provider.AttributionIdProvider 
W/FacebookAdapter: No fill. We are not able to serve ads to this person. Please refer to https://developers.facebook.com/docs/audience-network/faq#a12. If you are integrating Audience Network for the first time, you can use test ads https://developers.facebook.com/docs/audience-network/testing.

2016 年 5 月

Yoann Hercouet 在 cmets 中指出 LARGE_BANNER is also not available on Facebook

【讨论】:

  • 你能帮我处理fb观众网络和冥想服务吗?我在我的代码中使用了发布商广告视图,但无法遵循谷歌中介页面上解释的过程。我无法在广告请求中传递 .addNetworkExtras() 中的值。如何在此处使用 facebook 适配器和展示位置 ID。
  • developers.google.com/mobile-ads-sdk/docs/dfp/android/banner 查看 addNetworkExtras() 的自定义定位
  • 您实际上不需要在代码中添加任何有关 facebook 适配器的内容,您只需正确导入 jar。我认为 sdk 中的发布商广告视图会为您完成其余的工作。当您从 facebook Audience Network 获取展示位置 ID 时,您必须为订单创建订单、订单和广告素材。创建广告素材时需要选择中介,并在中介中选择网络Facebook Audience Network
  • 感谢您的快速回复!但是在这一行中展示位置 id 和 addNetworkExtras(new AdMobExtras(bundle)) 的关键是什么我需要进行哪些更改,我想使用 fb 受众网络或广告,但我没有任何类可以传入 addNetworkExtras
  • @cwhsu FYI LARGE_BANNER 在 Facebook 上也不可用
【解决方案2】:

【讨论】:

  • 在我的帖子中,我已经包含了这个链接,所以我知道他们做了什么。但是,他们的情况和我的情况有很大的不同。他们不知何故使用com.facebook.ads.AdSize,但您不能在PublisherAdView 中使用facebook 广告尺寸。我知道问题出在广告尺寸上,但帖子的帮助不大。
猜你喜欢
  • 1970-01-01
  • 2021-10-03
  • 2017-06-28
  • 2022-08-08
  • 2015-04-21
  • 1970-01-01
  • 1970-01-01
  • 2019-09-14
  • 2018-06-30
相关资源
最近更新 更多