TYPESDK手游聚合SDK客户端设计思路与架构的五:渠道sdk额外功能兼容性设计

引言:本文旨在提供读者制作一个投机的聚合sdk的思绪,抛砖引玉,让还多之读者对聚合sdk有还好的亮。

摘要:
TypeSDK,一个开源之合手游渠道SDK接抱框架,拥有80只全世界渠道,具备快速出包、分布式打包、分权限管理、产品数据打点等效果。

      
手游渠道多,相对的水道sdk需求更是千七百怪。聚合sdk的底蕴框架包含了手游渠道通用的多数效应接口。但是随着活动装备操作系统的轮流,ios每年一个不行版,安卓每年多个本子,越来越多的新体系功能在到了手游sdk中。相呼应的为配合现在以及前底这些额外功能接口。我们需要规划相同拟针对渠道sdk额外功能兼容的模块出。

经历了条星星年之爆发以后,手游也与端游、页游一样,进入了一个净利润变薄、产业重组的过渡期。除了那些从生渠道的挺厂商,如何找到新的用户来源始终是中小CP面临的尽要命题材,解决办法目前总的来说只有不断新接抱渠道即无异于长条。这就算催生了同等长新题材,接渠道为是相同起十分耗时耗力的办事,里面各种危机暗藏。这便是干吗做了4年手游CP的星渠,转型去举行统一渠道SDK接抱框架——TypeSDK,实在是盖过去4年里搭渠道吃过极端多痛苦了。
 

       额外功能兼容模块主要是用来解决通用的聚合sdk框架所未克满足的要求。

图片 1

       我们针对郎才女貌模块划分了相应的以下几个子模块

 

              1.额外功能接口的管住框架

时间

为何第一独问题虽是时空?因为时对于中小CP来说最重要了,全国登记注册的手游CP在2014年时即发出20万家,每天新上架的游乐有50+款之多,众多中小手游CP在沟渠导量能力并不过大厂商的事态下,只能和时光赛跑,早上线一致龙多如出一辙家沟即差不多同线存活的期。那么相同员生3年左右经历的程序员接一个沟SDK要费多少时也?据统计是日子至少是3单钟头。而眼前境内比较主流的安卓渠道大约发生80-100寒,CP需要花费300单钟头来衔接这些渠道,这还不包调试、修改的日。中小CP有没发生这个人工去开事情未说,光时资产就是一个手游新产品所不可知经受之。花一个月份的日子去接渠道?这一个月份的时光还足够折腾好好十几单稍CP的了。当年TypeSDK成员所于的CP,就时有发生赶不及上线,最终无力承担开支最终倒闭的。

 
图片 2

TypeSDK的造作初衷就是是为中小CP彻底摆脱时间的赘,所有的水道确保都能够一键快速出包,且可见到图形化操作。这样以节省时间成本的衍,因为不待极正统的口来承担渠道及时同技术含量简单而干燥的做事,还会省下未丢掉人力资本,这样CP就可管正规化的浓眉大眼投入到又得他们之做事屡遭失。

              2.额外功能接口的联合继承基类

安全

倘TypeSDK能解决时即同样题目,接踵而至的即使是高枕无忧问题。没有CP愿意把好的制品参数、运营数量暴露在他,这就是是事先发生过多叔在接抱工具能迎刃而解相关的题目,但中小CP不敢使用的原因。作为中小CP本来我筹码就无多,如果自己之制品参数、运营数量、流水营收都捏在第三正在平台手里的话,那安全性根本无从谈起。

倘TypeSDK在研发的初即做出了TypeSDK代码永久开源之应,代码开源意味着什么?它意味着,CP可以以内网环境搭建SDK打包服务器,出包后有的多寡为截然不会见经TypeSDK之手流到第三正在手里去。一言蔽之,TypeSDK等于是CP自己开发出来的运营工具,CP完全不用担心自己之玩耍代码泄露、产品数量外流、营收流水被绑架这些问题。

              3.对额外功能的系部署文件

渠道

末了咱们吧一样游说渠道,这即使打TypeSDK为什么而吃联合渠道SDK接抱框架说打,有召开过渠道接入的爱人或清楚森分外渠道是不容CP使用第三着聚合SDK接入的,就是咱们经常说的聚合SDK。渠道怎么拒绝聚合SDK?还是为上文所说之安全性,作为渠道他们盼望团结和CP的协作越来越单纯,减少第三正在的厕。CP作为一个产品提供者,经由渠道用产品发布暨玩家,本身即是符合互联网经济“减少中间层、降低渠道成本”理念的。如果还入一个聚合SDK,这本身并非产业链关键,且仅是手游运营工作受到的细分项目还来分一杯羹的言辞,CP和渠道对它如此排斥也就是不难理解了。这即是干吗TypeSDK要受联合渠道SDK接抱框架,而休是聚合SDK的原由。

