内容简介:这几天我们的新游戏上线了,说实话还是挺好玩的。首发的是MAC版本,这两天发布了Android版本,Android版本的盈利方式主要考虑就是广告。此处记录一下我们在集成广告时候的一些经验。我们的游戏引擎底层是基于 Gomobile 来打包的,但是 Gomobile 并没有提供任何方式来集成第三方的jar包,虽然可以通过 Go->Cgo-Java 的方式来调用java代码,但是却无法添加新的java代码,解决方案其实非常简单,直接新建一个 Android 工程,然后把打包后的以下是具体的实现细节:
这几天我们的新游戏上线了,说实话还是挺好玩的。首发的是MAC版本,这两天发布了Android版本,Android版本的盈利方式主要考虑就是广告。此处记录一下我们在集成广告时候的一些经验。
我们的游戏引擎底层是基于 Gomobile 来打包的,但是 Gomobile 并没有提供任何方式来集成第三方的jar包,虽然可以通过 Go->Cgo-Java 的方式来调用 java 代码,但是却无法添加新的java代码,解决方案其实非常简单,直接新建一个 Android 工程,然后把打包后的 .so
文件烤包到 jniLibs
目录,然后就可以直接运行这个 Android 工程了。
以下是具体的实现细节:
- 新建一个 Android 工程
- 复制 Gomobile 中的 GoNativeActivity.java 到新的工程
- 复制使用 Gomobile 打包的
.so
文件到 jni 目录 - 配置
AndroidManifest.xml
使用复制来的 Activity
编译运行,此时可以发现 Android 工程已经可以愉快的运行我们的 Go 项目了。至于 .so
文件怎么来的呢?可以使用 gobind
或者直接从 gomobile build
打包 .apk
文件中解压出来。
接下来就是添加广告,添加广告的过程和普通的 Android 工程添加广告没有任何区别。我们把广告添加在 GoNativeActivity.java 中,需要的注意的一点是,这个Activity继承自 NativeActivity
是没有View的层次结构的,一般的解决方法是使用一个 PopupWindow 来容载广告的View。
其实非常简单,在我们的实现中大概就是这样的几行代码:
// 装在广告View popup = new PopupWindow(this); popup.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); // banner AdView adView = new AdView(this); popup.setContentView(adView); // 在屏幕下方显示广告 popup.showAtLocation(getWindow().getDecorView(), Gravity.BOTTOM, 0, 0);
集成广告之后可以像正常的 Android 工程一样打包签名,在此不表。
其实这种做法也给我们之后做Android打包提供了一个思路,可以把工程分为 Android 部分和Golang 部分,使用脚本统一打包,这样无论对 java 或者 Go 的代码进行了修改都可以使用同一个打包脚本来执行,操作上可能会简单很多。
另外发几幅我们新游戏 —— **Shoot Stack **的截图(很漂亮):
Shoot Stack
截图的分辨率有点降低,实际上高清版非常好的。由于国内的特殊原因上线不了国内市场,现在上线了 itch.io 你可以在这里下载到 MAC 版本: Shooting!Block by ntop 或者在 GooglePlay 下载 Android 版本: Android: Shoot Stackplay.google.com
googleplay.jpeg
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 美团点评效果广告实验配置平台的设计与实现
- Mozilla 对脸书数据泄露事件不满,要求撤回平台广告
- 人民日报批弹窗广告:有关平台应珍惜声誉
- 华为HMS新条款曝光:EMUI系统要加平台广告
- Java 社区平台 Sym 3.4.0 发布,可配置标签广告位
- 数据与广告(十五):广告与游戏
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。