TYPESDK手游聚合SDK客户端设计思路和架构的四:unity开发平台有结构设计和思路

       根据函数号称行进行函数接口 public void DoAnyFunction(string
_func_name,U3DTypeBaseData _in_data)

再度拘留充值及帐流程,在是简化版的充值及帐流程中,我们可以看,TYPESDK服务端所形成的办事啊是一个略的包装动作,将各种不同之水道回调请求包装成正规的数额格式,通知被游戏服务端,供游戏处理发货。

       1.调为此轻便

        图片 1

2.typesdk会冲目前运作平台的不比,调用接口在不同平台及之兑现逻辑

  1. 用户点击登录按钮时,游戏客户端调用TypeSDK登录接口,详细调用方式与参数说明要参考客户端接口文档
  2. TypeSDK客户端调用沟渠客户端SDK的API登录
  3. 渠道客户端SDK自我机制请求渠道服务端
  4. 渠道客户端SDK获取服务端返回的认证用参数
  5. TypeSDK客户端取渠道客户端SDK获得的参数并封装
  6. 游玩客户端取包装后底参数
  7. 娱乐客户端将打包后参数用自我体制传输给游戏服务端
  8. 戏服务端访问TypeSDK服务端的用户会话验证接口。将流程6挨获取的参数传送给TypeSDK服务端。
  9. TypeSDK服务端访问渠道服务端的用户征接口,进行登录验证
  10. 沟返回验证结果
  11. TypeSDK服务端对渠道返回的求证结果开展打包,返回给游戏服务端游戏服务端根据渠道证实结果,通知游戏客户端本次登录是否成。

       我们可由此类似继承来实现不同的运行条件下调用不同之接口

         下面我们独家就随即简单单重点流程进行分析:

      
因为unity本身就指向跨平台的数量接收做了充分好之包裹,只待知道我们的脚本对象名字,其他平台虽足以一直实施这本子内的函数,所以我们在规划聚合sdk时,做了之类的一部分响应函数的定义

图2

       登出接口 public  void Logout()

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

       登录接口 public void Login()

流程说明

如图所示的组织,我们以untiy主要实现了以下几单作用

        
首先我们用厘清,在全路应用场景中,TYPESDK所处之职务,以及它所需要实现之主导功能。

当高达一样篇《iOS平台接口设计和思路》中我们阐述了ios平台的接口结构及思路。在这里我们拿阐述unity平台下之接口结构以及笔触。

  1. 充值订单到钱后,渠道服务端异步通知TYPESDK服务端
  2. TYPE服务端通知游戏服务端发货
  3. 打服务端收到发货请求后先保存该要,立刻返TYPESDK服务端,表示早已吸纳发货请求。
  4. TYPESDK返回渠道服务端
  5. 游戏服务端异步处理发货逻辑。并通报游戏客户端

       获取缓存在原生平台的水道配备信息 public U3DTypeBaseData
GetPlatformData()

 

3.这些不同平台达成之兑现逻辑会跨平台调用原生环境的接口

        图片 2

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

流程说明

//登录成功响应
       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)

 

变成接口调用就执行。

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

       登录接口 public void InitSDK()

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

6.typesdk还以数据处理后上报给游戏客户端

        
作为一个沟渠SDK统一衔接抱框架,TYPESDK从平开始,所当的要求状况就是是多款游戏,通过一个合之SDK服务端,能够同时对接几十单甚至几百单各种渠道的SDK。而且这些渠道接口的有血有肉交接抱字段和属逻辑,每个月以至每周,都可能产生或大或小的转。在如此一个错综复杂的施用场景下,我们当怎样计划一个敷强大而与此同时足够灵活的SDK服务端呢?

       用来响应原生平台的数传递类typenotify

图1

       2.对不同运行平台(安卓/ios/windows)的接口实现

 

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
       {
       }

 图片 3

      
unity平台是开平台,我们的程序代码是在这个ide下堆叠的。unity端并不需要过多之考虑不同运行平台(安卓/iOS)上的底部机制是什么样落实之,本身unity已经举行了相应的处理,我们就待理解好手上底运作平台是怎的,然后做好有关的阳台差异

于以上的流水线中得分析产生,在签到流程中,TYPESDK服务端所待做到的劳作便是做到一个封装的动作。将游戏服务端提供的尺度的参数,根据渠道的求进行分级包装,让数据符合渠道服务端的求,随后交给给渠道服务端。然后再次管各种渠道返回的稀奇古怪的征结果做出区分解析,再通知游戏服务端,以供游戏逻辑下。

       大退游戏接口 public void ExitGame()

图3

      
在c#被,我们得以下宏定义来实现即无异于效,具体示例可以参考以下代码的事例

是类型曾开源,大家产生趣味可以协调研究要参照项目编制好之聚合SDK

平、那么我们要还是,先看看想要规划的需要

假若图1所著,TYPESDK服务端最关注的接口,是娱服务端与TYPESDK服务端之间的通信接口,以及沟服务端与TYPESDK服务端之间的通信接口。以报到流程也条例,就是娱乐服务端向TYPESDK服务端发起的证明用户请求和沟渠服务端向TYPESDK服务端返回的验证结果;以支出流程也条例,就是渠道服务端向TYPESDK服务端发起的支付好回调和TYPESDK服务端向娱乐服务端发起的发货请求。

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

因上述剖析,我们即便张罗清了TYPESDK服务端在全部工艺流程中之职与根本工作。在连接下去的稿子中,我们更具体的分析,怎样的计划性,才能够被她再好之服灵活多变的用场景,应付主要风险。以及哪些将每大渠道的劳动端SDK,接入我们这统一之框架中。

夫路既开源,大家有趣味可以团结研究或参照项目编制好之聚合SDK
花色地址:https://code.csdn.net/typesdk_code
色地址:https://github.com/typesdk

      
因为unity平台是开发平台,游戏渠道的差异性我们当运行平台(安卓/iOS)上做了拍卖,那么unity部分客户端,就有些用关爱渠道差异化的处理了。

其次、设计的模块

       2.对准两样运行平台(安卓/iOS)能从适配
图片 4

       提交用户信息接口 public void UpdatePlayerInfo()

       给到耍调用的 typeSDK类中我们用以下的接口定义

其三、具体的底细

5.typenotify类将相关数据转发给typesdk类

      
如此一来,整个工艺流程就成型了一个整的系统。从接口的调用,到跨平台数量的收受都来了连带的计划性。

       支付接口 public string PayItem(U3DTypeBaseData _in_pay)

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

4.原生环境抱有的音数据发送给typenotify类

发表评论

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