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

作为一个渠道SDK统一接入框架,TYPESDK从一开始,所面对的需求场景就是多款游戏,通过一个统一的SDK服务端,能够同时接入几十个甚至几百个各种渠道的SDK。而且这些渠道接口的具体接入字段和接入逻辑,每个月以至每周,都可能发生或大或小的变动。在这样一个复杂的应用场景下,我们应该如何设计一个足够强大而又足够灵活的SDK服务端呢?

首先我们需要厘清,在整个应用场景中,TYPESDK所处的位置,以及它所需要实现的核心功能。

图1

如图1所示,TYPESDK服务端最关心的接口,是游戏服务端与TYPESDK服务端之间的通信接口,以及渠道服务端与TYPESDK服务端之间的通信接口。以登录流程为例,就是游戏服务端向TYPESDK服务端发起的验证用户请求和渠道服务端向TYPESDK服务端返回的验证结果;以支付流程为例,就是渠道服务端向TYPESDK服务端发起的支付完成回调和TYPESDK服务端向游戏服务端发起的发货请求。

下面我们分别就这两个主要流程进行分析:

图2

流程说明

1.      用户点击登录按钮时,游戏客户端调用TypeSDK登录接口,详细调用方式及参数说明请参考客户端接口文档

2.      TypeSDK客户端调用渠道客户端SDK的API登录

3.      渠道客户端SDK自我机制请求渠道服务端

4.      渠道客户端SDK获取服务端返回的验证用参数

5.      TypeSDK客户端获取渠道客户端SDK获得的参数并包装

6.      游戏客户端获取包装后的参数

7.      游戏客户端将包装后参数用自身机制传输给游戏服务端

8.       游戏服务端访问TypeSDK服务端的用户会话验证接口。将流程6中获得的参数传送给TypeSDK服务端。

9.      TypeSDK服务端访问渠道服务端的用户验证接口,进行登录验证

10.  渠道返回验证结果

11.  TypeSDK服务端对渠道返回的验证结果进行包装,返回给游戏服务端游戏服务端根据渠道验证结果,通知游戏客户端本次登录是否成功。

从以上的流程中可以分析出,在登录流程中,TYPESDK服务端所需要完成的工作就是完成一个包装的动作。将游戏服务端提供的标准化的参数,根据渠道的要求进行分别包装,让数据符合渠道服务端的需求,随后提交给渠道服务端。然后再把各种渠道返回的千奇百怪的验证结果做出区分解析,再通知游戏服务端,以供游戏逻辑使用。

图3

流程说明

1.      充值订单到帐后,渠道服务端异步通知TYPESDK服务端

2.      TYPE服务端通知游戏服务端发货

3.      游戏服务端收到发货请求后先保存该请求,立刻返回TYPESDK服务端,表示已收到发货请求。

4.      TYPESDK返回渠道服务端

5.      游戏服务端异步处理发货逻辑。并通知游戏客户端

再看充值到帐流程,在这个简化版的充值到帐流程中,我们可以看到,TYPESDK服务端所完成的工作也是一个简单的包装动作,将各种不同的渠道回调请求包装成标准的数据格式,通知给游戏服务端,供游戏处理发货。

根据以上分析,我们就理清了TYPESDK服务端在整个流程中的位置和主要工作。在接下来的文章中,我们再具体的分析,怎样的设计,才能让它更好的适应灵活多变的应用场景,应付主要风险。以及如何将各大渠道的服务端SDK,接入我们这个统一的框架中。

这个项目已开源,大家有兴趣可以自己研究或者参照项目编写自己的聚合SDK

项目地址:https://code.csdn.net/typesdk_code

项目地址:https://github.com/typesdk