下TypeSDK的言语,就非需操心吃渠道拒包了,TypeSDK的开源属性就控制了渠道不见面认为就是由聚合SDK打出去的渠道包。另外TypeSDK的研发人员,都是以CP工作连年经久不衰与渠道接触的一致居多口,他们一早就将各个渠道的底细要求都融合到TypeSDK中错过矣,CP再为未待以局部本角标大小、图片尺寸等稍题目达成数修改延误工期了。
 
图片 3

       针对额外功能接口的军事管制框架,我们需要去贯彻以下几只力量点

免费

而一个叔在SDK接抱工具,它免费、开源、安全,出一个水道保险就需要5分钟,TypeSDK还整合了又多之作用,比如设计简洁方便二次开发、可以构建由生通框架、分权限管理职能、分布式批量封装出包等等

              1.1对外提供一个联的接口,可以因函数叫作调用函数

下载

GIT下载:https://code.csdn.net/typesdk_code
GIT下载:https://github.com/typesdk

 

             
1.2方可加于差不多单附加功能模块,并且这些功能模块允许存在一样函数名

             
1.3外表调用统一之接口,内部可以而且实行多单与函数称呼不同模块的接口

              1.4 遥相呼应之来一致法配置表的分析方法

       针对统一之后续基类

              我们主要声明一个由此函数名调用接口的函数就可以了

       针对额外功能的布置文件   

              1.1得掌握,我们需要加以在那些模块的泪飙

              1.2 单个模块中,需要能够填写类名,以及appid,appkey等参数

              1.3 单个模块中,需要能够支持额外的参数配置,比如url地址

 

@interface TypeSDKPlug : NSObject<UIApplicationDelegate>
    {
      NSMutableArray* m_pPlugArr;
      NSMutableArray* m_pPlugSetArr;
    }

    +(TypeSDKPlug*)GetIns;

    -(NSString*)DoAnyFunction:(NSString *)_funcName withArgs:(NSString *)_json_string;

  

       我们来拘禁下相关的代码设计(以ios部分实现啊条例)

       管理框架.h文件中的宣示

       其中NSMutableArray*
m_pPlugArr;是故来囤额外开展功能模块对象的器皿
       NSMutableArray* m_pPlugSetArr; 是分析出的布文件

       +(TypeSDKPlug*)GetIns;获取管理器的单例对象方法

       -(NSString*)DoAnyFunction:(NSString *)_funcName
withArgs:(NSString *)_json_string;
是因函数叫做来施行额外功能模块的主要接口在安卓饱受,可以通过反射来实现就无异效能,ios中苹果为我们提供了系的动态创建对象函数(performSelector: 
withObject:)

       我们来拘禁下有关的重大实现逻辑

              2.1朗诵博当地的配备文件

             
2.2因部署文件读取到的附加模块对象类名,创建额外模块对象,并且将这些模块对象存储起来

              2.3拿读取到的配置文件也蕴藏起来

              2.4 当调用统一之接口时,会遍历存储在m_pPlugArr
每一个外加模块对象,首先根据安排表查看该模块的是否禁用该接口,然后检查该接口在拖欠目标被是否有,当是时时,单独的尽该额外模块对象的接口。

       相关配置文件举例

点击(此处)折叠或打开

"PlugList": [
{
"plug_id": "1",
"plug_name": "chartboost",
"plug_class_name": "Plug_chartboost",
"plug_class_data": "null",
"plug_app_key": "123",
"plug_app_key_extra": "",
"plug_app_id": "456",
"plug_app_id_extra": "",
"plug_local_data": "null",
"plug_local_data_extra": "null",
"plug_show_regular": "null",
"plug_supports": "null",
"plug_requires": "null",
"plug_function_list": [
{
"plug_function_name": "func1",
"plug_function_right": "0",
"plug_function_arg_value": "",
"plug_function_arg_type": ""
}

  

      
额外模块的领导者,配置文件,和单个的附加模块实现类似,组成了我们sdk的额外模块进行与支撑之严重性架构。

       相关代码大家好交typesdk的官网上找到下载地址。

    这个项目曾经开源,大家来趣味可以团结研究要参照项目编制好的聚合SDK
    项目地址:https://code.csdn.net/typesdk_code
    项目地址:https://github.com/typesdk

发表评论

电子邮件地址不会被公开。 必填项已用*标注