最近开发的小游戏想上架Google Play,需要对接Google Admob,在网上找了一些方案,结果发现cocos 商场内就有google admob 的免费插件。对接过程中踩到一些坑在这里记录一下。
首先按照文档将拓展插件安装到项目中
然后在拓展管理中找到已安装的google admob 拓展并启用,
再之后需要去到拓展所对应的目录下执行依赖安装 (npm install)
然后就是需要配置安卓项目构建配置。
在配置的最下方找到AdMobile 插件,填入你自己的谷歌广告应用id就,其他使用默认配置就可以了。
然后直接点击构建项目,待项目构建完毕之后在 Android Studio 中打开,
会发现多了两个包,这两个包就是Google Admob 插件的包,遇到的第一个坑就在这里,如果上面没有运行npm install 命令,那么这里就不会有这两个包。
接着就是第二个坑, Android Studio 构建控制台会报红,提示在 :libadmob 中找不到namespace
这里需要将libadmob包下的AndroidManifest.xml 文件中的 package 替换到 libadmob 包下的build.gradle 文件中的namespace 字段中
对于nativetemplate 包进行相同的操作,之后控制台就没有报错信息了。
注意⚠️:由于上面修改的文件是Cocos 构建之后生成的,所以我们需要去插件源文件目录下面找到android 目录下去修改,不然下一次构建任务会覆盖掉当前的修改。
然后继续按照文档往下走,
找到工程的 AppActivity.java 文件,添加如下的代码:
- onCreate 中添加: AdServiceHub.instance().init(this);
- onDestroy 中添加:AdServiceHub.instance().destroy();
然后继续按照插件的示例,在cocos 的脚本文件中添加广告调用代码就可以了。最后展示一下正常调用的结果。