TYPESDK手游聚合SDK服务端设计思路与架构之一:应用场景分析相关推荐

  1. TYPESDK手游聚合SDK服务端设计思路与架构之二:服务端设计

    在前一篇文中,我们对一个聚合SDK服务端所需要实现的功能作了简单的分析.通过两个主要场景的功能流程图,我们可以看到,作为多款游戏要适配多个渠道的统一请求转发中心,TYPESDK服务端主要需要实现的功能 ...

  2. Android 手游聚合SDK那些事

    前言 在安卓游戏SDK这个技术领域呆了已经有4年多,从游戏发行中的一员逐渐转为游戏研发中的一员.从开始什么都不懂的菜鸟,摸爬滚打了几年,多多少少对这个行业以及技术领域有了相对成熟的理解.本文纯概念性的 ...

  3. android 升级带服务端,安卓应用升级服务端设计思路

    原标题:安卓应用升级服务端设计思路 前言 去年支付宝集福卡活动玩出新花样,增加了一种花花卡,豪称全年帮你还花呗,一时火热.听到很多人在说要花花卡时,不准备玩集福卡的我准备再玩一把.进入页面功能点直接系 ...

  4. 教你快速高效接入SDK——手游聚合SDK框架中渠道SDK部分的接入(就是实现抽象层的接口而已)

    U8SDK技术博客:http://www.uustory.com/,欢迎来坐坐. 百度传课已经停运,最新U8SDK视频教程已经转移至B站:U8SDK最新视频教程 题记:很多做游戏开发的人,估计都或多或 ...

  5. 教你快速高效接入SDK——手游聚合SDK的总体思路和架构

    U8SDK技术博客:http://www.uustory.com/,欢迎来坐坐. 百度传课已经停运,最新U8SDK视频教程已经转移至B站:U8SDK最新视频教程 题记:很多做游戏开发的人,估计都或多或 ...

  6. 端游及手游,游戏服务端架构,游戏研发流程

    转载:https://blog.csdn.net/shareus/article/details/54588633 > 游戏框架,游戏架构, Lua和C# 游戏的策略(规则 交互等),游戏的算法 ...

  7. TypeSDK免费手游多渠道SDK接入方案

    摘要: TypeSDK,一个开源的统一手游渠道SDK接入框架,拥有80个海内外渠道,具备快速出包.分布式打包.分权限管理.产品数据打点等功能. 经历了头两年的爆发之后,手游也和端游.页游一样,进入了一 ...

  8. 聚播微信多开客服系统二次开发SDK服务端接口

    聚播微信多开客服系统二次开发SDK服务端接口 case HeartBeatReq: {// 客户端发送的心跳包heartBeatReqHandler.handleMsg(ctx, msgVo);bre ...

  9. 云控sdk服务端接口

    聚播云控sdk服务端接口 case HeartBeatReq: {// 客户端发送的心跳包 heartBeatReqHandler.handleMsg(ctx, msgVo); break; } ca ...

最新文章

  1. 组合求解器 + 深度学习 =?这篇ICLR 2020论文告诉你答案
  2. 认清企业现状,做好信息化建设
  3. 【10.23头条】阿里云存储负责人吴结生:安全可靠是云存储立身之本, 智能技术将激活存储技术新变革...
  4. vs2008 及.netframework3.5 安装问题
  5. phpMyAdmin批量修改Mysql数据表前缀的方法
  6. 传输层协议的UDP和TCP
  7. Cisco路由配置命令
  8. winform 文件上传限制文件类型及文件大小
  9. (8)机器学习_混淆矩阵(分类模型评估)
  10. 用MathType怎么编辑带圈数字序号
  11. 优科网络:WiFi价值正在回归
  12. 转载一份anjuta教程
  13. OligoGreen染料|花菁类(Cyanine系列)-引物、Oligo核酸、多肽标记染料
  14. key位置 win10生成的ssh_Win10系统中生成SSH密钥的方法
  15. 计算机数字控制的机械手臂,90后国人自主研发桌面级机械臂,太牛了~
  16. python串口收发
  17. 怎样利用博客推广自己的网店?
  18. MSI B450迫击炮装机常见问题解决方法
  19. 初识 ❤ TensorFlow |【一见倾心】
  20. java支付宝对账功能开发_java后台实现支付宝对账功能

热门文章

  1. 【人工智能】蚁群算法(密恐勿入)
  2. 【Dart 教程系列第 49 篇】Dart 是值传递还是引用传递
  3. rust的矿坑_转: Rust中的Pin详解 【Rust语言中文社区】
  4. 关于:自动代理 pac 文件示例
  5. 工作日志(显示器键盘鼠标打印机共享器故障)
  6. 观察者模式 : 一支穿云箭,千军万马来相见
  7. Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
  8. linux校时 某个服务器,Linux 校时服务器
  9. 基于Vue和Axios的小型在线音乐播放器
  10. ARM base instruction -- eor