在今年第二屆的游戲運營技術論壇上,騰訊云平臺技術總監鄭立峰與大家分享了騰訊云最近半年來開發的服務,一個是信鴿,另外一個是應用加固。鄭立峰有10多年互聯網行業經驗,在分布式計算、海量存儲、高可用性架構等方面有很強的實踐經驗,目前主要從事騰訊云平臺建設。
騰訊云平臺技術總監鄭立峰
信鴿是騰訊云移動推送服務,就是大家通常所理解的消息通知,主要解決的是游戲運營過程當中的用戶活躍性的問題,是一個能夠幫助到大家把客戶留下來的服務。信鴿主要有以下幾個功能:
秒級觸達:信鴿推送速度非常快,現在可以達到的速度是每分鐘可以推上千萬的消息,一個億級的應用在幾分鐘之內就可以完全推送它的全部用戶。
省電省流量:騰訊的所有游戲,所有的應用最終在客戶的手機上只有一條長鏈接,從用戶的角度來講節省了很多電量。同時信道鏈接為了做到省流量,做了一些非常極致的協議包的設計及能夠非常方便地識別這個是信道包,信道包的字節數控制得非常短,從而節省流量。
豐富標簽:信鴿擁有豐富的標簽能力,結合騰訊的大數據能力做到定向推送。信鴿能夠觸達到終端的用戶并且能分析用戶的行為方式,通過一系列的手段留存率可能能夠提升到另一個級別。
實時效果:信鴿有一套監控圖表實時監控推送效果,可以隨時觀察最終推送點擊次數以及重新活躍的用戶數量等等。
信鴿的后臺架構
信鴿的架構主要分兩大模塊,上半部分叫做外部SET,下半部分叫做中央SET。
信鴿架構圖(點擊可放大)
外部SET:外部SET主要是負責接入層,用戶的連接進來后都是由外部的SET承接,接入后會有負載均衡的服務把鏈接分配到不同的接入機上。現在外部SET在全國部署了四個節點,海外的用戶都會從香港來接入。
中央SET:中央集群有一個中央的邏輯模塊主要負責手機接入點在哪個SET里,所有手機的設備號以及它接入的SET都會植根在中央集群里面。
信鴿有四個重要的特點。在連接層詳細策略方面分為四個部分。
省電、省流量:跟運營商斷開連接的超時設置有關,不同運營商超時的策略不一樣,信鴿心跳會動態來調節。
豐富用戶標簽,精準人群定向:信鴿能夠把騰訊的大數據的能力跟推送服務相結合,騰訊有非常豐富的用戶畫像,跟信鴿能夠觸達終端用戶的方式結合起來以后,應用上有很多想像空間。除此之外,還能按地理位置推送,向不活躍用戶推送,以及按應用版本號推送。
推送接口:信鴿支持較多接口形式,滿足絕大多數的開發需求。
應用加固服務
現在業內現狀比較混亂,一些比較好的游戲都會遇到盜版、代碼篡改、植入后門和廣告、二次打包、支付攔截等問題,應用加固就是為了幫客戶解決這些問題而誕生的。
及時、詳細的應用渠道監控報告:監控數據覆蓋國內主要的安卓應用市場和推廣平臺的幾百萬款應用;及時發現應用在渠道上的破解和盜版情況,精準識別盜版應用,多維度展示盜版詳情。
加固特性:加固算法會對DEX文件進行加殼,把核心的算法加密的策略放在SO當中,可以防止二次打包。這個方案輕量,性能消耗小,有效的避免內存Dump。
加固原理:加固具有兩種方法,一個是對整個APK程序包進行加固,也可以加固某一段函數。
加固方法
加固的基本原理是把老的APK程序壓縮打包,然后用加密算法都放在lib/armeabi,這里會有AppDaemon防止內存被反調試,保護APP在運行態被人抓取數據。
加固原理
被加固的APP首先會有一個入口點,把已經加固的Eocrpt解密,解密以后就還原出的Zip File可以釋放出原來的程序。