以穿山甲为例
对于Android游戏来说,平台的启动部分需要在应用程序的onCreate中完成,所以还是需要在java端做一些设置的。
- 依次导入sarsgame 和 平台相关的依赖项目
sarsgame 是公共依赖,如果是穿山甲就导入chuanshanjia,如果是google admob 就导入googleadmob
- 替换文件proj.android-studio目录下的文件,注意如果代码中已经有修改的做好备份。
- 修改Gradle文件
- 初始化
- 配置广告ID
- Google 的广告id配置路径一样。
- 配置广告参数
- Google的广告参数都是测试参数。切记在上线之前更换成自己的。
- 最后别忘了设置启动平台
看着步骤挺多,其实都是你必须做的,代码部分基本就没有涉及了。
调试中遇到的问题
- Android Studio --“Cannot resolve symbol” 解决办法
Android Studio 无法识别同一个 package 里的其他类,将其显示为红色,但是 compile 没有问题。鼠标放上去后显示 “Cannot resolve symbol XXX”,重启 Android Studio,重新 sync gradle,Clean build 都没有用。
多半是因为 Android Studio 之前发生了错误,某些 setting 出了问题。解决方法如下:
点击菜单中的 “File” -> “Invalidate Caches / Restart”,然后点击对话框中的 “Invalidate and Restart”,清空 cache 并且重启。语法就会正确的高亮了。
- 如果提示某些类没有找到,有可能是依赖没有构建成功,可以将鼠标放到标红的类名之上,然后实用Alt+Enter如果提示需要添加依赖,选择添加依赖就可以了。
疑问解答
- 为什么不能自动识别每个平台?
因为此SDK存在的目的是为了开发者可以编写一次广告策略后,只要配置好广告参数和做微小的改动就可以发布到其他平台或者渠道。这里的平台或者可以说渠道是相当多的。不仅仅是小游戏平台,还有H5比较有名气的爱微游,疯狂游乐场;穿山甲的ios和Android;Facebook广告,Unity广告,GoogleAdmob广告等等。所以为了最大化的扩展,只是提供了手动设置,如果开发者想自动识别,可以自行修改。
- 为什么一个平台一套代码?不同平台不能用同一套代码吗?
不建议那么做。因为每个平台的特性不一样,为了在修改代码的时候不影响其他平台,所以一个平台一套代码。 - 如果我不需要这么多平台该怎么做?
可以删除不需要的代码。
结语
压缩包中提供了一个去掉了build目录的穿上甲项目。打开构建后可以直接运行。