在 Korok 游戏中集成广告(Android平台)

这几天我们的新游戏上线了,说实话还是挺好玩的。首发的是MAC版本,这两天发布了Android版本,Android版本的盈利方式主要考虑就是广告。此处记录一下我们在集成广告时候的一些经验。

我们的游戏引擎底层是基于 Gomobile 来打包的,但是 Gomobile 并没有提供任何方式来集成第三方的jar包,虽然可以通过 Go->Cgo-Java 的方式来调用java代码,但是却无法添加新的java代码,解决方案其实非常简单,直接新建一个 Android 工程,然后把打包后的 .so 文件烤包到 jniLibs 目录,然后就可以直接运行这个 Android 工程了。

以下是具体的实现细节:

  1. 新建一个 Android 工程
  2. 复制 Gomobile 中的 GoNativeActivity.java 到新的工程
  3. 复制使用 Gomobile 打包的 .so 文件到 jni 目录
  4. 配置 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 **的截图(很漂亮):


653561-cacfe403ce66cf6a.png
Shoot Stack

截图的分辨率有点降低,实际上高清版非常好的。由于国内的特殊原因上线不了国内市场,现在上线了 itch.io 你可以在这里下载到 MAC 版本:Shooting!Block by ntop 或者在 GooglePlay 下载 Android 版本:Android: Shoot Stack​play.google.com

653561-b6b2b59035486464.jpeg
googleplay.jpeg

油管视频:https://youtu.be/MGd_QJ_nahU

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值