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

ntop · · 889 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

这几天我们的新游戏上线了,说实话还是挺好玩的。首发的是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 **的截图(很漂亮):


Shoot Stack

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

googleplay.jpeg

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


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:ntop

查看原文:在 Korok 游戏中集成广告(Android平台)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:1006366459

889 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传