手游联运聚合SDK——总体设计和思路
很多做游戏开发的人,估计都或多或少地接过渠道SDK,什么UC,当乐,91,小米,360……据统计国内市场当前不下于100家渠道,还包括一些没有SDK的小渠道。每个渠道SDK接入的方法呢,多是大同小异。但是,正是这些小异,又让SDK的接入,产生了无穷无尽的变数。所以,接入SDK之前,如果你没有经验,或者没有被SDK坑过,那么当你看到这系列文章的时候,你很幸运,你可以避免这一切了。如果你之前被坑过,而且还在继续被坑着,那么现在就是你解脱的时刻。
完成一个SDK的接入并没有多少技术含量,但是能接入100个SDK,而且能做到维护容易,结构清晰,安全可靠,一劳永逸就不是那么容易的事情了。这也是为什么,世面上出现了那么多打包工具的介绍,SDK接入方法的介绍…而且,还各不相同。
本系列文章,我们来给大家复盘一下U8SDK整套聚合SDK框架从无到有,从简到全的一个开发过程。这里我们先介绍下最初的框架整体思路和后来U8SDK在实际使用过程中的方案改进。
开始开发U8SDK之前, 我们大概简单头脑风暴了一下:
1、首先,客户端需要接入多个联运渠道SDK,为了能够使得我们接入的SDK被多款游戏重用,我们不可以在游戏里面直接去接入每个SDK,而是需要将游戏和SDK接入彻底解耦。
2、为了让SDK接入和游戏分离,我们就需要抽象出一个SDK接入框架,屏蔽各个渠道SDK的差异,向游戏层提供一个统一的API调用;这样游戏只需要接入这个框架即可,而无需关心每个具体的联运渠道SDK。
3、然后我们需要实现一个一键打包工具。游戏层接入我们上面抽象出来的统一API之后, Android的话,可以出一个母包apk,iOS的话,可以出一个母工程(xcode工程);然后通过一键打包工具,就可以打出各个联运渠道的渠道包
4、整套聚合SDK除了客户端部分,还需要服务器端部分,服务端的逻辑分为两个部分:核心业务服务和后台管理系统;其中核心业务服务主要处理各个渠道的登陆认证和支付回调逻辑;后台管理系统主要处理游戏管理、渠道参数配置、用户数据查询、订单数据查询、统计分析等功能。
针对上面这些罗列的点,我们这套聚合SDK框架,应该包含以下几个部分:
接过渠道SDK的同学应该知道, 在对接渠道联运SDK的时候, 最重要的两个功能点是登陆和支付。在聚合SDK框架的设计中,自然也是这两个过程最为重要。接下来我们来设计整个聚合SDK的登陆流程和支付流程。
我们先看登陆流程。如果不使用聚合SDK框架而直接接入SDK,那么渠道联运SDK的登陆流程是什么样呢?我们这里可以看下UC SDK他的登陆流程图:
使用聚合SDK之后,游戏和渠道SDK之间要彻底解耦;所以,聚合Server中我们需要将游戏服务器和渠道SDK服务器之间的直接交互,变成聚合Server和渠道SDK服务器的交互。 我们看下U8SDK中统一登陆流程设计:
我们再看一下整个登陆过程的顺序图,可以更直观地看到这个流程的顺序:
通过新登陆流程和老登陆流程的一个简单对比,我们可以看出:老的登陆认证流程,对于每一款游戏,游戏服务器都需要和每个渠道SDK服务器进行交互;但是使用聚合SDK之后,游戏服务器只需要和U8 Server 进行交互就可以了,全部由U8 Server完成第三方SDK的登陆和登陆认证操作。
接下来,我们再来看支付流程。如果不使用这套框架,游戏中直接接入联运渠道SDK,支付的流程我们以UC SDK为例来说明:
同样的,使用聚合SDK之后,游戏和渠道SDK之间要彻底解耦;所以,聚合Server中我们需要将游戏服务器和渠道SDK服务器之间的直接交互,变成聚合Server和渠道SDK服务器的交互。 我们看下U8SDK中统一支付流程设计:
我们通过对比两个支付流程图可以清晰地发现:新的流程中,通过聚合Server将游戏服务器和渠道SDK服务器彻底解耦;每个渠道SDK功能变化,都不影响游戏服务器。我们再发个顺序图,可以更直观地看下整个流程:
通过上面的分析,我们大概已经清楚,聚合SDK框架中需要实现的功能以及相关流程。那么接下来,我们就会具体的来实现每一个部分:包括抽象层SDK接入框架,一键打包工具,聚合Server,渠道SDK的接入等。
我们在B站录制了视频教程,如果您对U8SDK手游联运聚合SDK感兴趣, 可以看下: U8SDK视频教程
同时,如果您也对手游聚合SDK开发感兴趣,也欢迎关注U8SDK技术博客: wwwuustorycom , 或者可以加入我们的聚合SDK技术交流QQ群:207609068(1600+手游SDK相关技术人员)
SDK一般指软件开发工具包。
软件开发工具包一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。
为了鼓励开发者使用其系统或者语言,许多SDK是免费提供的。软件工程师通常从目标系统开发者那里获得软件开发包,也可以直接从互联网下载,有时也被作为营销手段。例如,营销公司会免费提供构建SDK 以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。
扩展资料:
SDK的隐私风险
2019年11月,上海市消费者权益保护委员会委托第三方公司对一些手机软件中的SDK插件进行了专门的测试,却发现一些SDK暗藏玄机。它们会读部设备的IMEI、IMSI、运营商信息、电话号码、短信记录 、通讯录、应用安装列表和传感器信息。
这些APP里的SDK来读取用户的隐私信息只是第一步,读取完成后,还会悄悄地将数据传送到指定的服务器存储起来。
北京招彩旺旺信息技术有限公司的SDK,甚至涉嫌通过菜谱、家长帮、动态壁纸等多款软件,窃取用户更加隐私的信息。因为SDK能够收集用户的短信,以及应用安装信息,一旦用户有网络交易的验证码被获取,极有可能造成严重的经济损失。
媒体服务器。mediasdkserver是一款Android平台的应用的媒体服务器。媒体服务器是一款能够让用户借助于电视机等大屏幕设备来播放 Android 手机中的视频、音乐等媒体文件的软件,能够将你的Android设备(手机、平板电脑)变成一部移动的媒体资料库,不需要额外的硬件支持,不需要电缆。
官方sdk文档
推荐使用方式一: Cocoapod方式引入百川SDK,快捷方便;
参考 百川的demo ,配置完成后项目文件如下图
关于淘宝客参数,pid、adzoneId在哪里获取,可以参考
如何获取PID
如何获取adzone_id
如何获取appkey
没有安装手淘和天猫时遇到界面异常问题
淘宝客资料
接入电商sdk必看
淘宝客推广者备案新手指南
淘宝联盟API权限的申请
0条评论