查看原文
其他

学霸笔记|小游戏6讲师万字图文全记录(附回放地址)

没看到小游戏分论坛直播?


没关系,录播已上线!进度条随便拖的那种↓↓↓



此外,小游戏分论坛的全部内容都也都帮你整理好了,以下内容 纯 干 货 ~


好内容,共创造

微信公开课讲师 杨静怡


为大家分享一些生态的新的内容,主要围绕小游戏生态里的一些产品,包括一些品类情况,以及创意小游戏的一些流程和政策上的升级,进行一个具体的分享。


内容部分,针对生态里的每一个品类,他们现在的一些发展的现状,以及未来存在的机遇点和发展点来为大家进行一一的展开。


一起来回顾一下我们整个的小游戏的发展历程,17年的年底发布的首款微信小游戏,18年4月,正式对端进行了一个全面的开放,到今天已经有2年的这样一个时间,在这两年里和我们一起并肩作战的开发者已经达到了十万多名。


18年到现在,用户整个大体上增加了45%,可以说明用户对于游戏对于内容的的需求量是在持续的增加的。



在过去的这一整年里,我们生态的整个产品情况是怎么样的呢?


大家一起来看两组数据,在2019年年初做超过千万的游戏,一共是194款,当月流水突破千万的一共是43款,这两个数据相较2018年都提升了30%,可以说整个生态无论是在用户规模还是整体商业收入上,都从18年非常高速的增长过渡到了19年稳中有升。 



大家可能会有一些疑问,和好奇!比如说哪些品类和具体在生态里面比较有具有特色!应该经历一些差异化的思考,又比如说哪些品类用户规模比较大,发展的比较均衡,那么还有哪些品类处于现在广泛蓝海的状态。


整个生态里最具有特色的这么一个品类:益智类,益智类在整个19年的用户规模是达到了亿。并且年注册超过千万的款数有突飞猛进的增长,达到了19款。那么在这样一个数据背后其实主要是像填字、答题、找茬、解密等这样玩法的带动。



益智类之所以称他为小游戏平台的一个特色,是因为对比其它玩法的表现在小游戏上,可以说是领先于以往的市场,那么我们拆看一下他们的购物圈层,会发现几个特点:


第一个特点是说,这部分玩家里面有80%以前是没有玩过其它游戏的,可以说是我们小游戏平台上的独占用户。


第二个特点是这里面50%以上的用户是来自祖国的三四五线城市。


综合这两点我们可以看到,一群比较泛游戏用户的这样一个群体,也就是因为这些用户的存在,引爆了以往并不是那么主流那么火爆的玩法。给我们的平台,给开发者和用户带来了惊喜,这种惊喜感是看到身边的长辈,公交车的乘客,他们都在玩小游戏的时候,体现的更加自如些。


从例子角度来说,这些用户也是可游戏度的广泛群体,只是他们自己并没有发现他们潜意识里的诉求,今天像小游戏平台上,像填字、答题、找茬、解密这些玩法,可以说帮助他们完成了最初的游戏教育,渡过了最基础的小白阶段。


那么接下来用什么布局来迎接这批经过转化的玩家群体?是需要各位不停的探索和尝试的。


与此同时我们来看一下整个2019年的国内整个三四五线的网民规模,有将近个亿,益智类游戏触及到了其中的个亿,这也就证明了还有个多亿的用户还没有被触达和转化的一个状态。


这样一群潜力巨大的群体,大家接下来要用怎样的玩法和一些更适配的题材,比如一些生活化的题材等等,是需要大家进行更深一步的深耕和思考的。



聊完特色,聊聊整个生态里发展的比较好的个品类,分别是合成、消除、模拟、动作和桌游。


这里的每个品类通过上面的数据可以发现,拥有比较大用户规模的同时也具备着相对成熟的生态模式。这里有个背景信息分享,2019年的用户是愿意尝试更多的游戏模式的,用户的审美性和对游戏模式会更成熟,这就代表着2019年成功的游戏含金量更大。


我们以合成这么个品类拆解为例:18年的合成玩法是一些基础的合成操作和一些轻度的放置,或者说是一些带有爽快感的挂机表现,在18年流水过千万的合成游戏,90%以上都是这两种玩法。


2019年合成发生了两类分支的玩法演变,一种是基础合成操作加上非常多属性的养成,伴有一些轻度操作,往往还伴有一些RPG的玩法。另外一种则是基础的合成操作加上差异化的单局体验,这种是操作上偏重,养成上偏浅。这两种演变的玩法整体的内容度都相比较更加丰富了,对于用户来说他们游戏中的目标和追求也更加的多元,也是这种演变非常多的带动了数据的增长。


可以看到19年针对于18年所有的品类数据都有所提升,同时19年所有流水破千万的产品80%都变成了这些演变后的玩法。


除了合成其它个品类也都是类似的,整体构成都是更加丰富更加精品化的一个趋势,对于这些品类,未来的玩法和创新都是主要方向,这里建议题材上大家把一些游戏和IP进行一定的融合,比如动漫、影视、游戏的大IP,通过这种圈子的属性扩展更多的用户群体。



作为平台,我们也在不断的丰富方式和技术能力,为大家提供业务工具来释放这些玩法,比如我们提供了一种多人游戏的解决方案,对动作、格斗射击等这些玩法品类有非常好的助力。又比如我们提供了一种社交互动2.0的方案,大家可以在游戏里面直接和微信好友进行互动,我可以去你家偷个菜,你可以来我家浇个水,对于模拟经营这个品类会有着非常非常大的机会,也期待大家在微信这个最具有社交性的平台里诞生一款全民级的模拟经营类游戏。


接下来给大件看到的是整个生态里最大规模的品类,超休闲!近年来国内外都非常火爆,相对于休闲游戏而言,超休闲的上手难度更低、更轻量,整个游戏体验也围绕着核心单局来展开。


大家可以看到19年整个超休闲小游戏用户达到了亿这么一个规模,并且连续年年收入超过千万的达到40款以上,是位列所有品类的第一位,可以说是遥遥领先的状态。虽然大家可以看到超休息在布局上是有天然优势的,但是它的游戏内容相较其它品类比较薄弱,这就意味着超休闲游戏的核心单局没有支撑起用户的游戏乐趣,用户是非常容易流失的,可以说是来的快,去的也非常快。


