美文网首页
在 Korok 游戏中集成广告(Android平台)

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

作者: cb878579a389 | 来源:发表于2018-08-31 16:09 被阅读228次

    这几天我们的新游戏上线了,说实话还是挺好玩的。首发的是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

    相关文章

      网友评论

          本文标题:在 Korok 游戏中集成广告(Android平台)

          本文链接:https://www.haomeiwen.com/subject/lutewftx.html