Facebook Audience Network与dfp中介网络

cwh*_*hsu 2 google-dfp facebook-audience-network

应用

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

DFP

在我的订单项中,我设置了类型price priority并使用sdk mediationFacebook观众网络广告.

条件

但是,当应用程序运行时,我会看到以下消息,就像其他人在此报告一样.

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适配器消息.

cwh*_*hsu 7

我使用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" /> 
Run Code Online (Sandbox Code Playgroud)

请注意,我在这里使用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适配器 - 这是来自dfp中介网络,你可以找到FacebookAdapter.jar.

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

的build.gradle

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
...
}
Run Code Online (Sandbox Code Playgroud)

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" />
Run Code Online (Sandbox Code Playgroud)

Proguard的

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

-keep public class com.google.ads.mediation.** { public *; }
Run Code Online (Sandbox Code Playgroud)

日志

如果一切配置正确,您将看到此消息.

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 Mediation中,它显示了自定义evener横幅的实施示例.我认为您将能够以这种方式使用SMART_BANNER,这也意味着您必须自己转换广告尺寸.


更新

瞄准

我实际上不确定你是否可以使用Facebook受众网络进行定位,因为我在facebook的官方文档中找不到任何关于定位的内容.

你可以看到dfp自定义目标,我代码就像.addNetworkExtrasBundle(new com.google.ads.mediation.facebook.FacebookAdapter(), bundle).

展示位置ID

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

  1. 创建一个行顺序
  2. 创建订单项
  3. 制作SDK mediation广告素材
  4. 选择Facebook Audience Network,如下图所示,并将您的展示位置ID放在那里.

在此输入图像描述

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


2016年2月

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

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

有关在Android使用Native Ad 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.
Run Code Online (Sandbox Code Playgroud)

2016年5月

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