针对这样的状况我们要如何去优化呢?首先建议大家在单局游戏中融入更多的关卡元素,丰富道具和障碍设计,让整个单局体验拥有更多的可变化性,也可以加入一些比较火的随机玩法和元素或者说是随机事件的加入,从而增强用户重复体验的一个乐趣。那么在局外也可以加入一些轻度的数值玩法,一方面可以帮助用户进行一个更长期的目标,另一方基于游戏本身可以在这些数据上进行一些分享点的设计,从而更好的进行自增长。


作为平台方我们还提供了印象分享,比如游戏中用户的单局成绩超越了某个好友,可以非常直接的在游戏中进行分享与炫耀。又比如我们提供了关系链互动的相关能力,可以在游戏中直接邀请微信用户好友进行相关游戏的互动或者PK,或者一些游戏资源的互赠等等,这些能力对于超休闲游戏并不仅仅是锦上添花,有时候也可以成为雪中送炭,所以大家一定要关注社交互动的强化,配合游戏本身玩法的进阶进行大幅度的增量。



重度玩法的生存状况又是怎样的呢?


重度玩法2019年内购月流水突破千万的有11款,这里面累计有流水过了个亿的,付费ARPU已经超过了200多块钱,这数据放到以往的游戏市场也是非常高的水平,所以重度化的产品在小游戏上的商业能力是被验证过的,同时这些游戏也拥有长线的运营能力。


既然这个品类已经被验证过可以长期盈利,那么玩法是否已经饱和了?其实远远没有,像SLG、卡牌、MMO这样非常经典的玩法品类在小游戏上还是有广泛的蓝海状态的。


大家都知道重度游戏的内容细节和包体大小上还有成本都比休闲游戏要高要大,所以我们也带来了一些新的能力。


比如性能提升的解决方案,一方面帮助开发者节省开发成本,同时也包括美术渲染,3D场景和资源包体的解决。又比如我们提供了小游戏新的能力,对用户来说不仅可以在手机上玩,还可以在电脑上玩,对于重度这个品类会是非常有利的利器,相信拥有了一些工具和生态,2020年国内的小游戏一定会有新一轮的爆发增长。


内容分享差不多了,我们看图总结和分享一下,到现在为止整个小游戏里面的生态和发展都得到了良好的发展,无论是用户规模还是商业收入方面,都取得了不菲的成绩,对于已经验证过的玩法和品类,建议大家对玩法深耕和优化,因为这里可以提升和发挥的空间还非常大。



比如超休闲我们鼓励大家玩法融合和社交互动的强化,对于益智品类则是关于背后泛用户的游戏思考和差异化的运营,除此以外那么广泛的蓝海品类,作为平台我们会不断的提供丰富的功能和工具来助力这些玩法的落地,我们也期待2020年各位开发者会用这些工具和能力为更多的用户带来新鲜有趣的功能和作品。


这里重点介绍一下创意小游戏,创意鼓励计划是在18年的11月发布的,不久前刚刚度过了一周年的生日,这一年以来创意小游戏得到了比较良好健康的发展,除了比较火的消除、益智、模拟之外还有一些文化属性和公益类的产品,用户也从最初的2000多万增长到现在的几亿。单产品来说MAU过百万的产品一共有14款,月流水过百万的产品一共有款。


这样的数据是我们对于创意小游戏的支撑,主要分为部分。


1.创意标识,大家会发现所有的创意小游戏都会有创意标,会帮助用户普及品牌概念。


2.种子用户,创意小游戏会拥有普通游戏10倍的用户量级,并且这是长期的机制,截止到目前平台提供的种子用户已经超过了亿。


3.商业收入,会从内购和广告两个部分来进行对应的激励,创意小游戏的开发者可以分别拿到10%20%的分成,从2018年到现在也是拿出了6000多万来增加开发者的收入。


4.原创保护,对于创意小游戏而言,无论是在平台上发现名称或者创意的抄袭都可以在后台上进行投诉和反馈,平台会最大程度的为大家的游戏进行护航。



如何申请创意小游戏?


1.在开发者社区后台主动发起创意申请,这个申请已经挪到最左侧的导航栏的位置,非常容易找到。


2.申请后平台会组织对游戏的创意评审,加入了大众评审和自身玩家的角色。


3.通过评审后,通过率比较高的产品会收到一封站内信,签订两份协议后就会得到最终的认证。



谁来评审创意?


会通过一个专业的品鉴团,这个品鉴团会包含比较资深的从业人员、策划、媒体等等,到目前已经有100多人的规模。


每次申请的游戏都会随机的发给品鉴团内的几十名评审,然后从游戏的各个维度进行评审,比如画面、表现、体验、核心玩法等等,大家可以在开发者社区内看到整个评审的内容。


过去的评审团偏向端,所以我们现在加入了大众评审的角色,在未来的申请发送给评审后我们也会发送给小游戏的资深玩家来进行鉴赏。


小众游戏怎么办?


可能觉得大众评审会是反效果,所以会通过两方面融合来判定,如果单方面评价非常高,也会通过审核,就是两个评审团都有审核通过的可能。



品鉴团的机制从鼓励计划初期一直运行到现在。相对来说还是比较稳定和成熟的。但是在过程中我们也在思考一些问题。


正如一开始提到的,品鉴团更加偏向于从业者的定位,那么C端用户我们是否应该进一步贴近和倾听,从而建立全视角的反馈。因此在这次我们加入了大众评审。


未来所有进入到评审阶段的产品,在给到品鉴团的同时,我们也会邀请小游戏的资深玩家,这些玩家是玩小游戏款数比较多,时间也比较久的。对于游戏存在较强的体验度与鉴赏力。


我们将邀请他们站在玩家的角度,围绕游戏的创新性,回答我们的调研问题。那么最终在整个大众评审通道成绩好的产品,同样可以获得创意认证。




听到这里大家可能会有疑问或担心,比如说有些产品确实是小众的,受众面比较窄。大众评审的加入会不会适得其反。


又比如在某些情况下,大众评审他们认可的创新性,并不等于真正意义上的原创,因为这里确实受限于游戏阅历的原因。对于这两个问题我们都有考虑到, 因此创意小游戏的最终成绩,会依赖品鉴团和大众评审的总和。


要么游戏是在品鉴团得分非常高,专业性上表现非常突出。要么是在大众评审这一侧,获得了非常好的创意性反馈 。同时在品鉴团的通过率满足最低的条件,以上两个情形只要符合其中一种,都可以成为创意游戏。


