
游戏SDK:
软件开发工具包,第三方服务提供商提供实现软件产品一定功能的工具包。如提供android开发工具或基于硬件开发的服务。游戏sdk控制游戏的登录、注册和充值。SDK与平台接口链接,负责管理玩家账号信息和充值。
游戏SDK大体分为两类:
1.聚合SDK:封装各大渠道的SDK,对外统一接口。
2.渠道SDK:公司自有SDK,通常会有用户入口、支付逻辑、数据统计等功能,也可以封装到聚合中当成自己渠道。
SDK需求分析:
项目的需求:做成什么样的产品?
1.游戏客户端和服务端只需要关注游戏本身内容,无需关注不同渠道的SDK差异性,降低渠道SDK和游戏客户端的耦合性
2.必须要有扩展性,能应对日后新增的各种类型SDK
3.能统一管理多个项目、多个渠道SDK配置、其它类型SDK配置
项目功能设计模块:
1.客户端接入部分统一框架,并做好逻辑转发和处理
2.服务端接入部分统一框架,并做好逻辑转发和处理
3.游戏打包部分,做好可视化操作界面和配置界面,后台处理多任务打包逻辑
项目设计思路:

整体设计分为四大部分:游戏渠道包、游戏服务器、SDK服务器、渠道服务器
1.游戏渠道包:包含游戏资源、SDK资源、渠道SDK资源等
2.游戏服务器:接收聚合SDK的数据,并将数据转发到SDK服务器,做数据校验等
3.聚合SDK服务器:处理聚合SDK客户端上报的渠道数据和游戏转发的数据,与渠道SDK做逻辑交互
4.渠道服务器:处理渠道SDK上报的数据和聚合SDK服务器逻辑交互
逻辑时序图:


架构设计业务场景:
1.对接多个应用渠道。需要方便、快速接入渠道SDK以及维护SDK
2.登录、支付相关处理。游戏登录、平台账号登录、账号切换、切登录。平台支付、切支付
3.游戏对接聚合SDK,批量打包
架构设计图:

项目代码实现:
1.基础库
2.项目回调设计
3.项目数据设计
4.项目域名设计
测试环境、正式环境、域名切换
5.项目混淆设计
6.项目三方库封装设计
游戏打包:
游戏上线走应用商店,对接渠道SDK,也就是联运。渠道打包也就是处理渠道SDK的接入
打包整体设计流程:

首先游戏会接入封装好的测试渠道的SDK,给到一个游戏-SDK母包。上传到打包系统,选择不同的渠道,最终生成不同的渠道包。
大概三个部分:游戏母包、渠道资源包、打包系统
游戏母包:接入已封装测试渠道SDK的游戏包,对接了统一化接口,包含登录、支付、数据上报等交互逻辑
渠道资源包:聚合SDK对接渠道SDK接口后,封装好的资源包
打包系统:输入游戏母包和渠道标识后,自动化解包、合并资源、封包,最终输出游戏渠道包
打包流程交互设计图:

自动化打包过程图解:

后台管理系统:
1.游戏管理
游戏参数配置,登录注册支付开关等
2.渠道管理
渠道信息管理、版本、通用参数配置
3.打包管理
游戏渠道icon、版本、渠道参数等