在今年第二届的游戏运营技术论坛上,腾讯云平台技术总监郑立峰与大家分享了腾讯云最近半年来开发的服务,一个是信鸽,另外一个是应用加固。

在今年第二届的游戏运营技术论坛上,腾讯云平台技术总监郑立峰与大家分享了腾讯云最近半年来开发的服务,一个是信鸽,另外一个是应用加固。郑立峰有10多年互联网行业经验,在分布式计算、海量存储、高可用性架构等方面有很强的实践经验,目前主要从事腾讯云平台建设。


                                         腾讯云平台技术总监郑立峰

信鸽是腾讯云移动推送服务,就是大家通常所理解的消息通知,主要解决的是游戏运营过程当中的用户活跃性的问题,是一个能够帮助到大家把客户留下来的服务。信鸽主要有以下几个功能:

秒级触达:信鸽推送速度非常快,现在可以达到的速度是每分钟可以推上千万的消息,一个亿级的应用在几分钟之内就可以完全推送它的全部用户。

省电省流量:腾讯的所有游戏,所有的应用最终在客户的手机上只有一条长链接,从用户的角度来讲节省了很多电量。同时信道链接为了做到省流量,做了一些非常极致的协议包的设计及能够非常方便地识别这个是信道包,信道包的字节数控制得非常短,从而节省流量。

丰富标签:信鸽拥有丰富的标签能力,结合腾讯的大数据能力做到定向推送。信鸽能够触达到终端的用户并且能分析用户的行为方式,通过一系列的手段留存率可能能够提升到另一个级别。

实时效果:信鸽有一套监控图表实时监控推送效果,可以随时观察最终推送点击次数以及重新活跃的用户数量等等。

信鸽的后台架构

信鸽的架构主要分两大模块,上半部分叫做外部SET,下半部分叫做中央SET。

                                                         信鸽架构图(点击可放大)

外部SET:外部SET主要是负责接入层,用户的连接进来后都是由外部的SET承接,接入后会有负载均衡的服务把链接分配到不同的接入机上。现在外部SET在全国部署了四个节点,海外的用户都会从香港来接入。

中央SET:中央集群有一个中央的逻辑模块主要负责手机接入点在哪个SET里,所有手机的设备号以及它接入的SET都会植根在中央集群里面。

信鸽有四个重要的特点。在连接层详细策略方面分为四个部分。

稳定的连接:移动加速;腾讯云上部署,通过负载均衡收敛接入点IP,提供IP直连,省掉DNS解析。
多端口、多协议支持:应对移动网关代理的端口限制,有时候只支持80端口和HTTP协议;支持TCP、HTTP两种协议。

终端跑马、IP直连:根据备选IP列表进行并发测速(IP+端口+协议);后端根据终端连接情况,定时更新终端的备选IP列表;终端在连接空闲时上报测速数据,便于后端决策。

后台重定向:终端转换地域但未及时跑马等情况,后台引导至最优接入点;安全保证;非对称加密通道安全、sdk反加壳、频率打击。

省电、省流量:跟运营商断开连接的超时设置有关,不同运营商超时的策略不一样,信鸽心跳会动态来调节。

•每次唤醒做尽量少的事情,快速释放wake lock。
•减少交互次数,例如消息确认延时上报,http模式下合并请求包。
•大幅降低心跳包的尺寸,减少流量开销。
•重连发起动态调节,防止地铁等场景下网络环境变化导致频繁重连。

丰富用户标签,精准人群定向:信鸽能够把腾讯的大数据的能力跟推送服务相结合,腾讯有非常丰富的用户画像,跟信鸽能够触达终端用户的方式结合起来以后,应用上有很多想像空间。除此之外,还能按地理位置推送,向不活跃用户推送,以及按应用版本号推送。

推送接口:信鸽支持较多接口形式,满足绝大多数的开发需求。

•PHP SDK
•JAVA SDK
•Python SDK
•NodeJs SDK
•Rest API

应用加固服务

现在业内现状比较混乱,一些比较好的游戏都会遇到盗版、代码篡改、植入后门和广告、二次打包、支付拦截等问题,应用加固就是为了帮客户解决这些问题而诞生的。

及时、详细的应用渠道监控报告:监控数据覆盖国内主要的安卓应用市场和推广平台的几百万款应用;及时发现应用在渠道上的破解和盗版情况,精准识别盗版应用,多维度展示盗版详情。

加固特性:加固算法会对DEX文件进行加壳,把核心的算法加密的策略放在SO当中,可以防止二次打包。这个方案轻量,性能消耗小,有效的避免内存Dump。

加固原理:加固具有两种方法,一个是对整个APK程序包进行加固,也可以加固某一段函数。


                                                   加固方法

加固的基本原理是把老的APK程序压缩打包,然后用加密算法都放在lib/armeabi,这里会有AppDaemon防止内存被反调试,保护APP在运行态被人抓取数据。

 
                                               加固原理

被加固的APP首先会有一个入口点,把已经加固的Eocrpt解密,解密以后就还原出的Zip File可以释放出原来的程序。