我们希望通过这样一种方式,更合理的把品鉴团和大众评审进行融合,保证最终结论是真实有效的同时,也能够贴近更加广泛更加真实的用户群体。我们希望有更多的参与者和更强大的机制,帮助平台在抄袭和原创上做一个合理的仲裁。



今天很开心在这里和大家分享首批由品鉴团和大众评审共同参与评选出来的游戏。


他们分别是《我功夫特牛》和《街头扣篮王》。这两款游戏有一些共性,比如说题材上相对来说比较新颖,游戏画面表现、美术画风极具特色,他们上手门槛虽然不高,但是给予用户的反馈非常爽快,也正是因为这样一些特点,促使他们在资深玩家侧获得了非常好的反馈。 对于这些游戏而言,也会像以往一样,长期在线上接受所有用户的监督和反馈。


一旦我们核实某些用户的反馈是真实有效的,例如游戏确实存在恶意欺瞒的行为,我们也会取消所有的创意激励,追回原本的优惠分成 。所以希望大家在进行创意的时候,更加关注游戏本身的设计和提升,不要尝试一些其他方面的捷径。


用游戏乐趣激发爱与关注

微信公开课讲师 余和谦



公益和小游戏能发生怎样的化学反应,简单介绍一些我自己,在腾讯工作了年的,前半生在发行线做《使命召唤OL》,后面的一半时间在腾讯公益平台,做产品经理。


通过这两段工作经历,让我一直在想如何能通过游戏的乐趣和公益更好的融合,我们以前的公益产品,无法提供给用户的那种价值,所以我今天想给大家分享一下这里,然后在介绍小游戏之前想跟大家先简单介绍一下,腾讯公益是做什么的,打个广告,腾讯公益是一个网络的捐款平台,已经成立了有12年,只想做一件事,在中国让人人做公益。


12年平台上已经累计超过万个公益项目,超过万个公益机构入驻,亿人次捐助了77亿元,看似数字很多,但是离人人公益其实还很远。



中国有13亿人,但是通过平台互动做公益的只有四分之一或者更少,能够一年来一次或者持续关注公益的人更少,所以在今年就一直想要在游戏里增加一些公益的乐趣,降低门槛目标是让更多人听到山区里贫困孩子的声音,了解一些环保的知识和动物保护的现状,垃圾分类的等等,让游戏的玩法更丰富,让公益更加趣味化,这样参加公益才能够更加的有趣。



在这个过程中,我们也做了一些新的产品,大家也可以提提意见,这个不是一款游戏,这个是一个公益产品,大家可以扫码体验一下。它的运行模式是这样的,大家可以为自己的公益项目发起一条接龙,发起接龙后可以让好友来参与接龙,并且会越接越强!这样的互动就会变的有意义。


比如这个是跟我儿子发起的,其实这个是有等级的,从小长大越来越强了,样子还会变,所有的互动、答题都是游戏化,但是还不是彻底,公益机构那么反馈这个降低了门槛,以前不愿意捐钱的人现在愿意尝试参与一下。


然后分享的时候会提拔自己人品,因为这个乐趣,大家会参与的更加频繁,所以更加坚定了我们要把公益产品延续化,同时也想去把游戏公益化的决心。



所以诞生了我们WeCareWeCare计划是什么呢?其实就是腾讯公益和微信小游戏联合运营的公益小游戏孵化项目,然后培训公益会提供一期的资金,持续不断的提供研发基金和运营基地。


研发基金根据游戏创意的玩法,美术然后公益结合度,还有研发投入分为20万,40万,80万三档,我们以前是把公益结合度放在第一位的现在改了一下,因为通过前面的运营发现游戏要是不好玩肯定打折扣,这是研发基金。


所以在游戏上线后半年,上线后的三个月这一期内,如果能够持续的达到我们的预期指标,游戏将会获得30万到120万的现金奖励,在这期间,微信小游戏也会提供专家辅导,推广的资源,推广的资源包括一开始的用户导入,固定的资源会,如果预期指标能够持续达标,会持续不断的投放在这,与各位在现场的投放人,投放的条件其实也一样,然后品牌方面,我们有一些媒体的合作,还有一些厂商,他们愿意和某一公益项目深度结合的话就会有机会。



WeCare公益计划目标就是,第一,为开发者积极的创造一个爱和乐趣有创意的这种新的游戏一次激发,更多用户去了解和参与我们公益群体,这是目标,以此能让做公益更加的有深度,因为通过游戏有深度的去体验,同时也更有保护。


下面简单介绍一下WeCare计划从今年四月开始运营到现在成果。现在WeCare计划经历了三期,一期的17款产品已经全部都上线了,大家可以连上WiFi体验;


二期的小游戏可以看一下数据,三期的小游戏还在测试当中,整体投入的预算都是经过基金,入围的主题也比较丰富,环境保护和动物保护占40%,知识科普故事群和爱占23%,文化传承站14%,这是根据游戏的玩法和游戏质量选择出来的。


其中我们也有在一期一上线就有亮点的两款游戏,其中一款寻找森林家园,是希望大家关注大自然和动物之间关系的游戏,注册用户超四百万,DAU峰值超百万;寻找守护者是带大家了解一些拐卖儿童方面知识的照片找茬类游戏,注册用户超三百万。



新能力,助成长

微信公开课讲师 王泓渊



首先想和大家分享一下在2019年,小游戏为开发者提供了哪些新的功能和服务。经过两年的发展和建设,小游戏向开发者提供的能力已经覆盖了从研发意识到社交分享、用户获取、运营手法和商业变现整个运营周期。



在研发方面,我们推出了引擎插件、包体扩容。在线上运营和发布初期,我们重视性能和操控体验,发布了云测试,以及在小游戏后端能够看到更多性能数据。


同时我们继续放大了微信小游戏在微信上的社交优势,提供了非常丰富的分享内容和分享方式。在用户获取和消化能力上,我们也先后发布了种子用户切换以及安卓端的内购,已经有三种样式和形态的变现。



接下来我们将围绕两个重点为开发者服务,一个是优质内容的便捷生产,另一个是围绕用户进一步的运营、拓展和成长。


在内容生产方面,我们将继续深化基础能力和社交能力的释放,在用户运营和经营方面我们也推出了许多重磅的功能,接下来我会一一进行分享介绍。



