内容简介:这几天我们的新游戏上线了,说实话还是挺好玩的。首发的是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 发布,可配置标签广告位
- 数据与广告(十五):广告与游戏
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First Python
Paul Barry / O'Reilly Media / 2010-11-30 / USD 49.99
Are you keen to add Python to your programming skills? Learn quickly and have some fun at the same time with Head First Python. This book takes you beyond typical how-to manuals with engaging images, ......一起来看看 《Head First Python》 这本书的介绍吧!