目录
- 0. 背景
- 1. 打包总览
- 2. 打包前设置
- 3. 其他SDK加入
- 4. UniPack使用
- 5. 包体脚本操作
- 6. 流程自动化
- 7. 渠道提审反馈的问题
- 8. 未来计划
- 9. 附录
其中第一部分(本文)为0-4节,而第二部分为5-9节。
0. 背景
本文以Unity3D引擎的单机游戏魔塔学院(一款益智类的单机休闲手游)为例,以运营商(移动,联通,电信)短信代理收费为盈利手段,分享如何打包安卓版的各种渠道的发行版本,包括打包具体步骤,可脚本自动化的部分以及在提审过程中反馈的问题。
1. 打包总览
图1 描述了单机游戏安卓打包参考流程,主要分为四个阶段,即:a)由Unity项目工程导出Android项目工程;b)由android项目工程导出app;c)app导入,通过Unipack打出候选安装包;d)必要的手动操作直至发行版本。
图1. 单机游戏安卓打包参考流程
注:第三步UniPack公司定制的打包工具,其目的是按某个发行渠道的要求正确接入至Apk,具体来说:将Apk包反编译后进行加入渠道要求的jar包,修改AndroidManifest.xml(添加activity,permission)等操作。工具虽不开放,但其操作流程可以借鉴。
接下来 第2-5节按照上图的参考进行较详细的说明。
2. 打包前设置
首先,在游戏制作时,需要在Unity的C#脚本代码中注册商品,而商品的ID信息是向运营商申请的商品计费点的标示码。注意:因为游戏是单机的,所以在游戏的登陆(一般单机也没有登录步骤)和支付流程并没有游戏服务器的参与。具体可以参考Android支付接入-移动游戏基地。
其次,在Unity3d工程中,菜单栏File/Build Settings,选择平台Android,点击Player settings,设置横竖版,Icon,闪屏,Bundle Id,version等必要的参数。
图2. 菜单栏File/build settings 界面(上),player Settings界面(下)
选中Google Android Project,点击Export导出成Android项目工程。导出目录结构如图3,一般的安卓项目工程目录结构。
图3. 魔塔学院安卓项目工程目录结构
3. 其他SDK加入
打开eclipse-ADT,导入第1步导出的工程。若项目需要,接入除分发渠道外的其他SDK,例如微信(易信)分享。待接入完成之后,在eclipse-ADT中打包成已签名(或未签名)的apk包。
4. UniPack使用
UniPack目的是按某个发行渠道的要求正确接入至Apk。
因为UniPack是公司定制的打包工具,这里不便详细说明。简约地说,UniPack主要做了一下四件事情:
- 将Apk包反编译
- 加入渠道要求的jar包
- 修改AndroidManifest.xml(添加activity,permission)等操作
- 在assets和res文件夹中添加渠道要求的资源文件
- 将工程目录重新编译成apk并签名
读者可以其借鉴操作流程。
第一部分呢(本文)目录: