TYPESDK手游聚合SDK客户端设计思路与架构之四:unity开发平台部分结构设计和思路

在上一篇《iOS平台接口设计及思路》中我们阐述了ios平台的接口结构和思路。在这里我们将阐述unity平台下的接口结构和思路。

unity平台是开发平台,我们的程序代码是在这个ide下堆叠的。unity端并不需要过多的考虑不同运行平台(安卓/iOS)上的底层机制是如何实现的,本身unity已经做了相应的处理,我们只需要知道自己当前的运行平台是什么样的,然后做好相关的平台差异

2.对不同运行平台(安卓/iOS)能自适配

化接口调用就行。

因为unity平台是开发平台,游戏渠道的差异性我们在运行平台(安卓/iOS)上做了处理,那么unity部分客户端,就不怎么需要关心渠道差异化的处理了。

一、那么我们还是照例,先看看想要设计的需求

1.调用简便

二、设计的模块

1.唯一的给外部调用接口模块

2.针对不同运行平台(安卓/ios/windows)的接口实现

三、具体的细节

如图所示的结构,我们在untiy主要实现了以下几个功能

1.游戏客户端的所有接口调用是通过typesdk类

2.typesdk会根据当前运行平台的不同,调用接口在不同平台上的实现逻辑

3.这些不同平台上的实现逻辑会跨平台调用原生环境的接口

4.原生环境所有的信息数据发送给typenotify类

5.typenotify类将相关数据转发给typesdk类

6.typesdk再将数据处理后反馈给游戏客户端

给到游戏调用的 typeSDK类中我们需要以下的接口定义

登录接口 public void InitSDK()

获取缓存在原生平台处的sdk用户数据 public U3DTypeBaseData GetUserData()

获取缓存在原生平台的渠道配置信息 public U3DTypeBaseData GetPlatformData()

登录接口 public void Login()

登出接口 public  void Logout()

支付接口 public string PayItem(U3DTypeBaseData _in_pay)

提交用户信息接口 public void UpdatePlayerInfo()

大退游戏接口 public void ExitGame()

根据函数名执行拓展函数接口 public void DoAnyFunction(string _func_name,U3DTypeBaseData _in_data)

我们可以通过类继承来实现不同的运行环境下调用不同的接口

在c#中,我们可以使用宏定义来实现这一功能,具体示例可以参考以下代码的例子

public class TypeSDK :
       #if UNITY_ANDROID
           Bonjour_Type_Common
       #elif UNITY_IOS
             Bonjour_Type_Common_IOS
       #elif UNITY_STANDALONE_WIN
          Bonjour_Type_Common_Win
       #else
         Bonjour_Type_Common_Win
       #endif
       {
       }

用来响应原生平台的数据传递类typenotify

因为unity本身已经对跨平台的数据接收做了很好的封装,只需要知道我们的脚本对象名字,其他平台就可以直接执行这个脚本内的函数,所以我们在设计聚合sdk时,做了如下的一些响应函数的定义

//登录成功响应
       public void NotifyLogin(string _in_data)
       //登出响应
       public void NotifyLogout(string _in_data)
       //支付结果响应
       public void NotifyPayResult(string _in_data)
       //初始化完毕响应
       public void NotifyInitFinish(string _in_data)
       //拓展函数回调响应
       void NotifyExtraFunction(string _json_string)

如此一来,整个流程就成型了一个完整的体系。从接口的调用,到跨平台数据的接收都有了相关的设计。

这个项目已开源,大家有兴趣可以自己研究或者参照项目编写自己的聚合SDK
项目地址:https://code.csdn.net/typesdk_code
项目地址:https://github.com/typesdk

时间: 2024-10-12 18:59:48

TYPESDK手游聚合SDK客户端设计思路与架构之四:unity开发平台部分结构设计和思路的相关文章

TYPESDK手游聚合SDK客户端设计思路与架构之二:安卓平台统一化接口结构及思路

在上一篇<TypeSDK聚合sdk设计基本原则>中我们提到了,设计聚合sdk需要设计开发平台部分的接口,以及设计发布平台的聚合这2个大模块.那么我们今天就先来讲讲发布平台之一:安卓平台的统一化接口结构和思路. 一.相关的需求 安卓平台的统一化接口,我们需要考虑到具体以下的几点: 1.对外需要有统一的接口,保证不同的渠道sdk 对同一个游戏来说,是调用相同的接口,传递相同的参数 2.对内需要有一套扩展性很好的框架,可以应对不同渠道的sdk差异性 二.设计的模块 那么针对这些考虑点,安卓平台的统一

TYPESDK手游聚合SDK服务端设计思路与架构之三:流程优化之订单保存与通知

