新闻| 文章| 资讯| 行情| 企业| wap手机版| article文章| 首页|会员中心|保存桌面|手机浏览
普通会员

高密市问兰科技有限公司

企业列表
新闻列表
  • 暂无新闻
推荐企业新闻
联系方式
  • 联系人:李女士
首页 > 新闻中心 > Android 手游聚合SDK小知识(一)
新闻中心
Android 手游聚合SDK小知识(一)
发布时间:2024-11-13        浏览次数:0        返回列表

Android 手游聚合SDK小知识(一) Android 手游聚合SDK小知识(二) 聚合分包

Android 手游聚合SDK小知识(一)

回头想想,在安卓游戏SDK这个领域,我也呆了4年了,从啥都不懂的小菜鸟,逐渐靠自己不断学习,对这个行业也算有了一些理解,趁着最近有空,我想了一下,还是把最近这几年对游戏SDK聚合的一些理解分享出来给大家,希望能和大家一起进步。PS:目前我做的聚合SDK只能适用于国内,海外谷歌包用的是aab,并且海外渠道sdk资源引用时经常不使用反射,所以海外SDK目前我还没想出来如何聚合,希望有朋友能解决这个问题分享给我。

一个游戏需要庞大的用户量,毕竟玩的人越多,越多人充值,老板就赚得越多,你的工资奖金才能越多嘛,这时候就需要接入一些第三方渠道,让他们帮你进行有偿推广,这些第三方渠道拥有大量用户,可以帮你进行迅速的起量,让大家都去玩你的游戏。

我们可以接入一些联运SDK渠道,使用他们的渠道来帮我们推广游戏百度、360、应用宝,Huawei、OPPO,包含了最核心的登陆、支付等体系。如果接入了这些渠道,就可以使用他们的SDK服务(登陆、支付等)。 当然了,使用这些联运渠道,一般情况下都是要与对方分成的,充值的时候吊起来的是对方的充值界面,先充到对方的账户上,再进行分成,一般来说分成比例从37开到19开不等。

如同上面说的,联运SDK需要与渠道方分成,而且分成比例极高,这个时候如果老板自己有稳定的推广渠道,就可以使用自有的SDK,说白了,自有SDK和联运渠道SDK本质上没什么区别,也拥有登录、支付等一系列体系,只不过它属于发行公司内的的SDK,使用自有的SDK就可以100%收入归自己了,但是相应的,推广的成本也要自己掏,这里就不赘述了。 内部SDK可以封装在聚合SDK中,也可以单独写成一个moudle,我这里是单独写成了一个moudle,用的时候打包成aar,和聚合sdk一起给cp接入,cp接入后就可以吊起我们自有的SDK,完成登录支付等一系列操作,后续我再将包用脚本进行渠道分包。

游戏研发也就是专门开发游戏的公司,一般称为CP。

在游戏行业中,聚合SDK可以理解为一个中间层,一个桥梁,作用是沟通游戏CP和渠道SDK。 聚合SDK = 聚合层接口 + 渠道SDK(或者是自有SDK) 使用聚合SDK,聚合层接口不变,变得是渠道SDK,可以在游戏接入一次聚合SDK后,用脚本自动反编译回编译,替换掉渠道SDK代码,实现一包多渠道,减少CP方的工作量。

图中是游戏未接入聚合SDK的情况下,调用登录逻辑。 在这里插入图片描述

  1. 游戏客户端调用SDK客户端的登录API进行登录,SDK客户端会拉起登录界面
  2. SDK客户端在登录界面输入账密或调用第三方登录
  3. SDK服务端校验登录信息成功,返回userID和token给SDK客户端
  4. SDK客户端通过回调将userID和token返回给游戏客户端
  5. 游戏客户端获取到token和userID后,将其传给游戏服务器端
  6. 游戏服务器将数据传给SDK服务器进行校验
  7. 校验通过,游戏服务器将用户的账户信息返回给游戏客户端
  8. 游戏客户端登录成功

上面的步骤解释了游戏和渠道SDK的交互逻辑,理论上CP是可以直接接入SDK渠道的,但是,目前有一个问题,那就是如果有多个SDK渠道怎么办,目前国内大大小小的渠道有上百个,如果要将这上百个渠道挨个接入,这里面的工作量想必巨大无比,需要占用游戏研发非常多的工作时间,那么有没有这么一种方法,游戏研发接入一遍就可以实现完成多个sdk渠道的上架呢,这时候,聚合SDK就应运而生了。 聚合SDK只有一个,游戏研发只用接入一个聚合SDK,然后剩下都交给聚合方,由聚合方进行分包上架。 下图是加入聚合SDK后的登录逻辑在这里插入图片描述

1、初始化 Application 的初始化,让CP使用或继承我们的Application,我们再继承渠道方的Application。 Activity中的init方法。 2、登录 统一登录接口,接收渠道方的登录回调参数,再将登录回调参数去聚合服务器校验,通过校验后,聚合服务器返回token和userID,聚合SDK再将参数传给游戏客户端,由游戏客户端和服务器完成登录校验。

 

3、支付 4、注销(切换账号) 5、生命周期

 

6、退出

 

7、数据上报

  1. 创建角色
  2. 角色升级
  3. 进入游戏
  4. 选择区服 这些场景一般是接收游戏传递过来的数据上报到渠道或聚合sdk中,用于数据统计用
 

8、实名认证接口

1、尽量少使用第三方开源库,避免和cp引入的依赖发生冲突 2、命名规范 聚合SDK中可能会使用string、color、布局文件等资源,如果和cp或渠道sdk发生重名会很麻烦,会导致合并资源的时候发生冲突。所以一般来说,资源等命名,都需要加上自己独特的前缀,避免冲突,例如

 

如果不加上 houruoyu_作为前缀的话,很容易冲突。 3、聚合SDK中使用资源索引(R.java),会导致合包的时候资源冲突,或者缺失资源等问题。 解决方法:所有涉及到R.java资源的引用,统一使用context.getResources().getIdentifier(“资源名”, “资源类型”, “包名”); 4、回调统一 建议在初始化处,统一做回调处理,例如