首先是关系链能力,平时我们看到开发者在社交能力层面的运营更多的是分享化,一种是分享传播,再一个就是好友关系。关系链能力我们今年进行了关键的升级,并且推出了三种解决方案,来支持更加社交化的小游戏研发。



首先是礼包赠送类的解决方案,在进行游戏体验时我们常常会在排行榜上看到自己的好友,有些成绩,但是却很难直接互动。在这个解决方案中开发者可以设置能量、点赞一些可以引发在排行榜上互动的游戏设计。


经过这样的设计后,游戏可以做到可以更加直接的在好友榜上互动,并且可以直接减少分享步骤,有效提升触发效果。同时支持开放数据域,能够有更好的社交表现,我们也支持开放数据域UI引擎能力,一旦可能也会向开发者进行开源、插件化。开发者可以根据开源示例代码完成插件的研发和加入,也可以直接调用。



接下来时社交互动类游戏的解决方案,这个方案其实会更加拓展开放数据在社交类游戏中的使用范围,给每一个玩家分配一个单独的游戏空间,承载各种各样的社交玩法,可以实现在刚才内容同学分享时提到的几种例子:


偷菜类、跑车类。其实我们还会提供更多更加强大、更加深层的基础能力,开发者在使用的时候不需要建立单独的数据服务器,而是可以把数据托管在微信端,没有额外部署的成本,并且还可以拥有更多在开放数据域内的强化接口。



第三个解决方案是好友对局,这个方案也提升了效率,减少了用户额外的操作步骤,并且可以实现好友邀请到好友对战完整的一套对战类、互动类游戏的体验。


其实最直接影响游戏内容的是包体大小,近期我们刚刚把小游戏的包体大小从最开始发布初期的4M提升到了8M。从开始的4M到现在的12M包体容量提升了3倍,那也意味着可容纳的内容量也提升了3倍,可以为用户提供更高质量以及输出质量更优的版本。



在背后其实我们也优化了小游戏的启动加载性能,加载速度接近50%的增长,在优化的基础上,即使说包体大小提升,用户的加载时长也是可以保证的。换句话说减少了用户的等待时长,用户的流失也减少了三成。


后续我们会继续完善性能的提升,比如在开放数据域内我们会提供插件,引擎插件化,也会重新优化代码计算,可以腾出更多的代码空间,让小游戏容纳更多的游戏内容。


这里简单向大家介绍一下PC小游戏的支持情况,新版的小游戏能够在PC版微信得到很好的支持,这里主要向大家介绍在PC端比较有特色的能力。



首先PC微信可以支持大屏幕使用,可以完成对PC大屏幕的匹配;其次PC端操控不同,我们也单独提供鼠标、键盘的操作能力,开发者可以通过这一能力适配PC端的玩法;最后时商业化能力,PC微信全套支持道具内购、广告足见的商业化变现能力,而且与移动端一样接入十分简单。


刚刚分享的都是游戏的表现和小游戏的关键能力,接下来想和大家一起讨论小游戏的运营和成长。我们认为好的内容其实可以通过分享互动、触达唤回来实现用户滚动,达成变现收入的结果。所以在小游戏的成长过程中,我们提供了丰富的游戏自运营能力,在游戏成长初期我们提供分享互动支持,在扩展阶段提供分享触达唤回,以及贯穿在整个成长线的商业服务。



分享互动向大家重点介绍定向分享,定向分享是在普通的分享能力上加上好友关系,使得游戏能够更加聚焦和高效。正是因为这种聚焦和高效,以及各种小的互动和操作流程,最终定向分享要比普通分享成功率高45%,转化也比普通分享高40%。



定向分享中的定向邀请可以非常好的吸引对游戏感兴趣但是还没有注册的用户,这里可能会成为一个新的入口和新增用户的渠道;和关系链互动可以完成包括回赠、助力等玩法;同在线好友结合也可以完善整个通知的闭环体验。这里其实是给大家举了三个案例,大家可以根据自己小游戏的玩法和内容,选择适合的定向分享。



那用户进来了怎么留下?游戏内容更新了如何通知用户?目前我们已经开放了一次性订阅的能力,并提供消息模板选用,也支持申请新的、更贴合自己游戏场景的模板。目前游戏通知已经覆盖超过2000万用户,这些被触达的用户转化率效果,要高于平均值三成以上,达到一个很好的效果。



接下来在通知的维度,我们会提供长期订阅、内容更新通知等更贴近游戏玩法、开发者需求的能力,持续扩大游戏通知,带来更好的效果。



用户量增长、商业化是所有开发者的关键话题,年初正式发布了微信小游戏2020年度新的分成政策,在新的政策中加大了对开发者扶持的力度,内购月流水在50万以下的开发者可以直接获得50%广告金的支持。内购月流水在50万以上的开发者,在使用快周转的功能,可以将收入转账进广告金账户,在这个过程中可以获得转账金的50%。


相比于2019年的扶持政策,新的政策下开发者至少有10%的收入增长。在新的分成政策下,我们也配套升级了商业服务的支撑,刚刚提到的快周转是资金周转速度加快一个月。


除了资金效果提升外,数据信息服务效率其实也有很大的提升。目前渠道、链条和经营数据都可以帮助开发者更好的了解、分析,不同渠道带来用户产生的玩法数据、用户质量、变现价值。


最后通过短短的示例和大家分享开发者都非常熟悉,刚刚介绍的小游戏各项能力,小游戏制作的小游戏示例,大家可以搜索体验。在这个示例上,我们将小游戏的基础接口可视化,并且提供了接口调用的源代码,对于每个接口、每个能力的使用,都可以在小游戏示例上找到对应的指南。后续有新增能力,会同步在这里进行更新。



更多的能力、更新公告、开发者经验分享和问题反馈,在做个小游戏公众号、小游戏开发者社区和小游戏数据助手,帮助开发者更好的了解官方发声,同时可以进行交流互动。最终再次感谢大家来到微信公开课的现场。


打造高性能的社交互动小游戏

微信公开课讲师 林庆杰 叶轩 袁梓民



大家下午好,我跟大家分享的主题是打造高性能的社交互动小游戏。我们主题分为三个部分,从玩法、性能、工具上展开,刚刚我的同事已经给大家讲了能力这一块,社交其实是属于能力的其中一部分,这里我们再把它拿出来讲是因为它非常重要,我们会更着重的从技术层面去讲它这个东西是怎么做的。


