如DFP Android指南中所述,它已经使用dfp从admob获取广告。现在,我想通过dfp从Facebook受众网络中获取广告。我按照此指南,并添加FacebookAdapter.jar
和AudienceNetwork.jar
到我的应用程序。
在订单项中,我设置了类型price priority
并将sdk mediation
广告与Facebook受众网络一起使用。
但是,当该应用程序运行时,就像其他人在这里报告的那样,我看到以下消息。
W/FacebookAdapter(18649): The input ad size is not supported at this moment.
我认为该代码有效,并且dfp从Facebook受众网络中投放了广告。我对此非常确定,因为dfp和Facebook控制台都显示广告请求信息。
-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')
...
}
不知何故,当我构建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,则必须执行以下操作:
SDK mediation
广告这是您的操作非常简单的版本,您应该知道订单项的设置会对广告产生影响。如果您的设置不正确,例如,该项目的类型优先级太低或频次上限太长,则可能看不到广告。
您现在可以使用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.
Yoann Hercouet在评论中指出LARGE_BANNER is also not available on Facebook
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句