在Cocos Creator 3.8.3 中接入Google AdMob

1,480 阅读2分钟

最近开发的小游戏想上架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 的脚本文件中添加广告调用代码就可以了。最后展示一下正常调用的结果。