首先是我会来给大家讲一下玩法方面玩法方面刚刚同事其实已经提到了关系链互动,这个能力是我们在今年下半年推出的一个能力。推出的一个背景大概是这样子,我们在8月份其实有一个公开课,当时我们跟开发者收取了一份调查问卷,他们对微信小游戏的诉求,社交这一块是非常大的,排在第一名。


我们看一下在这之前我们的关系链是怎么玩的,在小游戏推出开始的时候,我们提供了一个能力叫做开放数据,开发者可以拿这个东西做一个排行榜,我可以看到自己跟好友的分数排行,在这之外其实是没有更多的一些互动了,就比如说我想跟好友,我想送好友一个东西其实是做不到的。



在这个基础上我们就推出了关系链互动这个能力。能力的话,就是说我可以给好友赠送道具,这个道具并且能够在游戏内被消费的。赠送完了之后还有后续的定向分享,在这之后还有更进一步的就是说分享之后的动态,我们会把它展露在小游戏外,比如说在微信“发现页”的游戏里面,就可以看到有这样一个动态,以及说在这之后我们还会有更多的可能的场景,比如说我们正在计划做的一个事情,我会把好友赠送的一个互动的消息,用服务通知的方式通知到给用户。能力的话,介绍到这个样子,接下来看它具体是提供了什么功能,以及从开发层面上要去怎么实现。



功能上主要是三个点。第一,我们在原来的托管数据上提供了一种新的托管数据,互动托管数据,这个托管数据跟原来托管数据的差别在于说,我是可以去修改好友的数据的,这是赠送的前提。第二点,这个数据是可以在游戏域内被读的。


只有在游戏内被读,他才可以在游戏内真正的被消费,就是这个道具我送给好友了,好友才能够在游戏内去用。最后一点我们提供了一个后台的运行环境。这个环境可以做一些安全性的校验。首先最简单的一个游戏模型,它其实是一个前端,一个后台,中间进行网络通信,就没有了。


微信这里做的第一个事情是托管数据,这个托管数据是说我可以从一个安全的地方去写进去,可以从游戏去写进去,我可以读到一个安全的地方开放数据域,游戏开发者就可以在开放数据域把它展示出来,这就可以做成了排行榜,如果想更进一步的用这个数据,我们可以看到这里是没有一条线是说从托管数据只到游戏或者说游戏后台的,也就是说数据它是读不到的。


所以最后我们做的这个关系链互动就是这个样子。多出了一个叫做“互动托管数据”,这里大家留意一个关键的一条线是从互动托管数据,有一条线可以连到游戏域这里面去,这里意味着开发者是可以把它读过去的。



整个开发者使用的流程是说它发起赠送的这个事情,就是我去修改数据,它还是要在开放数据里面发起,发起之后,到了微信的后台,微信后台会去做一个安全性的校验,这里有一个叫做JSServer,这个校验通过之后,我们才能去最终把它写进去,赠送方它的流程就是一、二、三这三步写进去,收取方最后的步骤是从托管数据到游戏域这里面去,整个流程是这样的。


大家可以留意一个点,第一步这个线里面是一个虚线,虚线的意思表示说我们对这个数据是有一些限制的,具体来说我们限制它的托管数据只能是一个数字,它不能很自由的去写,它每次操作只能是+1,结合这两个点大家思考一下这样子会有什么限制,那就是说我每次跟好友互动其实最终只能是做一些赠送,比如说我送一个道具而已,但是我想做一些更复杂的互动其实是做不到的。



刚刚我的同事有提到社交玩法2.0,以及提到一些偷菜这种玩法,这在关系链互动模式下是做不到的,我接下来会给大家介绍社交玩法2.0具体是怎么样的。


这是内测游戏当中的截图,第一张图是看到我自己的停车场停了三辆车,分别是三个好友的车,来自不同的三个好友。这有一个很关键一点是说我进来之后,我第一次进来,我可能就可以看到这些东西了。如果说游戏自己来做,那么其实可能可以做,但是在游戏现在的框架下,要做的话必须第一件事情是我要有好友这个概念。


据我了解,一般游戏的做法就是说我去邀请发一条消息给到一个好友,好友点进来,游戏就把它记录为好友,但是这里不需要,这里是一上来就可以获取到好友的关系,右边这是我自己的车库,看到我的车停在不同的好友那里。一样的,就是说我再跟原来的关系链互动那里有一个很大的区别,它的数据是比较复杂的,我这里可以看到我停在他那里,并且停了几分钟,我们回想一下关系链互动那里,它是一个我们限制了,它每次智能+1,如果按照原来的模型是做不到的。这里能做到的事情大家应该是比较了解的,就是可以做到这种更深度的好友之间的互动。



具体是怎么做的呢?我们做了三个事情,第一个事情,我们开放了JSServer,我们有一个校验的地方,那里我们提供了一个后台运行环境可以让开发者去托管一段后台逻辑,我们请求到后台的时候会去运行这套逻辑,当时关系链互动,我们限制了你只能有指定的那个文件,这里开放的意思是说你可以去上传,你去部署任意多的JSServer的入口函数,我们提供一个方法,你可以往后台发请求。


第二点,是说我们在JSServer里面我们提供了一个自由读写和数据的能力,自由读写就是对比刚刚的关系链互动,你可以自由的做事情。最后一个点,其实是基于前面两个点,我们整个方案提到JSServer也好,读写数据也好,都是要求你在开放数据里面去做的,最后整个游戏就会变成说你的游戏前端逻辑都会要求写在开放数据里面,在开放数据里面我们知道现在的限制是比较多的,首先一个它是只支持2D的接口,第二个点它只支持微信下的部分接口,很多接口是没有的。


我们这里做了两个事情,第一,我们开放数据你可以去完全的自由的使用接口,第二,我们会开放包括广告支付在内绝大多数的微信接口。基于这三个东西我们开发者可以开发一个游戏,这个游戏是完全放在开放数据里面的,后台是在我们的JSServer里面,具体看看这个图很简单,其实对应三个地方,一个前端,一个后台,一个数据库,只不过说这里的后台跟数据库变成了完全在微信那里的。前端这里也是变成了在开放数据里,对于多用户也是一样的。那么怎么做互动呢?就是说如果说我有几个好友,那我们的规则是说好友之间的数据,比如说我A跟B是好友,我A是可以访问B的数据,B是可以访问A的数据的。整个社交玩法2.0就是上述的这个样子。


