记录下每次工作学习中用到的知识点
每次记录一点点,滴水终会汇聚成汪洋。
为了恰饭,有时候是要接入一些广告的,所以FB也专门有一个广告的SDK,这就是Audience-NetWork.
首先
官方文档地址
接入这个SDK之前呢,首先需要和后台的人员沟通好,当然自己能操控后台最好,建立应用,建立广告版位,这里稍微提一下:
从最开始看起
这里呢就是如何创建应用和广告版位,还有你的付款啊,权限啊其实都是后台控制的,但是如果你的后台不靠谱,就要要他把你加到一个权限账号自己操作(除了收款0。0)测试时候建立未上架的,发布后记得变为已上架并且把谷歌地址填对,然后开始审核。接下来是测试,下载SDK后,其中是有Demo的,当然这个官方文档是很早之前的,甚至有很多的坑。获得你的版号,并且改写到你的项目后,你会发现很多问题,他人的文档中提到的基本操作我就不赘述了。我把其中的坑来说一说。
坑点 1: 这个demo 中是没有自己初始化的;甚至之前的Android SDK文档中也是没有讲怎么初始化的,Google上的回答中甚至能找到官方的道歉,那么如何初始化呢?在你导出的工程中的加入初始化代码:
如何初始化解答
具体代码:
packagecom.facebook.samples.AdUnitsSample;
importandroid.content.Context;
importandroid.util.Log;
importcom.facebook.ads.AdSettings;
importcom.facebook.ads.AudienceNetworkAds;
import staticcom.facebook.ads.BuildConfig.DEBUG;
/**
* Sample class that shows how to call initialize() method of Audience Network SDK.
*/
publicclassAudienceNetworkInitializeHelper
implementsAudienceNetworkAds.InitListener{
/**
* It's recommended to call this method from Application.onCreate().
* Otherwise you can call it from all Activity.onCreate()
* methods for Activities that contain ads.
*@paramcontext Application or Activity.
*/
staticvoidinitialize(Contextcontext) {
AudienceNetworkAds.buildInitSettings(context)
.withInitListener(newAudienceNetworkInitializeHelper())
.initialize();
}
@Override
publicvoidonInitialized(AudienceNetworkAds.InitResultresult) {
Log.d(AudienceNetworkAds.TAG, result.getMessage());
}
}
第二个其实你可以在测试的文档里找到,但是还是容易被忽视关于你请求的视频类型
还有一个在你的广告前加上设备的哈希值(这个可以在广告尝试加载时的Log中找到)
当然切记正式上要去掉这个些,只需要真正的版号就OK了。
这里是测试的文档
当你把你的广告集成进去后可以要注意,激励视频广告看过一次后自己就会销毁,如果想要再看的话需要重新的加载,所以要找到合适的时机预加载广告。