目錄
- 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並簽名
讀者可以其借鑑操作流程。
第一部分呢(本文)目錄: