TYPESDK手游聚合SDK服务端设计思路与架构之一:应用场景分析
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服务端设计思路与架构之一:应用场景分析相关推荐
- TYPESDK手游聚合SDK服务端设计思路与架构之二:服务端设计
在前一篇文中,我们对一个聚合SDK服务端所需要实现的功能作了简单的分析.通过两个主要场景的功能流程图,我们可以看到,作为多款游戏要适配多个渠道的统一请求转发中心,TYPESDK服务端主要需要实现的功能 ...
- Android 手游聚合SDK那些事
前言 在安卓游戏SDK这个技术领域呆了已经有4年多,从游戏发行中的一员逐渐转为游戏研发中的一员.从开始什么都不懂的菜鸟,摸爬滚打了几年,多多少少对这个行业以及技术领域有了相对成熟的理解.本文纯概念性的 ...
- android 升级带服务端,安卓应用升级服务端设计思路
原标题:安卓应用升级服务端设计思路 前言 去年支付宝集福卡活动玩出新花样,增加了一种花花卡,豪称全年帮你还花呗,一时火热.听到很多人在说要花花卡时,不准备玩集福卡的我准备再玩一把.进入页面功能点直接系 ...
- 教你快速高效接入SDK——手游聚合SDK框架中渠道SDK部分的接入(就是实现抽象层的接口而已)
U8SDK技术博客:http://www.uustory.com/,欢迎来坐坐. 百度传课已经停运,最新U8SDK视频教程已经转移至B站:U8SDK最新视频教程 题记:很多做游戏开发的人,估计都或多或 ...
- 教你快速高效接入SDK——手游聚合SDK的总体思路和架构
U8SDK技术博客:http://www.uustory.com/,欢迎来坐坐. 百度传课已经停运,最新U8SDK视频教程已经转移至B站:U8SDK最新视频教程 题记:很多做游戏开发的人,估计都或多或 ...
- 端游及手游,游戏服务端架构,游戏研发流程
转载:https://blog.csdn.net/shareus/article/details/54588633 > 游戏框架,游戏架构, Lua和C# 游戏的策略(规则 交互等),游戏的算法 ...
- TypeSDK免费手游多渠道SDK接入方案
摘要: TypeSDK,一个开源的统一手游渠道SDK接入框架,拥有80个海内外渠道,具备快速出包.分布式打包.分权限管理.产品数据打点等功能. 经历了头两年的爆发之后,手游也和端游.页游一样,进入了一 ...
- 聚播微信多开客服系统二次开发SDK服务端接口
聚播微信多开客服系统二次开发SDK服务端接口 case HeartBeatReq: {// 客户端发送的心跳包heartBeatReqHandler.handleMsg(ctx, msgVo);bre ...
- 云控sdk服务端接口
聚播云控sdk服务端接口 case HeartBeatReq: {// 客户端发送的心跳包 heartBeatReqHandler.handleMsg(ctx, msgVo); break; } ca ...
最新文章
- 组合求解器 + 深度学习 =?这篇ICLR 2020论文告诉你答案
- 认清企业现状,做好信息化建设
- 【10.23头条】阿里云存储负责人吴结生:安全可靠是云存储立身之本, 智能技术将激活存储技术新变革...
- vs2008 及.netframework3.5 安装问题
- phpMyAdmin批量修改Mysql数据表前缀的方法
- 传输层协议的UDP和TCP
- Cisco路由配置命令
- winform 文件上传限制文件类型及文件大小
- (8)机器学习_混淆矩阵(分类模型评估)
- 用MathType怎么编辑带圈数字序号
- 优科网络:WiFi价值正在回归
- 转载一份anjuta教程
- OligoGreen染料|花菁类(Cyanine系列)-引物、Oligo核酸、多肽标记染料
- key位置 win10生成的ssh_Win10系统中生成SSH密钥的方法
- 计算机数字控制的机械手臂,90后国人自主研发桌面级机械臂,太牛了~
- python串口收发
- 怎样利用博客推广自己的网店?
- MSI B450迫击炮装机常见问题解决方法
- 初识 ❤ TensorFlow |【一见倾心】
- java支付宝对账功能开发_java后台实现支付宝对账功能
热门文章
- 【人工智能】蚁群算法(密恐勿入)
- 【Dart 教程系列第 49 篇】Dart 是值传递还是引用传递
- rust的矿坑_转: Rust中的Pin详解 【Rust语言中文社区】
- 关于:自动代理 pac 文件示例
- 工作日志(显示器键盘鼠标打印机共享器故障)
- 观察者模式 : 一支穿云箭,千军万马来相见
- Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
- linux校时 某个服务器,Linux 校时服务器
- 基于Vue和Axios的小型在线音乐播放器
- ARM base instruction -- eor