经过前两篇文字的分析与设计,我们已经可以搭建出一个能够支持多游戏多渠道的聚合SDK服务端,但这只是理想化状态下的一个简化模型.如果接入渠道的逻辑都是按照理想化的简化过程来构建,那么对于支付的请求,我们可以简化成这样几步: 游戏客户端创建订单. 游戏客户端(通过TYPESDK客户端)调用渠道lib库中相应接口,发起支付. 用户在弹出的支付窗口完成支付. TYPESDK服务端等待渠道服务端的回调,收到回调后通知游戏服务端. 游戏服务端执行发货动作. 但是显然这个简化流程在实际上线时是不够满足需求的,

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

TYPESDK 服务端设计思路与架构之一:应用场景分析 作为一个渠道SDK统一接入框架,TYPESDK从一开始,所面对的需求场景就是多款游戏,通过一个统一的SDK服务端,能够同时接入几十个甚至几百个各种渠道的SDK.而且这些渠道接口的具体接入字段和接入逻辑,每个月以至每周,都可能发生或大或小的变动.在这样一个复杂的应用场景下,我们应该如何设计一个足够强大而又足够灵活的SDK服务端呢? 首先我们需要厘清,在整个应用场景中,TYPESDK所处的位置,以及它所需要实现的核心功能. 图1 如图1所示,T

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

摘要: TypeSDK,一个开源的统一手游渠道SDK接入框架,拥有80个海内外渠道,具备快速出包.分布式打包.分权限管理.产品数据打点等功能. 经历了头两年的爆发之后,手游也和端游.页游一样,进入了一个利润变薄.产业整合的过渡期.除了那些自有渠道的大厂商,如何找到新的用户来源始终是中小CP面临的最大问题,解决办法目前看来只有不断新接入渠道这一条.这就催生了一条新问题,接渠道也是一件非常耗时耗力的工作,里面各种危机暗藏.这就是为什么做了4年手游CP的星渠,转型去做统一渠道SDK接入框架--Type

手游渠道SDK建议标准

手游渠道平台纷乱芜杂,但提供的基本功能大同小异,这里就登陆和支付两个基本功能,提出一点标准化的建议,仅作为在接入了30+个渠道平台后的一点想法: *登陆 -过程: 游戏客户端-->渠道服务:申请本次登陆的渠道token {游戏ID} 渠道服务-->游戏客户端:返回本次登陆的渠道token {渠道token} 游戏客户端-->游戏开发商服务:提交 {渠道名,渠道的token,签名} - 签名方式常有:md5(渠道名,渠道token,) 游戏开发商服务-->渠道服务:验证签名,提交 {

与你共享,简单分享。ShareREC手游录像SDK公开下载!

与你共享,简单分享.ShareREC手游录像SDK公开下载,Mob团队开放工具包,让开发变得更简单.猛戳下载地址 http://rec.mob.com/

手游Apk破解疯狂,爱加密apk加固保护开发人员

2013年手游行业的规模与收入均实现了大幅增长,发展势头强劲.权威数据显示, 我国移动游戏市场实际销售收入从2012年的32.4亿猛增到2013年的112.4亿元,同比增长了246.9%,手游用户从2012年的8900万迅 速增长到2013年的3.1亿,增长幅度高达248.5%.来源!www.ijiami.cn 可是,在移动手游快速发展的同一时候,暴露出的手游破解问题也日益严重,手机游戏软件被破解后注入恶意代码.盗取用户財产.窃取用户设备信息的现象屡见不鲜.2014年1月,台湾易游网络有限公司旗

高效率完成一次接入80个手游渠道SDK——游戏接入SDK客户端篇

一.引言 通常,游戏开发商并不会只在一个渠道上线他们的游戏,接入越多的渠道,代表着可能获取越多的用户,但同时也代表着越多的接入SDK工作量.工期和费用.一款游戏要有足够的用户,甚至需要接入30家以上的各种渠道,以保障自己的市场覆盖率.单个SDK接入流程在一位有经验的全职客户端程序.一位全职服务端程序员.一位全职QA处理的情况下,需要3天时间才能完成.因此当一款产品面对30个甚至更多不同需求的渠道SDK时,人员成本和时间成本就会急剧增加. 所以我们需要一个通用接口,来处理各种渠道的需求,这就是统一

高效率完成一次接入80个手游渠道SDK——游戏接入SDK服务端篇

1 概要    通常,游戏开发商并不会只在一个渠道上线他们的游戏,接入越多的渠道,代表着可能获取越多的用户,但同时也代表着越多的接入SDK工作量.工期和费用.一款游戏要有足够的用户,甚至需要接入30家以上的各种渠道,以保障自己的市场覆盖率. 单个SDK接入流程在一位有经验的全职客户端程序.一位全职服务端程序员.一位全职QA处理的情况下,需要3天时间才能完成.因此当一款产品面对30个甚至更多不同需求的渠道SDK时,人员成本和时间成本就会急剧增加.所以我们需要一个通用接口,来处理各种渠道的需求,这就