AndroidStudio集成Admob
前段时间公司的游戏开发的差不多了,集成了一些SDK,本次要说的就是其中之一的Admob,这个变现sdk就不用介绍了吧,看到这个文章的肯定都知道是什么,实在不清楚就去玩玩度娘。其实Android应用接入Admob没什么复杂的地方,只不过手上这个应用是CocosCreator开发的游戏,就是在一个Activity上面加了个GLView,然后渲染,要接入SDK需要稍微绕一点点弯路,然后国内的网络环境也堪忧,有可能会在测试的时候带来麻烦。
Android GL线程与UI线程通信
熟悉Cocos的同学都知道,我们的游戏都是在一个GLview上进行的,游戏开发的语言是js,要想与UI线程通信,就需要引擎提供的api
jsb.reflection.callStaticMethod('类路径', '方法名', '参数签名', '参数列表');
只有静态方法可以通过这个方式进行调用,关于这个方法的详细说明就不过多赘述,官方文档有很详细的讲解 [ 传送门 ]。
接入Admob依赖库
首先在工程级的build.gradle中添加依赖(最外层的那个build.gralde文件)
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
再在app级的build.gradle中添加相关库的依赖(定义了applicationid等应用信息的那个build.gradle)
dependencies {
//new dependence
implementation 'com.google.android.gms:play-services-ads:15.0.0'
}
到这里库的配置就弄完了,可以开始撸代码了
注意,Admob要求的Target Android API level 最低是14,不然编译阶段会提示你修改
接入Banner广告
Banner广告就是一个显示在屏幕某个位置的横幅广告,难以避免地会占用游戏节目,是个很不友好的广告,在Android原生应用中,可以直接在要植入广告的界面的xml布局里面直接把banner广告布局填进去,适配也非常的简单,但是我这游戏就不行,cocos的长度单位与Android的不一样,需要经过一些换算才能得到正确的大小,Banner广告展示的大小,SDK有提供了很多尺寸的选择,其中Smart