聚合SDK开发思想

搞了一段时间的聚合SDK,对于APK的反编译也有了一定的了解,希望写下来做个记录也可以帮助到和我遇到同样问题的同学,后面会详细介绍如何做聚合sdk的开发和打包流程,以及打包中遇到的各种问题和解决,这是我的第一篇博客希望大家多多支持,谢谢!

所谓聚合其实就是把各个渠道同功能的接口统一为一个接口,例如ysdk的登录接口为YSDKApi.login(ePlatform.QQ);
联想的登录接口为LenovoGameApi.doAutoLogin();要把这两个接口统一那就得有一个基类接口,我们暂且给这个接口
定义为doLogin(),那游戏方接入sdk时只需要调用我们的doLogin()接口即可

有同学可能就会疑问,游戏调用我们的doLogin(),那我们怎么区分调用那个渠道的接口呢?这就得慢慢道来了

首先每一个渠道就是一个module,我们给每一个module定义一个同名的类,记得是同名的类,sdk所有的方法都是通过该类调用,当我们打包渠道的时候就会把同名的类覆盖掉,这样当游戏调用登录时就可以渠道的登录了,既然是覆盖,那
就得有个模拟的渠道,一是游戏接入我们的聚合sdk运行不会出错,二是为了方便游戏接入功能的检测。

聚合sdk的基类其实就是起到一个转化的作用,而后每个渠道都是一个module,每个module都有一个同名的类,游戏的调用就是通过该类调用渠道sdk方法,再通过打包工具把渠道的资源和相应的类替换掉,这就是聚合sdk的开发流程。

登录流程图:

登录流程

  1. 游戏调用聚合sdk登录接口
  2. 聚合调用相应的渠道登录接口,调起登录界面登录
  3. 渠道sdk去渠道服务器获取用户信息
  4. 渠道服务器把用户信息返回给渠道SDK
  5. 渠道sdk把信息回调给聚合SDK
  6. 聚合SDK去服务器获取用户信息(因为每一个渠道返回的信息各不相同,需要在聚合后台注册用户统一信息,同时做各 种统计和支付检验,等等等。。。所以不能直接把渠道返回的信息直接返回给游戏)
  7. 聚合服务器把用户信息返回
  8. 把数据回传给游戏

支付流程图:
这里写图片描述

  1. 游戏方把订单信息发送给聚合sdk
  2. 聚合SDK去聚合服务器获取订单信息
  3. 服务器回传订单信息给聚合sdk
  4. 聚合sdk再去渠道sdk生成订单
  5. 渠道SDK去渠道服务器生成订单
    6.渠道服务器把订单信息回调给渠道SDK
    7.渠道SDK把支付结果回调给聚合SDK
  6. 聚合SDK把支付结果告诉游戏

支付的验证是通过渠道SDK服务器回调聚合SDK服务器,聚合SDK服务回调给游戏服务器的,游戏校验订单的真实性进行发货

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值