社交玩法2.0是我们正在做的,我们也会尽快的做完去向开发者发出邀请来一起做这个事情。说完了关系链互动这里,我再说一下,因为上面讲到的都是熟人社交,以及不是同步的一种社交玩法。


对于一种多人的,不一定是好友的,我们也了解到开发者一个诉求,而同样是8月份公开课的诉求,我们收集到的第二个排名第二的一个诉求,就是说希望我们提供多人对战的游戏能力,我们了解到说为什么开发者会有这样的诉求呢?因为多人对战游戏它的开发成本是比较高的,包括前端的逻辑以及后台的部署都是难度比较大的。这里我们提供了一个帧同步游戏服务的能力,这个截图其实是已经在线上的一款小游戏,也是创意小游戏,叫做“羽毛球高高手”,首先它是非常容易接入的,不要求你有后台,后台是我们微信就帮你做了。


微信平台做了,你只需要在前端接入,第二个点是我们有一套完整的示例代码,有一个示例小游戏在这个上面开源了。第二点,保证它非常可靠,因为帧同步这里对补帧等等这里有很多的处理,我们用了多帧冗余的处理,开发者可以保证游戏的可靠性。第三个点它的性能是很优秀的,我们用的是UDP,低延迟,在帧同步游戏服务之外我们还有很齐全的配套,我们提供了一套完整房间的服务,开发者可以很方便的用这套服务来去做好友组队这种玩法。帧同步我们已经开放了,我们在文档上已经发布了,大家可以搜索,就可以看到了。


关于玩法我就介绍到这里,接下来我的同事叶轩会给大家介绍性能方面的分享。谢谢大家!



好的,感谢link,大家好我是微信客户端负责小游戏开发方面的同学叶轩,今天想给大家介绍一下开发者们非常关心的一个话题,我怎么能够让我的小游戏变得更快


实际上从上午的主论坛上来说,大家都已经非常清楚,小游戏一个关键的特点就是快,什么是快?运行快,启动快。开发者认为我们小游戏就已经过快了吗?实际上看来应该不是的,这几个方面都是开发者们非常关心的几个话题,我们从社区上了解了一下开发商对于现有小游戏性能方面提出的一些意见和建议,主要分为几点,第一,启动过慢,第二,卡顿,第三,内存占用过大,其实我们是非常理解开发者们对于这几方面的关心。因为启动慢就代表着留存降低,我好不容易做精准运营,后来都被流失掉了,卡顿和内存占用过大就会耽误游戏的品质,如果想做一些重度游戏的话就无法做到。



经过这一年的时间,我们小游戏的性能是不是发生了一些改善呢?在经过这一年的时间里的一些数据,我们可以看到截止到最近,我们小游戏的一个性能已经达到了一个比较大的提升,首先来说在启动方面,启动方面我们在过去一年里面加大了流程的优化,提升了效率,我们这里可以非常自信的告诉大家,我们的启动速度已经在大盘里面相比去年同期降低了46%,几乎是减少了一半的时间。


在大家很关心的关键指标FPS上面,我们其实也是有9%的提升,此外,我们也提升了内存复用的效率,内存占用降低了7.7%。这些数据的优化,第一方面是来源于我们平台本身的优化,第二方面也是依赖于开发者们去进行更好的优化。



我作为一个开发者,怎么去优化小游戏的性能,让启动变得更快,让运行变得更流畅。首先来说是启动,先来看这样一张图,这是我们小游戏里面所有一个流失的用户,他所流失时间段的占比。


这张图跟大家解释一下,我们可以认为越靠前用户流失的比例是非常大的,我们一开始提到了我们的启动优化的时间从7.7秒提升到了4.1秒,这意味着什么?这意味着我们小游戏的流失减少了30%。如果我们在此基础之上,开发者如果在进行进一步的努力我们还能优化多少呢?


假如说我们还能再去优化1秒钟的一个启动时间,我们就可以再将这个流失再次降低20%。那么问题来了,我们应该怎么降低这里面的时间?首先给大家介绍几个,比如说业界通用的方法,以及已有的一些平台能力。举个例子,比如说使用图集,可以减少资源下载,尤其在一次启动的时候我们会可以节省非常多的用户流失,第二,加快我们首屏幕渲染,这在安卓设备上面,实际上用户看到你的加载页收起是在什么时候,是在你第一次渲染指令完成之后才会去收起它的下载页,这时候如果尽快下载用户可以快速进入到你们小游戏的内容,从而更好的展示小游戏本身的内容,减少用户的流失。这个方法对于广告小游戏来说尤其的适用,因为广告小游戏需要有更强的需求,需要在更早的时候展现自己小游戏的内容,从而减少自己用户的流失。



我们从以往的几个能力上来说,我们实际上也在去年早些时候提供了新的能力,比如说资源预加载,开发者可以通过在小游戏的配置里面,去配置首场景需要什么样的资源,从而我们的平台侧可以在网络闲时的时候下载这些资源。这个方法其实也是能减少几百毫秒的耗时。还有我们很早就提出来一个方法,就是使用分包,去降低首包的尺寸,相信这些方法很多开发者都已经使用过了,我们有没有办法在此基础上去提升我们的性能呢?


今天提到了引擎插件,这个方案我们在今年8月份的时候开发者大会上已经提到过,我们当时承诺会在后续开放,我们在今年的11月份正式开放了引擎插件的能力。很多的引擎,还有开发者都已经接入了,先来看一下,引擎插件,如果接入的话,那么它会带来多么大的优化。


在这里我们以接入了引擎插件的一个游戏为例,星途,我们可以看到,在使用引擎插件和不使用引擎插件上面有一个速度非常大的提升,这个是多少呢?从5.6秒的启动时间,提升到了4.3秒,这是一个非常巨大的优化,如果对应前面那样一个启动阶段流失分布曲线,可以减少百分之好几十的用户流失。


那么,什么是引擎插件呢?举例,我们有两个游戏,游戏A和游戏B,它们使用的引擎是一样的,不同的就是游戏的逻辑,按照我们传统的下载流程,游戏A的启动对游戏B的启动没有任何的帮助,接入我们引擎插件之后,作为平台侧就可以非常清楚的知道,将游戏逻辑和游戏引擎部分分开来存储。游戏A下载完毕之后,逻辑存放在逻辑部分,引擎部分存放在公共的部分。这个时候游戏B下载的时候就不用下载引擎部分了,只需要将游戏的逻辑部分下载下来即可。


