具有dfp中介网络的Facebook受众网络

兜帽

应用程序

DFP Android指南中所述,它已经使用dfp从admob获取广告现在,我想通过dfp从Facebook受众网络中获取广告。我按照此指南,并添加FacebookAdapter.jarAudienceNetwork.jar到我的应用程序。

DFP广告管理系统

在订单项中,我设置了类型price priority并将sdk mediation广告与Facebook受众网络一起使用。

健康)状况

但是,当该应用程序运行时,就像其他人在这里报告的那样,我看到以下消息

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

我认为该代码有效,并且dfp从Facebook受众网络中投放了广告。我对此非常确定,因为dfp和Facebook控制台都显示广告请求信息。

问题

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

更新

  1. 订单项设置没有问题。但是,如果您使用dfp进行调解,则需要了解此处的优先级
  2. 当前,最简单的解决方案是放弃智能横幅,改为使用横幅。这样一来,您就可以从Facebook受众网络中获取中介广告。
  3. -keep public class com.google.ads.mediation.** {*;}如果您使用proguard,请不要忘记添加否则,您将看到无法实例化Facebook适配器消息。
兜帽

我使用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的问题。我希望Google以后可以解决此问题,但是我现在暂时放弃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中介网络,您可以找到FacebookAdapter.jar。

在Android Studio中,您所需要做的就是将jars放入libs文件夹中,并确保build.gradle包含libs文件夹。

build.gradle

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

Android Studio中的项目结构

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

project.iml

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

保卫者

正如我在回复中所说,com.google.ads.mediation如果您使用Proguard ,一定不要忘记添加否则,您将继续看到不能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的Google Admob中介中,该示例显示了自定义均匀横幅的实现示例。我认为您将可以通过这种方式使用SMART_BANNER,这也意味着您必须自己转换广告尺寸。


更新

指定目标

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

您可以看到为此的dfp自定义定位,我代码应该像.addNetworkExtrasBundle(new com.google.ads.mediation.facebook.FacebookAdapter(), bundle)

刊登位置编号

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

  1. 创建订单
  2. 创建订单项
  3. 制作SDK mediation广告
  4. 选择下图所示的Facebook Audience Network,然后在其中放置您的展示位置ID。

在此处输入图片说明

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


2016年2月

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

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

有关在Android使用原生广告API的详细信息

如果您看到以下消息而没有投放任何广告,则可能是因为您的设备或模拟器上未安装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年五月

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章