編者按:本文來自微信公眾號「遊戲葡萄」(ID:youxiputao),作者騰訊WeTest,36氪經授權發布。
過去的2016年,我們見證了不少潛心打磨一炮而紅的遊戲,也見證了許多因為一兩個質量問題在上升期跌了跟頭,甚至因此出局的遊戲。
不可否認的是,手遊產品正在朝著「精品化」與「細分化」方向發展。今年的幾款火爆遊戲的成功絕非個例,而是在有意或無意中順應了潮水的方向,在玩法上推陳出新,在質量上也做的非常過硬,經得起千萬玩家的考驗。
近日,騰訊WeTest聯合遊戲測試專項中心,以及騰訊內外部手遊專家,結合平臺本身一整年的大數據,出品了《2016中國移動遊戲質量白皮書》。
什麼遊戲類型最火?——角色扮演
2016年移動遊戲類型主要包括動作冒險、飛行射擊、角色扮演、經營策略、棋牌中心、體育競速、網路遊戲、休閒益智八個大類。
其中,角色扮演類遊戲最多,佔比21.00%,代表作有《夢幻西遊》、《熱血傳奇》等;體育競速類遊戲最少,佔比7.16%,以《天天酷跑》等酷跑、賽車類遊戲為代表。
注1:本章節遊戲類型及安裝包數據來自應用寶,取2016年數據
注2:騰訊遊戲包括自主研發、代理合作、聯合運營三種方式的所有遊戲
注3:網路遊戲以重度遊戲為主包含了MOBA、卡牌類等遊戲,例如《王者榮耀》、《我叫MT2》等
移動遊戲安裝包普遍小於50M
受制於中國整體的手機硬體和網絡環境,移動遊戲的安裝包普遍較小,其中小於50M的遊戲安裝包過半,只有四分之一的移動遊戲安裝包大小超過100M。隨著安裝包大小上升,相應的遊戲數量銳減,其中,大於400M的遊戲佔比僅為3.1%。
不同類型遊戲安裝包大小差異較大,網路遊戲、角色扮演、動作冒險遊戲安裝包大小普遍較大,其中網路遊戲的平均大小達到205M,棋牌中心類遊戲安裝包最小,平均大小為27M。
移動硬體市場依然強勁
目前市場上移動硬體廠商超過340家,至2016年10月移動網際網路用戶超過10億,日均活躍設備數量超過6億。
作業系統中Android與iOS幾乎覆蓋了所有市場用戶,兩者用戶比例約7:3。
終端品牌方面,5大巨頭(華為、小米、三星、OPPO、VIVO)市場佔比持續領先,連續10個月市場佔比超過65%,最高接近70%。
晶片方面,高通、聯發科、三星和海思四家廠商的市場佔比超過95%,四巨頭壟斷整個晶片市場。
注1:本章內容取自騰訊大數據(燈塔指數)
Android硬體性能持續升級
硬體性能在解析度、內存、CPU等方面不斷提升,變動巨大。
內存方面,1月份,1G及以下內存的機型佔整個硬體市場的54%,10月份直接滑落到35%。新增機型方面,2G以上已成主流,甚至還出現了8G以上的機型。
解析度方面,高清屏幕(720p以上)的佔比從1月份的56%升到了10月份的65%;更高的解析度可以給玩家帶來更優質的遊戲體驗,也給各遊戲廠商更大的發揮空間。
CPU處理核心八核手機在TOP機型排行佔比增加,十月份TOP100榜單中已經達到66%,雙核系統手機已經不在TOP100中。
CPU主頻方面沒有明顯的趨勢,1.2-1.4GHz低頻段手機與1.5GHz以上頻段手機市場佔比無明顯變化。
注1:本章內容取自騰訊大數據(燈塔指數),從2016年1月到10月數據
測試硬體的選取辦法
開發者一般會根據硬體市場的變化,產品的性能需求以及機型覆蓋情況選擇測試硬體。
隨著硬體不斷提升,兼容性測試的重心也會隨著大環境而改變。低版本系統逐步淘汰,新增系統特性需要重點關注及時做出針對措施,同時,低解析度和低內存的硬體市場持續縮水,對遊戲測試者而言,也需要持續關注。
開發者應根據自己產品性能需求,來選擇匹配的硬體進行測試,避免不必要的成本增加。測試機型選取並不完全取決於硬體市場趨勢,遊戲類型本身,也取決於對測試硬體範圍的差異。選取測試機型時,可以提前對產品設定一個硬體測試傾向。例如動作射擊類,可以適當將測試重心轉向中高檔機型;而棋牌策略類遊戲及應用,則可以向中低機型傾斜。
考慮特殊機型,確保測試範圍的全面性。除了性能和TOP機型外,還要考慮其他特殊機型。例如,騰訊WeTest在做手遊測試時,還會考慮市場最新的Android版本或是特殊晶片類型,例如X86,確保測試範圍全面。同時,如果發現一類機型的Bug數較多,也會擴充這類機型的測試數量。
什麼是兼容性問題?
根據騰訊測試標準,兼容性問題被總結為右側圖表所示的8個問題及定義。
注1:本章節後續提到的兼容性問題,以右側圖表定義為準
注2:本章節數據來自騰訊WeTest平臺2016年測試數據
哪些兼容性問題最多?
在騰訊WeTest平臺測試的遊戲中,平均每次測試能夠發現11個兼容性問題。
出現最多的問題為:安裝失敗、UI異常、Exception、崩潰。
所以我們接下來針對出現問題最多的三個問題進行分析。
注1:問題率=測出問題的次數/該類型遊戲的總測試次數
注2:採用應用寶遊戲分類
注3:網路遊戲包含了MOBA類、卡牌類等遊戲,例如王者榮耀、我叫MT2等
不同手機品牌遊戲兼容性差別迥異
不同手機品牌上遊戲的兼容性表現不一,華為、三星、樂視等品牌問題較少。
總體來看不同品牌手機的問題率差別不大,但不同品牌問題率仍有不同。
酷派、華為、三星、樂視手機問題率明顯較低,說明這些手機的遊戲兼容性較好,而問題率較高的一些品牌,需要遊戲開發者尤其注意兼容情況。
注1:本章節測試數據主要選取騰訊WeTest平臺上的2016年測試數據,手機機型分高中低檔,對問題率略有影響,但多數都是中端機
注2:問題率=測出問題的次數/該品牌設備的總測試次數
內存越大,兼容性問題也越少
設備內存對兼容性的影響明顯。隨著內存增長,兼容性問題明顯減少,內存為1G的機型出現問題的概率超過40%,內存為4G的機型出現問題的概率僅為3%左右。開發者應該針對小內存的手機做一定優化,確保在小內存機器上不會出現過多問題。
註:問題率=測出問題的次數/該內存設備的總測試次數
Android4.0的兼容性問題最多
Android作業系統中,表現較好的為android5.x,兼容性問題最少。
其中,Android 5.0版本兼容性最好,問題率最低,僅約10%。
發現問題最多的版本為Android 4.0,出現最多的問題為安裝失敗。主要原因是Android4.0版本的市場份額只有1.2%,並且不斷下滑,有很多遊戲已經不支持Android4.0版本,開發者可以根據自己的需要自行選擇需要支持的版本。
Android 6.0的問題率比Android 5.0和5.1版本略高,說明新版本對遊戲的適配還有待提升。
注1:問題率=測出問題的次數/該作業系統設備的總測試次數
注2:作業系統分布來源為谷歌開發者官網
崩潰問題分析
手遊的崩潰情況主要受到了手遊內存,設備系統以及遊戲類型三個維度的影響。
手遊內存維度:
手機內存越大,出現崩潰的問題越少。內存對兼容性的影響很大,隨著內存增大,兼容性問題明顯減少,開發者想降低崩潰問題率,需要針對小內存手機做一些特殊優化。
設備系統維度:
Android 6.0的崩潰問題率最高。相比總的問題率,Android 6.0的崩潰問題率明顯較高,開發者應該重視Android6.0版本的適配。
遊戲類型維度:
體育競速類適配兼容問題最多,棋牌中心類遊戲適配最好。棋牌中心類產品玩法比較成熟,遊戲邏輯較簡單,崩潰問題率最低。
UI異常問題分析
UI異常主要包括了遊戲界面出現黑屏、白屏、花屏、資源加載失敗等問題。
按內存來看,1G內存手機的問題率遠遠高於2G以上手機。
按作業系統來看,Android 4.0和Android5.1版本的UI問題較多。
按遊戲類型來看,飛行射擊、休閒益智類遊戲出現UI異常的概率較高,網路遊戲出現UI異常的概率相對較低。
安裝失敗問題分析
手遊的安裝失敗問題主要受到了安裝系統和遊戲類型兩個維度的影響。
4.0系統的安裝失敗率最高。Android 4.0和4.1系統的安裝失敗最多,分別為 68%和13%,4.0目前因為市場份額很小,很多遊戲已不支持該版本Android 系統,所以安裝失敗問題相對較多,開發者需要根據自身情況選擇需要支持的 系統版本。
休閒益智類遊戲安裝失敗最少。動作冒險、角色扮演類遊戲安裝失敗問題普遍較多,此類問題通過自動兼容性測試即可快速發現,需引起開發者的重視。
FPS表現最好的是消除類遊戲
FPS指遊戲每秒渲染幀數,意味著遊戲畫面的流暢度,當FPS過低時可能導致遊戲卡頓現象。我們在測試中將著重關注遊戲在默認配置下,核心遊戲場景的FPS穩定性和平均值。
對於FPS穩定性,騰訊手遊質量標準要求在中檔和高檔機型上,FPS達到25幀的比例大於90%,在低檔機型上達到18幀的比例大於90%。
FPS的穩定性表現最好的類型為消除類,在三個檔位機型上都達到了99.3%以上,表明此類遊戲帶給用戶穩定流暢的操作體驗。
FPS的穩定性表現最差的類型為棋牌類,在三個檔位機型上全部未達標,並且出現了機型配置越好,穩定性反而越差的情況,此種情況也出現在了飛行射擊類遊戲上。
僅消除類、體育競速類及策略經營類三個類目在三個檔位的機型上都符合標準。
在平均FPS方面,消除類和體育競速類遊戲表現相比之下更為優秀,這兩個類別下的不達標遊戲數量也極少。棋牌類遊戲在高檔機型上FPS均值跌過25,只有23.66,不達標的遊戲數量也超過了三成,雖然用戶體驗上影響不大,但仍需引起注意。
總的來說,隨著中重度遊戲越來越多,遊戲FPS均值出現緩慢降低的趨勢。
註:數據來源為WeTest客戶端性能測試cube2016年測試數據
多種遊戲類型都存在明顯內存超標
現在的行動裝置內存都比較有限,安卓系統的特性也容易導致內存緊張。當遊戲佔用內存過高時,可能會造成遊戲卡頓甚至無法啟動的現象。我們在測試中將著重關注遊戲在默認配置下,核心遊戲場景的PSS內存峰值和均值。
騰訊手遊質量標準要求在高檔機型上PSS內存峰值小於450MB,中檔機型上PSS內存峰值小於350MB,低檔機性上PSS內存峰值小於256MB。
內存問題在低檔機型上最為嚴重,角色扮演、動作冒險、飛行射擊和網路遊戲類內存超標現象比較明顯。開發者在低端機型上對遊戲的性能優化需要引起重視。此外在低端機型中,我們發現同一款遊戲在不同品牌的手機上內存佔用差距極大,建議使用騰訊TDR標準推薦的機型進行測試。
內存佔用最高的類別為動作冒險類,在中檔機型及高檔機型中都佔據第一。在低檔機型中網路遊戲類佔用最高,達到304.25MB。
內存佔用最低的是棋牌類,在三檔機型中全為最低,這也與其本身的特徵相符。
註:PSS - Proportional Set Size,意為實際使用的物理內存
網路遊戲的CPU穩定性最差
CPU(中央處理器)是手機的運算核心和控制中心,對於遊戲表現的影響可見一斑。當遊戲佔用CPU過高時,遊戲可能會出現運行緩慢、卡頓、閃退等現象,嚴重影響玩家的遊戲體驗。我們在測試中主要關注遊戲在默認配置下,核心遊戲場景的CPU佔用情況。
對於CPU穩定性,騰訊手遊質量標準要求遊戲在各檔機型中的CPU佔用低於60%的比例大於90%。
CPU穩定性表現最好的類型為消除類,在三檔機型中都達到了99.6%以上,說明此類遊戲能在各檔機器中都能提供穩定優秀的遊戲體驗。
CPU穩定性表現最差的類型為網路遊戲,網路遊戲在低檔機型中表現最差,在高檔機型中的表現也低於其它類型的遊戲。
從全局來看,所有遊戲均已達標,但小部分棋牌類遊戲仍存在CPU佔用稍高的情況。
在平均CPU佔用方面,棋牌類遊表現最好,在中檔機型中的CPU佔用均值低至8.17%,遠勝其他類型遊戲。
網路遊戲在高中低三檔機型中CPU佔用均值全部高於其他類型遊戲,可能存在CPU佔用過高的風險。
僅五成遊戲達到騰訊Mono內存標準
騰訊WeTest手遊客戶端性能測試團隊對市場上及測試階段的Unity引擎製作的遊戲數據進行了匯總,讓讀者了解目前Unity遊戲的數據表現。本節從mono內存及資源角度進行了數據分析。
mono內存方面,僅五成Unity遊戲達到了騰訊標準推薦的50MB以下的要求。Unity遊戲的資源內存主要來自於紋理、網格、動畫以及音頻部分。
紋理資源方面,也僅五成Unity遊戲達到了騰訊標準推薦的50MB以下的要求,同時也是所有資源內存中超標最多的一項,值得遊戲開發者的關注;
網格資源方面,八成多的Unity遊戲達到了騰訊標準推薦的20MB以下的要求;動畫以及音頻資源方面,八成多的Unity遊戲達到了騰訊標準推薦的15MB以下的要求。
安全測試總體概況
在所有問題中,業務安全方面發現的主要問題可分為致命問題、嚴重問題和一般問題,佔比分別為18.48%、62.74%和18.78%;系統安全方面發現的主要問題為源碼安全漏洞、系統安全漏洞和系統安全風險,佔比分別為46.14%、40.89%和12.96%。
發現業務安全問題中,致命問題主要為伺服器崩潰,全屏攻擊,刷屬性;嚴重問題主要為無敵,秒殺,弱化怪物;一般問題主要為破壞遊戲玩法,敏感信息,異常狀態下非法操作。
發現的系統安全問題中,源碼安全漏洞問題數最多,佔比為46.14%。需要引起開發者重視。其中安全漏洞為在遊戲具體實現或系統安全策略上存在的缺陷,從而可以使攻擊者能夠在未授權的情況下訪問系統。
註:數據來源為WeTest安全掃描和手遊安全測試服務2016年測試數據
業務安全問題
常見的安全風險如下圖所示,出現最多的手遊問題為無敵、秒殺等,對用戶造成影響比較嚴重的主要是伺服器宕機。
其中秒殺問題主要是由於策略校驗不嚴格:伺服器未校驗傷害值,並發傷害,攻擊加速,攻擊必爆等。
無敵產生的主要原因是遊戲邏輯存在漏洞:純客戶端邏輯、被攻擊方上報傷害、瞬移、移動加速等。
伺服器宕機主要是由異常協議數據引發,包括空指針、野指針、數據溢出、內存越界等。
協議問題和函數問題也容易發現一些無敵秒殺漏洞 。
手遊的業務安全主要受到了遊戲引擎和遊戲類型兩個維度的影響。
引擎方面,Unity引擎的遊戲相對發現的安全問題較多;平均每次測試發現20多個安全問題,其中13個嚴重問題。這是由於Unity引擎 在4.x版本的安卓平臺上還未支持il2cpp,會存在C#代碼容易被反編譯的漏洞。這個問題已經在最新的5.x版本中解決,建議開發者升級引擎到最新的版本,並且在安卓平臺開啟il2cpp。
遊戲類型方面,飛行射擊類遊戲的問題最多。飛行射擊類遊戲發現問題最多,主要是一般性問題,休閒益智類遊戲平均每次測試發現16個問題,但是嚴重級別的問題就有13個,動作冒險類遊戲發現的 致命問題最多,平均每次測試發現9個致命問題。
系統安全風險
高危漏洞超過三成,需要引起開發者重視。
手遊安全性問題系統安全漏洞問題主要分布為:高危34.61%,中危55.65%,低危9.74%。
其中,安全漏洞主要為:Web組件遠程代碼執行漏洞 、 HTTPS敏感數據劫持漏洞和私有文件洩露風險,會對開發者造成極大的安全損失;安全風險主要為:BroadcastReveiver組件暴露風險、Activity組件暴露風險和私有文件洩露風險,也需要引起開發者重視。
什麼是「輿情監控」?
輿情監控指對玩家在網絡上的評論進行收集、整理、提煉,並及時給出回應和處理對策。通常的監控範圍包括各大論壇、應用商店評分評論、社交平臺、遊戲資訊媒體。
輿情監控具有7x24小時不間斷、立體全面、樣本量大、可定量、可定性的特點。開發者可以及時了解遊戲在玩家中的口碑,掌握各類玩家喜好,發現質量問題。
接下來將對玩家評論中的質量問題反饋進行詳細分析。
用戶反饋最多的質量問題是登錄問題
在玩家反饋的所有質量問題中,佔比最多的是登錄問題:「進不去」、「登不上」和「上不去」名列前三。在抽樣的遊戲中,有84%曾發生閃退問題。由於登錄問題會直接導致玩家無法進行遊戲,一旦問題爆發,玩家很容易跑到應用商店刷評論、打低評分,表示抗議。
第二大問題是穩定性問題。用戶反映集中於 「閃退」、「死機」。穩定性問題也是直接導致用戶無法進行遊戲的嚴重問題,高達22%的用戶評論都在反饋穩定性問題。「閃退」是佔比最高的細分類,佔所有問題評論的14%。
第三、第四大問題是兼容適配和網絡,這兩種問題受到機型、地域等限制,只會影響部分玩家,故反饋量比起前兩類問題略少。反饋最多的兼容適配問題是「打不開」、「黑屏」、「安裝不上」,網絡問題是「掉線」、「連不上」、 「費流量」,在進行專項測試時應對這些問題重點關注。
重度遊戲更易爆發質量問題
結合遊戲類型對質量問題評論進行分析,可以看出遊戲的製作難度、玩家人 數,都會影響問題出現的頻率和影響面。製作難度越大、玩法豐富、熱門的遊 戲,越容易暴露出問題,需要在質量保證上投入更多精力。
網路遊戲主要為重度遊戲,具有強聯網、開發難度大、用戶粘度高等特點,容易爆發問題。休閒益智和經營策略由於門檻低、輕鬆休閒,玩家基數大,一旦發生問題,影響人群較其他類別會更大。經營策略類遊戲的玩家行為通常具備單次時間短、整體遊戲時間長的特徵,因此也容易遭遇各種問題。
問題比較少的分類有棋牌中心和體育競速類,它們登錄和兼容適配的問題出現得最少,穩定性也相對優秀,同時因為玩法成熟,版本更新時也很少出現問題。
豌豆莢用戶評論總量居於首位
目前市場上安卓渠道繁多,騰訊WeTest選取了八大應用商店各自的TOP10熱門遊戲,對它們近三個月(9月1日-11月30日)評論總量進行了統計,得出以下結論。
豌豆莢用戶評論總量居於首位,評論數量總量高達180000條,大大高於其後的渠道,十大熱門遊戲中所有評論數都在15000條以上,平均每月5000條。
應用寶作為用戶量最大的第三方應用商店,評論數量居於次席;小米的硬體市場佔有量在2016年排在第二,僅次於華為,因此評論量也在廠商應用市場中位居第一,值得關注。
360手機助手評論數偏低,熱門的遊戲的月平均評論在500左右,僅為豌豆莢的1/10。
十大年度暢銷遊戲評測
為了讓大家對市場上領軍遊戲的質量情況有所了解,我們選取了10大暢銷遊戲:《王者榮耀》、《陰陽師》、《倩女幽魂》、《夢幻西遊》、《大話西遊》、《黎明之光》、《亂轟三國志》、《御龍在天》、《天堂2:血盟》、《全民飛機大戰》,對於這些遊戲的兼容性與性能情況進行了測評。
暢銷遊戲主要是RPG等重度遊戲,製作要求較高,在避免質量問題上也提出了更高的要求。
注1:Top10暢銷遊戲選取主要參考本年度11月App Store暢銷遊戲榜單, 遊戲版本為11-12月應用寶版本
十大暢銷遊戲兼容性測評
為了直觀了解暢銷遊戲的質量情況,WeTest平臺對2016年10月App Store Top10暢銷榜單遊戲進行了Android TOP100機型以及iOS所有機型的完整兼容性測試。
Android TOP100機型測試結果: 共發現問題50個,其中嚴重及以上問題36個,共涉及設備數量61部。
iOS所有機型測試結果:共發現問題11個,其中嚴重及以上問題7個,共涉及設備數量12部。
相比之下,十大暢銷遊戲適配兼容狀況整體明顯優於市場平均質量,僅從bug總數來看:
Android方面,暢銷遊戲平均bug總數5.0個,遠低於市場平均bug總數10.91個;
iOS方面,暢銷遊戲平均bug總數1.1個,遠低於市場平均bug總數4.45個。
這也從一個側面看出,十大暢銷遊戲之所以暢銷,除了豐富多變的場景、 新穎奇特的玩法等因素以外,還有優質穩定的遊戲質量做支撐。
在卓越的質量表現背後,暢銷遊戲在不同平臺上的表現還是存在著差別, 相比iOS,Android平臺的問題較多一些,在未來,Android平臺的質量比拼值得所有遊戲廠商引起重視。
註:本表數據來自於WeTest平臺測試數據,遊戲選取來源是2016年10月App Store Top10暢銷榜單遊戲
在10-11月期間的應用寶版本,以上數據僅代表當時遊戲版本情況,不代表遊戲目前質量水平
《王者榮耀》性能評測
《王者榮耀》手遊是由Unity引擎開發的,針對該引擎,我們可以獲取引擎相關的一些性能數據,對遊戲的性能進 入深入分析。
函數耗時方面,《王者榮耀》在核心場景中很少進行資源加載操作,大多是放在場景加載時完成,同時GC的次數和耗時也控制的非常好,保證了玩家在核心場景進行遊戲的流暢性。
內存方面,《王者榮耀》對於mono內存的管理也很不錯,遊戲過程中mono內存沒有增加的趨勢,同時mono堆內存也保持在50M之下。
注1:本節暢銷遊戲選取原則為編寫本白皮書時App Store暢銷排行最高的遊戲
資源方面,《王者榮耀》整體性能優秀,但是我們仍然在資源重複率,GameObject數量,動畫剪輯資源等方面提出了優化建議。
紋理資源方面,有些紋理的長寬不是2的整數冪,會導致內存佔用的提高,需要有所警惕。
動畫剪輯方面,峰值超過了15MB,屬於內存佔用較多的情況,可以查看單點的詳細情況對超標的動畫剪輯資源進行優化。
可以看出,《王者榮耀》客戶端性能整體還是非常優秀的,同時也存在一些可以優化的空間。一款遊戲只有不斷打磨,性能才會越來越好,成為玩家認可的精品遊戲。
客戶端崩潰
崩潰問題解決方法主要有下列四種,開發者需要根據自身情況合理選擇:
1. 通過異常堆棧找到對應的代碼進行分析,java可以直接看到代碼堆棧,native程序可用ndk- stack還原到代碼異常堆棧,根據邏輯找到原因;
2. 與上一個穩定版本對比代碼變化,可使用比較工具如beyondcompare,仔細分析所修改的代碼,找到問題原因;
3. 直接調試分析,使用Android Studio進行調試,Java和Native程序都可以考慮,在代碼異常發生之前單步跟蹤,找到問題原因;
4. 關鍵位置多打些debug日誌等待問題重現,重現後通過日誌縮小問題範圍再結合代碼進行分析,找到問題原因;;
UI異常
UI異常一般分為幾類:黑屏、白屏、花屏;重影,錯位;資源加載失敗等等。
1. 黑白屏和花屏問題一般是跟Android設備的兼容適配強相關的問題。具體跟設備的屏幕尺寸、GPU類型,定製化Android版本等相關。例如關注GPU對一些紋理的支持格式;以及虛擬控制項對圖片本身的顯示效果等。
2. 重影、錯位,或者資源加載失敗,一般是遊戲本身的邏輯問題。一旦出現,一般不會只在特定的機型上發生。這塊UI問題,產生的原因有時也與遊戲引擎相關,就Unity引擎開發的遊戲而言,我們發現很多開發者沒按官方圖片格式等來做,注意圖片格式符合官方標準等。
安裝失敗
安裝失敗,主要有3種原因。
1. ROM空間不夠。這塊的解決方法有2種: 可通過減包優化,或更換手遊的目標機型來解決。
2. 存在遊戲版本功能特性改版後,不適配當前的機型。可根據產品的變化點,去逐條分析,排查適配兼容問題。
3. 手遊適配的安卓版本範圍與當前機型的安卓版本不一致。
FPS
核心場景中,儘量減少耗時較大函數的調用,比如資源加載函數,對象生成函數,IO操作函數等, 將這些函數放在場景加載時完成。
同一時刻場景中存在的對象數量需要進行控制,特別是一些比較消耗性能的對象,剛體性質的對象需要物理計算及碰撞檢測,模型材質複雜的對象需要更多渲染性能,這些對象不要同時存在過多。
對遊戲資源的尺寸進行優化,在保證效果的前提下,減少網格的面數和骨骼數,紋理的大小等。
內存
代碼邏輯方面,及時釋放不再使用的內存,減少頻繁的內存分配和釋放,有條件的情況下可以使用內存池和對象池技術。
遊戲資源方面,控制資源的尺寸,進行按需加載和釋放,防止不再需要的資源繼續留在內存中。同時一些參數也會影響資源的內存佔用,比如紋理長寬非2次冪,紋理mipmap數量等,需要特別注意。
CPU
在遊戲主線程中,儘量不做複雜運算,將這些運算放在單獨的子線程中完成。
善用引擎提供的優化選項,比如網格合併,遮擋剔除,光照烘焙等,這些功能可以極大減少引擎需要的CPU運算。
性能要求特別高的代碼,可以使用c或c++語言實現,甚至嵌入彙編語言。
客戶端安全
客戶端安全指的是從反破解反調試角度,應用層面需要進行的防範措施。
針對開發者的建議:
1)增加反調試機制防止遊戲在運行時被破解;
2)屏蔽常規的ptrace等注入方式;
3)配置編譯選項將so文件中的函數名進行抹消;
4)針對動態庫so以及資源文件進行完整性校驗;
5)針對Unity引擎下的關鍵邏輯動態庫dll文件, 需要進行隱藏或者加密處理;
6)針對Apk文件的二次打包進行校驗處理;
7)避免輸出關鍵邏輯相關的log信息。
業務邏輯安全
業務邏輯安全指的是和遊戲業務數據相關的安全問題。
針對開發者的建議:
1)針對遊戲運行時的內存數據進行加密處理;
2)本地客戶端與伺服器端的通信協議必須使用加密保護,且加密Key至少每次登錄變化一次;
3)針對通信協議強交互類型的遊戲,關鍵邏輯運算必須有伺服器端完成;
4)針對通信協議弱交互類型的遊戲,需要記錄用戶在單局遊戲內的數據,上報至伺服器端進行統一校驗。
伺服器端安全
伺服器端存在各種影響遊戲正常運營的安全問題。
針對開發者的建議:
1)針對遊戲內用戶輸入,需要防止SQL注入等類型的漏洞問題。
2)針對DDOS類型的攻擊漏洞問題,建議加入類似大禹系統的防攻擊安全組件。
Web遠程代碼執行漏洞
目前可以通過編寫靜態代碼掃描,找出可能存在的問題。提前做好預防措施,保證訪問非法網站時,不會被迫執行惡意命令。
具體的預防措施:
1)確保只在訪問可信頁面數據時才使用風險接口 addjavascriptInterface;
2)在調用Java對象方法前對參數進行檢查,避免執行惡意操作;
3)對於在4.2(API 17+)系統運行的應用,使用JavascriptInterface代替addjavascriptInterface。
HTTPS敏感數據劫持漏洞
HTTPS敏感數據劫持漏洞主要原因有以下幾點:a. 沒有對SSL證書進行校驗;b. 沒有對域名進行校 驗;c. 證書頒發機構(Certification Authority)被攻擊導致私鑰洩露等。
針對開發者的建議:
1)常規App,儘量設置一些證書,比如CA證書,或者設置客戶端證書;
2)出於安全的考慮,建議對證書進行強校驗(籤名CA是否合法、證書是否有自籤名、主機域名是 否匹配、證書是否過期等),詳細修改方案請參照 Google官方關於SSL的安全建議。
系統組件本地拒絕服務漏洞
惡意應用可通過向受害者應用發送異常、畸形或空 的Intent數據將引起該應用產生本地拒絕服務的漏 洞問題。同時如果系統級應用軟體被攻擊後,可能 導致手機重啟。
建議採取的措施:
1)不必要的組件將其exported屬性顯示的設置為false,減少應用的受攻擊面;
2)在使用Intent.getXExtra()時建議用try-catch做好異常處理;
3)將導出的組件設置權限控制,防止被第三方應用訪問。
遊戲上線前:競品分析
1. 了解競品多發問題
同類遊戲,問題分布較為相似。分析競品用戶反饋,總結常見質量問題,在研發測試時重點關注。
2. 了解競品玩家的渠道反饋習慣
分析競品玩家的反饋習慣,了解其在不同渠道的反饋聲量、響應速度及質量,為遊戲上線後的反饋監測做準備。屆時可按特定需求定位特定反饋渠道。
3. 借鑑口碑危機處理模式
借鑑危機應對方案時,不必局限於遊戲。針對影響 力大的危機公關事件,查閱相關資訊與口碑趨勢, 把引爆點、傳播節點、對應措施、群眾反映結合起來通盤分析,借鑑經驗。
遊戲上線後,監測預警
1. 實時跟蹤玩家反饋
新版本或活動對外發布時,使用輿情監控收錄應用商店、論壇、社媒反饋,了解最新口碑趨勢。
2. 聚焦意見領袖與核心玩家
可人工監測,聚焦Q群、微信群玩家的反饋,定位 反饋活躍、質量高的玩家1對1溝通。也可使用工具,採用傳播分析、畫像分析類數據產品來完成。
3. 建立問題預警機制
海量評論,建立合適的預警機制可大幅提升效率。 選擇適當關鍵詞如「卡頓」,監測關鍵詞在各渠道評論中出現的頻次、趨勢、覆蓋版本等。當問題影響面達到一定標準時,及時告警。
口碑危機,定位問題,跟蹤趨勢
1. 快速定位問題
爆發質量口碑危機時,需要快速定位問題的遊戲版、 機型,系統等。除了本地日誌外,輿情工具對問題反饋用戶的畫像分析也值得參考。
2. 評估影響面
按問題關鍵詞篩選反饋,了解聲量/情感變化。討論人數、發言情感強烈度,都可用於評估影響面。
3. 跟蹤輿情走向
問題修復後,仍跟蹤用戶反饋、口碑趨勢,了解問題的解決效果。宏觀上的關鍵詞聲量,負面情感強度,微觀上的波及終端,系統,版本是否還存在相關問題反饋都是需要關注的。