cwh*_*hsu 2 google-dfp facebook-audience-network
如DFP广告管理系统Android指南中所述,它已使用dfp从admob获取广告.现在我想通过dfp从facebook受众网络获取广告.我按照此指南,并添加FacebookAdapter.jar和AudienceNetwork.jar到我的应用程序.
在我的订单项中,我设置了类型price priority并使用sdk mediationFacebook观众网络广告.
但是,当应用程序运行时,我会看到以下消息,就像其他人在此报告一样.
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" />
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)

不知何故,当我构建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受众群体网络获取,您必须执行以下操作:
SDK mediation广告素材
这是您如何操作的非常简单的版本,您应该知道订单项的设置会对广告产生影响.如果您的设置不正确,例如,项目的类型优先级太低或频次上限太长,您可能看不到广告.
您现在可以使用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)
Yoann Hercouet在评论中指出LARGE_BANNER is also not available on Facebook.
| 归档时间: |
|
| 查看次数: |
4420 次 |
| 最近记录: |