TYPESDK手游聚合SDK服务端设计思路与架构之一美高梅4688.com:应用场景分析

在上一篇《iOS平台接口设计及思路》中大家演说了ios平台的接口结构和思路。在此处我们将解说unity平台下的接口结构和思路。

TYPESDK 服务端设计思路与架构之一:应用场景分析

      
unity平台是开发平台,大家的程序代码是在那些ide下堆叠的。unity端并不须要过多的考虑分歧运营平台(安卓/iOS)上的最底层机制是怎么兑现的,自己unity已经做了对应的处理,大家只须求明白本身眼下的运维平台是何许的,然后做好相关的阳台差别

        
作为1个水道SDK统一接入框架,TYPESDK从一起首,所面对的急需景况便是多款游戏,通过三个联结的SDK服务端,能够同时对接几13个甚至几百个各样渠道的SDK。而且这么些渠道接口的切实可行接入字段和接通逻辑,各类月以至周周,都或许发生或大或小的改变。在这么一个扑朔迷离的采纳场景下,我们应该怎么样布置三个足足强劲而又充分灵活的SDK服务端呢?

       2.对不相同运营平台(安卓/iOS)能自适配
美高梅4688.com 1

        
首先大家需求厘清,在整个应用场景中,TYPESDK所处的地方,以及它所急需贯彻的基本成效。

化接口调用就行。

        美高梅4688.com 2

      
因为unity平台是支付平台,游戏渠道的差距性我们在运维平台(安卓/iOS)上做了拍卖,那么unity部分客户端,就某些须要关注渠道差别化的处理了。

美高梅4688.com,图1

① 、那么大家照旧照样,先看看想要设计的急需

如图1所示,TYPESDK服务端最关注的接口,是10日游服务端与TYPESDK服务端之间的通讯接口,以及渠道服务端与TYPESDK服务端之间的通信接口。以报到流程为例,正是游戏服务端向TYPESDK服务端发起的表明用户请求和渠道服务端向TYPESDK服务端重返的辨证结果;以开发流程为例,便是沟渠服务端向TYPESDK服务端发起的支出成功回调和TYPESDK服务端向娱乐服务端发起的发货请求。

       1.调用便捷

         上边大家分别就那四个关键流程展开解析:

贰 、设计的模块

        美高梅4688.com 3

       1.唯一的给外部调用接口模块

图2

       2.对准区别运维平台(安卓/ios/windows)的接口完结

流程表达

三 、具体的细节

  1. 用户点击登录按钮时,游戏客户端调用TypeSDK登录接口,详细调用方式及参数表明请参见客户端接口文书档案
  2. TypeSDK客户端调用沟渠客户端SDK的API登录
  3. 渠道客户端SDK自小编机制请求渠道服务端
  4. 渠道客户端SDK获取服务端重回的认证用参数
  5. TypeSDK客户端获取渠道客户端SDK得到的参数并封装
  6. 游玩客户端获取包装后的参数
  7. 十2十三日旅客户端将包装后参数用自己体制传输给游戏服务端
  8. 游玩服务端访问TypeSDK服务端的用户会话验证接口。将流程6中获取的参数字传送送给TypeSDK服务端。
  9. TypeSDK服务端访问渠道服务端的用户验证接口,举办登录验证
  10. 渠道再次回到验证结果
  11. TypeSDK服务端对渠道重返的表达结果进行李包裹装,重回给游戏服务端游戏服务端依照渠道证实结果,公告游戏客户端此次登录是不是成功。

如图所示的构造,大家在untiy主要完毕了以下几个职能

 

1.游戏客户端的有所接口调用是通过typesdk类

从上述的流程中能够分析出,在登录流程中,TYPESDK服务端所急需落成的办事正是达成2个卷入的动作。将游戏服务端提供的尺度的参数,根据渠道的供给进行个别包装,让多少符合渠道服务端的急需,随后交给给渠道服务端。然后再把各个渠道再次回到的好奇的证实结果做出区分解析,再文告游戏服务端,以供游戏逻辑使用。