这部分有多少呢?我们实际上看了一下大盘的数据,引擎实际上平均下来我们在包体里面占到了1.5兆,大家都是游戏开发者明白1.5兆有多么大的意义。我们介绍完了一个引擎插件的原理,它大盘上的效果到底如何呢?给大家带来几个数字,第一,1.14秒,是说我们接入了引擎插件这样一些游戏当中,我们平均下来是提升了1.14秒的启动速度,完成了我们一开始跟大家介绍的,使用引擎插件的这些游戏我们再提升1秒的目标,1.14秒对应的是23%的用户流失,我们提升了23%的用户留存,这是一个非常巨大的优化。



既然引擎插件这么好,作为开发者怎么去接入呢?其实可以认为是零门槛的,开发者到自己使用的引擎官网下载最新IDE,重新导出上线即可,我们现在有多少引擎已经支持了引擎插件呢?


我们可以认为97%的开发者所使用的引擎我们都已经接入引擎插件了,所以对于接入方面来说我们没有任何的担忧。此外我们实际上有208款的游戏已经接入了引擎插件,这是截止到12月份的数据。实际上,截止到昨天,我们看到这个数字已经突破了350款。


我们从刚刚的原理可以看出来接入的游戏越多,引擎插件命中率就越高,那么你做一个新的游戏来说,我们在现有的数据之下,我们能达到65%的命中率,也就是说65%的情况下你去新下载一个游戏,你是不需要下载自己的引擎这部分的。关于引擎插件现有的能力我就介绍到这里,其实还有一些其他的,我们还会在今年的晚些时候会将引擎插件能力会升级为通用插件,后面我们开发者,比如说一些其他的SDK里面的逻辑,也可以做一个插件开发者去上传自己的插件,同时我们也可以去支持到一个游戏有多个插件,这样大家可以更好地优化启动速度。第三点,我们会提供开放数据插件的能力,这样大家可以在开放数据域里面使用插件了。



我们这里既然讲完了启动优化,可以看一下性能优化,运行时的性能优化该怎么解决。关于性能优化方面分为两个部分,第一部分我来讲一下逻辑与渲染这个部分,这部分性能优化,大家更多关心的是它会影响到用户的体验,第二,如果想做一些重度游戏,这里就必须要有非常好的性能,虽然大盘达到了56帧的帧率,但是我们要对性能进行更好的优化。


那么讲如何优化之前先讲如何排查,我们提供了在今年早些时候,已经提供了一个工具,开发者可以在开发板小游戏下面,在游戏的右上角,触发Start CPU profile开始调试运行时js性能,然后通过Stop CPU Profile,结束调试。之后,可以导出cpuprofile文件,在开发者工具Profiler页面查看。实际上在12月的开发者工具版本里面,我们也已经将这样的一个流程做进一步的简化,不需要开发者手动将文件拖出手机,可以在工具里面直接选这个文件。


我们知道了当前是怎么样排查CPU的耗时,举一个例子,我们可以看到最耗时的函数是什么,该怎么优化游戏运行时的性能呢?第一点,我们可以使用Worker优化业务逻辑,将可以异步化的逻辑放在worker里,避免卡住Js线程。第二点,在非必要的情况下,避免使用同步接口,使用异步接口,这样也能减少JS线程卡顿的概率。第三点,减少过多局部变量使用。


这一点对很多开发者来说比较难理解,可以理解为JS引擎,尤其是iOS的JSCore的gc策略和局部变量个数有关,局部变量越多,就会引擎越频繁的卡顿,在没有JIT的iOS设备上影响尤其明显。第四点,这也是很多开发者没有注意过的一个点,我们在很早的时候就在Systemlnfo中提供了benchmarkLevel这个字段,就是当前用户所运行机器的综合性能评分,我们这个评分是根据第三方权威平台,以及腾讯内部的一些机型性能得分,以及线上运行时真实游戏性能数据,使用综合算法计算出来的。


开发者可以通过用户所运行的手机当前的评分来去优化自己的逻辑,在低端机上减少逻辑和渲染,从而将自己的逻辑更好得优化。最后一点,很多开发者反馈,我们的排行榜运行比较卡顿,我们在很早期的时候提供了一个混合渲染模式的方式,大大增加排行榜滑动的顺畅程度,优化子域排行榜。



第二个方面,就是大家非常关心的内存。第一方面内存过高会影响运行性能,第二方面,如果内存过高可能会出现各种被系统杀死或者是iOS系统告警弹框,那么我们该怎么样优化它呢?


我们先说一下排查方案,类似于CPUProfiler,我们在今年下半年,在开发版小游戏的右上角调试页面中,提供了一个叫Take Heap Snapshot的功能,将当前时间游戏内存导出,可以排查哪里有内存泄露,从而去优化我们的内存。查看方法与CPUProfiler类似,可以在开发者工具中查看。那么,我们该怎么去优化自己的内存?第一,我们可以在游戏的过场动画等用户流畅度不敏感的场景中,通过wx.triggerGC()接口,及时去触发GC,清理未被引用的资源和对象。第二方面,大家可能都见过这样一个弹框,我们怎么样避免这个弹框的出现?



我们可以通过wx.onMemoryWarning()的接口,监听系统提示你内存不足的情况下,做一些清理逻辑,开发者可以将不需要的资源及时的清理掉。第三,就是压缩纹理,我们的交流发现,很多开发者都没有使用过这个方案,而使用这个方案的一个好处,实际上是不言而喻的。我们在iOS上支持了pvr,Android上目前支持了etc1,如果使用了压缩纹理,可以将单个纹理的占用尺寸可以降低8倍,如果是一个重渲染的游戏,会有非常好的优化效果。我们有这样一个案例,在使用了压缩纹理这样一个方案之后,会降低51.8%的内存占用,对于重渲染的游戏来说,这是一个非常有效的方案。



上午主会场,我们也提到我们将会提供了一个3D渲染性能表现提升接口,使用这样一个接口之后,我们的FPS最高能够提高300%,与此同时,我们CPU和内存都是能做到一个非常低的水准。


好,这里性能大概就给大家讲这么多,后面请梓民跟大家讲一下如何优化小游戏本身的质量。谢谢。



