接入必读手册
<p>[TOC]</p>
<h2>产品简介</h2>
<h3>微服务</h3>
<p>微服务是中台在2019年新建设的服务体系,旨在解决多服务(单体架)构难以扩展和维护的问题,提高服务可用性,降低业务接入中台服务的成本,给游戏发行提供一站式的解决方案。</p>
<p>从本质上来讲,微服务只是一种架构思想,一种软件设计思想。源于软件设计大师 Martin Fowler 提出的 <a href="https://www.martinfowler.com/articles/microservices.html">Microservices</a>,随着 Spring(Java语言开发的) 社区的发展,SpringBoot、SpringCloud 强大的支持让微服务具备了天时、地利和人和的天然优势,我们也迎来了服务重构的春天。</p>
<p>从广义上来讲,中台微服务是相对于之前的服务来讲的全新服务,不同于旧服务的架构体系和设计思想。那么它和旧的服务有哪些异同呢:</p>
<p><strong>相同点:</strong></p>
<ul>
<li>使命相同,支撑公司所有业务的发行,保证线上安全、正常、高效的运行;</li>
<li>都有SDK,旧服务有配套的客户端SDK,新服务(微服务)也有自己的客户端SDK即下面要详细讲解的MSSDK;</li>
<li>都有配置管理后台,旧服务有DGC/Dev后台,可以进行应用创建,登录、支付配置等;新服务(微服务)有自己的云平台包含微服务业务控制台,可以进行登录、支付、道具等服务的配置和管理;</li>
<li>都有发行工具,旧服务有大白鲨、擎天柱打包系统支持游戏分发渠道包;新服务(微服务)有一套打包系统,支持游戏分包;</li>
</ul>
<p><strong>不同点:</strong></p>
<ul>
<li>开发语言不同。旧服务绝大部分是基于PHP语言开发的,微服务基于Java语言开发的,但它是可以容纳其他语言开发的服务的;</li>
<li>架构思想不同。旧服务以单体架构为基础设计的,相对单一,不便于统一管理和监控服务性能等;新服务基于微服务架构思想,借助 SpringBoot、SpringCloud 让服务之间有了关联,服务可以统一管理,复用性大大加强;</li>
<li>提供的配套工具技术选型不同。旧服务的打包系统技术选型和实现相对来说比较陈旧(后续也没有计划更新迭代);新服务采用的技术相对比较具有前沿性,打包系统无论是在用户体验方面还是在性能方面都胜出一筹。</li>
</ul>
<p>总之,微服务会持续发展下去,继续以提供优质服务为己任,给大家解决游戏发行中的问题。</p>
<h3>MSSDK</h3>
<p>MSSDK 是伴随着中台微服务的发展和成熟而开发的一套SDK,即全称是Micro-Service-SDK。</p>
<p>目前 MSSDK:</p>
<ul>
<li>支持移动平台(iOS、Android),PC平台;</li>
<li>支持 Unity3D、UE4 引擎开发的游戏,提供对应引擎封装的接口;</li>
<li>支持微信小游戏、微信小程序的登录;</li>
<li>支持登录(手机号、一键登录、游客方式)、支付(微信、支付宝、iOS内购)、数据(DLog)、社区、问卷星、广告监控、bugly、热更新、直播(虎牙直播)、用户中心、实名认证、防成谜、三方分享(微信、QQ)、LBS等能力;</li>
<li>支持渠道封装,目前支持市面上量比较大的渠道,MSSDK封装了这些渠道SDK能力,接入方无需关心渠道特性;大家可以看 <a href="https://idreamsky.feishu.cn/sheets/shtcnjlxIzSAMUaApTiWAqBXoLb#1">渠道支持表</a> 完整记录了MSSDK对渠道的支撑能力;</li>
</ul>
<p>MSSDK 能力图,如下图所示(有些能力还在规划建设中,期待与您早日相见):
<img src="https://www.showdoc.cc/server/api/common/visitfile/sign/a8ec923184cb7e2958a429af3616d1ed?showdoc=.jpg" alt="" /></p>
<p>已经接入MSSDK的游戏一览表,可以参考 <a href="https://idreamsky.feishu.cn/sheets/shtcngr7XvRTO1TTo8ngERjS2qh">接入微服务MSSDK应用列表</a> 这份文档。</p>
<h3>云平台</h3>
<p>建设该平台目的是为了解决游戏接入中台服务找人难(难于上青天)的窘境,也是为了降低中台跟业务之间沟通成本。</p>
<p>平台地址:<a href="https://cloud.idreamsky.com/">https://cloud.idreamsky.com/</a></p>
<p>云平台能力:</p>
<ul>
<li>中台具有的服务能力展示;</li>
<li>中台SDK下载、文档、集成指南等;</li>
<li>对应的游戏发行解决方案指导;</li>
<li>微服务控制台,可以创建、配置应用,集成登录、支付、分享等微服务能力;</li>
</ul>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/5cdd1c9ec71c81be8b8c5eae4b29a8ee?showdoc=.jpg" alt="" /></p>
<h2>接入步骤</h2>
<h3>1、熟悉云平台</h3>
<p>进入 <a href="https://cloud.idreamsky.com/">https://cloud.idreamsky.com/</a> 了解平台。</p>
<h3>2、熟悉业务控制台</h3>
<p>大家可以按照 <a href="https://www.showdoc.cc/mssdk?page_id=2692703335764519">技术中台服务接入指南</a>,有任何疑问,请找 <code>lincoln.hu胡旭林</code> 咨询学习。</p>
<h3>3、申请权限</h3>
<p>请找 <code>geoff.ma</code> 开通相关的权限,并在控制台创建应用;</p>
<h3>4、申请应用参数</h3>
<p>1、申请一键登录、热更新能力、问卷星、脏词过滤、黄图过滤等参数,网游请找 <code>seven.wu伍七秀</code> 协助,休闲游戏请找 <code>tim.zou邹攀</code> 协助;</p>
<p>2、微信和QQ分享、登录的参数,业务在微信、QQ开发者平台申请即可;</p>
<p>3、支付(微信、支付宝)参数以及渠道号的获取,请找 <code>vivi.yang杨敏儿</code> 协助;</p>
<h3>5、控制台配置服务</h3>
<p>可以按照 <a href="https://www.showdoc.cc/mssdk?page_id=2692703335764519">技术中台服务接入指南</a> 完成服务配置如登录、支付、隐私政策、用户协议等服务,在配置过程中有任何疑问请找 <code>yara.hu</code>、<code>geoff.ma</code>、<code>benny.xu</code>、<code>bruce.lan</code> 中任何一位协助处理;</p>
<p>在控制台把申请的应用参数填写到对应的服务当中;</p>
<p>用户中心里面有实名认证、手机号绑定、获取微信头像(需要配置微信参数)功能,默认这些功能都是关闭的,需要在控制台开启后方能使用,接入者可以根据自己的游戏场景来选择是否开启这些功能。</p>
<h3>6、接入MSSDK</h3>
<p>在云平台下载对应版本的MSSDK,接入过程中有任何问题,可以找 <code>rain.tian</code> 咨询协助;</p>
<p><a href="https://www.showdoc.cc/mssdk?page_id=2638430478177500">Android MSSDK集成文档</a>
<a href="https://www.showdoc.cc/mssdk?page_id=2643085941453925">iOS MSSDK集成文档</a>
<a href="https://www.showdoc.cc/mssdk?page_id=2644306103942782">Unity3D SDK集成文档</a></p>
<p>常见技术问题,可以看 <a href="https://www.showdoc.cc/mssdk?page_id=2702230785978145">iOS 常见技术问题</a>、<a href="https://www.showdoc.cc/mssdk?page_id=2702230785978145">Android 常见技术问题</a>.</p>
<p>游戏接入MSSDK母包(Android)之后,<strong>需要接入公版和渠道的API</strong>,这样在经过打包系统后可以分发任何渠道包。由于渠道逻辑和乐逗公版逻辑不一致,乐逗公版API和渠道API是分开的,接入者需要注意这个问题。</p>
<p>如果你不想渠道出一个游戏母包,公版再出一个游戏母包,可以看我们的解决方案 <a href="https://www.showdoc.cc/mssdk?page_id=2699369189270969">Android常见技术问题</a> 中 <code>Q6</code> 章节的解答。</p>
<p>iOS的接入相对比较简单,按照集成文档集成MSSDK-iOS版本即可。</p>
<h3>7、打包</h3>
<p>游戏发行需要多渠道支持,MSSDK支持50+渠道的封装,接入者只需要接入MSSDK母包(公版和渠道API分别接入),完成介入后可以使用打包系统进行打包,可以分包出支持发行的渠道。</p>
<p>对于不熟悉打包系统的同事,我们特地准备了一份 <a href="https://www.showdoc.cc/mssdk?page_id=3655156069007827">微服务打包系统使用手册</a> 文档,请大家仔细阅读并亲手实践,在使用过程中有任何疑问可以咨询 <code>geoff.ma</code>;</p>