2.typesdk会基于最近运作平台的例外,调用接口在区别平台上的达成逻辑

 

3.那几个差别平台上的实现逻辑会跨平台调用原生环境的接口

 美高梅4688.com 4

4.原生条件抱有的消息数据发送给typenotify类

图3

5.typenotify类将有关数据转载给typesdk类

流程表明

6.typesdk再将数据处理后报告给游戏客户端

  1. 充值订单到帐后,渠道服务端异步文告TYPESDK服务端
  2. TYPE服务端公告游戏服务端发货
  3. 游玩服务端收到发货请求后先保存该请求,立即回去TYPESDK服务端,表示已接到发货请求。
  4. TYPESDK再次回到渠道服务端
  5. 四日游服务端异步处理发货逻辑。并布告游戏客户端

       给到娱乐调用的 typeSDK类中大家需求以下的接口定义

 

       登录接口 public void InitSDK()

再看充值到帐流程,在这些简化版的充值到帐流程中,我们得以看出,TYPESDK服务端所形成的行事也是2个归纳的卷入动作,将各类不相同的水渠回调请求包装成正规的多寡格式,布告给游戏服务端,供游戏处理发货。

       获取缓存在原毕生台处的sdk用户数据 public U3DTypeBaseData
GetUserData()

基于以上分析,大家就理清了TYPESDK服务端在全数工艺流程中的地方和重要工作。在接下去的稿子中,大家再具体的辨析,如何的宏图,才能让它更好的适应灵活多变的选用场景,应付主要风险。以及哪些将各大渠道的劳务端SDK,接入大家以此统一的框架中。

       获取缓存在原一生台的水渠配备消息 public U3DTypeBaseData
GetPlatformData()

以此连串已开源,大家有趣味能够自身钻探可能参照项目编写制定本身的聚合SDK

       登录接口 public void Login()

品种地址:https://code.csdn.net/typesdk_code

       登出接口 public  void Logout()

类型地址:https://github.com/typesdk

       支付接口 public string PayItem(U3DTypeBaseData _in_pay)

       提交用户音讯接口 public void UpdatePlayerInfo()

       大退游戏接口 public void ExitGame()

       依据函数名推行举行函数接口 public void DoAnyFunction(string
_func_name,U3DTypeBaseData _in_data)

       我们得以由此类继承来促成不一致的运转环境下调用不一样的接口

      
在c#中,大家得以选用宏定义来完结这一意义,具体示例可以参见以下代码的事例

public class TypeSDK :
       #if UNITY_ANDROID
           Bonjour_Type_Common
       #elif UNITY_IOS
             Bonjour_Type_Common_IOS
       #elif UNITY_STANDALONE_WIN
          Bonjour_Type_Common_Win
       #else
         Bonjour_Type_Common_Win
       #endif
       {
       }

       用来响应原一生台的多少传递类typenotify

      
因为unity自个儿已经对跨平台的数码接受做了很好的卷入,只须求理解大家的脚本对象名字,其余平台就足以一向实施那一个剧本内的函数,所以我们在筹划聚合sdk时,做了之类的一部分响应函数的概念

//登录成功响应
       public void NotifyLogin(string _in_data)
       //登出响应
       public void NotifyLogout(string _in_data)
       //支付结果响应
       public void NotifyPayResult(string _in_data)
       //初始化完毕响应
       public void NotifyInitFinish(string _in_data)
       //拓展函数回调响应
       void NotifyExtraFunction(string _json_string)

      
如此一来,整个流程就成型了三个完好的系列。从接口的调用,到跨平台数量的收取都有了有关的布置性。

本条类型已开源,我们有趣味可以协调查切磋究或许参照项目编写制定本人的聚合SDK
花色地址:https://code.csdn.net/typesdk_code
连串地址:https://github.com/typesdk

发表评论

电子邮件地址不会被公开。 必填项已用*标注