大家好,我是微信公开课讲师袁梓民,今天我的分享主题是《小游戏质量工具》。前面我的同事分享了玩法和性能相关的内容,为了打造好的玩法和高性能游戏,是一个持续投入的事情,上线前我们要经过仔细的测试,上线后需要持续的质量监控,这里面或多或少会遇到一些困难,这时候就离不开一些好的工具为小游戏质量保驾护航,下面我给大家分享一些在游戏上线前和上线后好用的工具。


首先是上线前的情况。在小游戏过去的两年时间里,我们做了一些统计,观察到一些现象,我们发现70%的团队都是小于10个人的小团队,并且活跃的游戏开发者平均3天就会提审一个版本。在人员少迭代快的节奏下,测试是一项成本很高却必不可少的工作,为了完整的测试,既要保证功能正常,又要尽可能覆盖多的设备,这对人力成本和设备成本的挑战都是巨大的。


针对这种情况,我们推出了云测试服务,它是一套完整易用的在线测试服务,它覆盖超过80%常用的机型,在版本提审之前,我们只需要在微信公众平台页面一键操作,等待20分钟即可跑出详细的测试报告。通过这种高设备覆盖率和在线操作,将大大降低测试的人力和物力成本。



除了低门槛接入,我们可能更关心云测试能够测出哪些数据。云测试为为每一个设备生成一份测试报告,每一份测试报告又会包含三个方面的测试结果,他们分别是运行性能、网络性能和兼容性测试。接下来我们来看看他们是如何提高游戏质量的。




首先是运行性能,云测试运行性能报告涵盖了众多的性能数据指标,其实每一个指标后面都有很多的故事,我们来看几个例子。

首先我们来看FPS,有一款游戏收到玩家的反馈,说游戏总是一卡一卡的,但是开发者自己本地测试并不会卡顿,那这个游戏到底卡还是不卡呢?其实应该用数据来说话。在云测试里面,我们发现在某些设备上,他的FPS确实出现强烈的抖动, 导致了玩家反馈的卡顿现象,后来开发者在出现问题的设备上做具体分析之后,果然改善了这个问题。



另外一个让开发者头疼的问题是小游戏内存,前面我的同事讲了,内存超过一定限制的时候就会导致小游戏闪退。造成这种问题的常见原因之一是内存泄漏,比如中间这个图,是我们针对一款经常出现内存告警的游戏跑的测试结果,我们可以发现随着时间推移,内存持续增高,导致了游戏闪退。如果你的游戏也出现了这种问题,应该用一些工具去分析是否出现了内存泄漏。


此外开发者可能经常收到的设备发热的反馈,这种情况很多时候是因为CPU占用过高,通过云测试,我们能找到CPU峰值和对应的游戏场景,大家也可以下载CPU profile文件,在Chrome浏览器里面进行详细的分析,找出热点函数。


最后还有像drawcall和三角形面数等数据,大家可以在使用过程中慢慢体验。相信不少开发者都有这样的经验,小游戏提审之后因为游戏黑屏而被驳回,又或者某些用户反馈在一些特殊设备上打开游戏黑屏而无从定位。那么我们去提前发现这些问题呢?可以看这张图,如果有脚本报错,我们会收集并展示错误堆栈,如果游戏中出现黑屏,我们也会自动检测并且给出黑屏率。最后,我们还可以通过测试截图来发现一些UI适配的问题,这就是兼容性测试能做的事情。




云测试我们已经内测了一算时间了,我们收到了一些反馈,比如很多开发者关注游戏的启动加载耗时,我们推出了专门的启动加载分析报告用以查看不同档次设备的启动耗时。后面我们会持续关注开发者的反馈,不断优化云测试服务。


在游戏上线之后,我们更多关注的是线上游戏运营情况,在过去的时间里,我们经常收到开发者截图反馈说进度条卡在100%和黑屏等各种问题但是无从定位。实际上我们早就提供了工具帮助开发者去定位这些问题,下面给大家介绍两个非常实用的工具。



刚说到进度条卡在100%的问题,其实这时候已经走到游戏逻辑了,只不过游戏逻辑报错导致游戏进度条卡住。这时候系统会收集js的报错,上报到微信公众平台,开发者上公众平台的运维中心,就可以查询这些报错信息。很多开发者会讲我经常忘记这个入口,而且这个错误内容经常看不懂。这里有两个小技巧:


首先是soureMap功能,小游戏为了精简代码包体积都会进行代码压缩,而压缩后的代码是很难定位出问题源头的,所以我们需要sourceMap文件;游戏引擎在打包游戏的时候,一般都可以选择导出sourceMap文件,务必勾选上这个配置,平台会自动处理这个文件。


第二是微信告警群,每个小游戏都可以在运维中心配置告警群和告警规则,比如其中的一条规则是小游戏在5分钟内报错超过10次就会推送一条消息到告警群,这样我们不需要主动查询就可以知道线上游戏运行情况。





除了js报错,很多时候,没有报错也可能出现游戏卡死的情况,这时候用户会通过意见反馈功能向开发者进行反馈。但是大部分用户的反馈信息是很有限的,他们只会说游戏卡死了和没反应之类的,这时候怎么尝试问题呢?


logManager会派上大用处,通过logManager打印的日志信息在用户反馈的时候,会通过文件的形式上传到微信公众平台,在查看用户意见反馈的时候,就可以下载这个日志信息,也就不会无从下手了。


除此之外,我们还接到不少开发者反馈说,希望可以看到更多框架内部信息,这样可以方便定位用户启动慢到底是卡在哪一步了,我们计划明年在logManager带上框架信息。



最后我们来回顾下刚刚讲过的所有内容,在社交玩法方面我们推出了关系链互动和帧同步的能力,2020年我们将推出更强的社交玩法2.0;


在游戏性能方面,我们推出了引擎分离插件和一系列的性能排查工具,在接下来的一年时间里,我们会做更强大的通用插件能力,这个通用插件可以是开放数据域插件,也可能是多插件,敬请期待。


在质量工具上面,2019年我们在小游戏数据助手提供了性能数据,未来我们会对此做进一步升级优化,包括更丰富更准确的维度支持,数据自助提取分析等。




对于小游戏云测试,未来我们会提供远程云真机和内存专项分析等更多能力,最终开放给所有小游戏。除此之外,如果开发者还想要了解更多信息,一方面可以关注我们的小游戏社区,这里有最新的能力公告,有小游戏开发的最佳实践,还有丰富的问答,同时,我们将小游戏的API和最佳实放到了小游戏官方示例,大家可以扫码体验。


感谢大家



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存