安卓游戏聚合SDK

游戏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、版本、渠道参数等