当前位置: 首页 > news >正文

衢州市网站建设_网站建设公司_论坛网站_seo优化

免费优化网站的软件,uniapp开发者中心,建立网站需要多少钱经营y湖南岚鸿非常好,微信网站留言板如何制作Android 手游聚合SDK小知识(一) Android 手游聚合SDK小知识(二) 聚合分包 前言 回头想想#xff0c;在安卓游戏SDK这个领域#xff0c;我也呆了4年了#xff0c;从啥都不懂的小菜鸟#xff0c;逐渐靠自己不断学习#xff0c;对这个行业也算有了一些理解#xff0c;趁着…Android 手游聚合SDK小知识(一) Android 手游聚合SDK小知识(二) 聚合分包 前言 回头想想在安卓游戏SDK这个领域我也呆了4年了从啥都不懂的小菜鸟逐渐靠自己不断学习对这个行业也算有了一些理解趁着最近有空我想了一下还是把最近这几年对游戏SDK聚合的一些理解分享出来给大家希望能和大家一起进步。PS目前我做的聚合SDK只能适用于国内海外谷歌包用的是aab并且海外渠道sdk资源引用时经常不使用反射所以海外SDK目前我还没想出来如何聚合希望有朋友能解决这个问题分享给我。 1、渠道SDK 一个游戏需要庞大的用户量毕竟玩的人越多越多人充值老板就赚得越多你的工资奖金才能越多嘛这时候就需要接入一些第三方渠道让他们帮你进行有偿推广这些第三方渠道拥有大量用户可以帮你进行迅速的起量让大家都去玩你的游戏。 1.1、联运渠道SDK 我们可以接入一些联运SDK渠道使用他们的渠道来帮我们推广游戏百度、360、应用宝Huawei、OPPO 等包含了最核心的登陆、支付等体系。如果接入了这些渠道就可以使用他们的SDK服务登陆、支付等。 当然了使用这些联运渠道一般情况下都是要与对方分成的充值的时候吊起来的是对方的充值界面先充到对方的账户上再进行分成一般来说分成比例从37开到19开不等。 1.2、自有SDK渠道 如同上面说的联运SDK需要与渠道方分成而且分成比例极高这个时候如果老板自己有稳定的推广渠道就可以使用自有的SDK说白了自有SDK和联运渠道SDK本质上没什么区别也拥有登录、支付等一系列体系只不过它属于发行公司内的的SDK使用自有的SDK就可以100%收入归自己了但是相应的推广的成本也要自己掏这里就不赘述了。 内部SDK可以封装在聚合SDK中也可以单独写成一个moudle我这里是单独写成了一个moudle用的时候打包成aar和聚合sdk一起给cp接入cp接入后就可以吊起我们自有的SDK完成登录支付等一系列操作后续我再将包用脚本进行渠道分包。 2、游戏研发(CP) 游戏研发也就是专门开发游戏的公司一般称为CP。 3、聚合SDK 在游戏行业中聚合SDK可以理解为一个中间层一个桥梁作用是沟通游戏CP和渠道SDK。 聚合SDK 聚合层接口 渠道SDK(或者是自有SDK) 使用聚合SDK聚合层接口不变变得是渠道SDK可以在游戏接入一次聚合SDK后用脚本自动反编译回编译替换掉渠道SDK代码实现一包多渠道减少CP方的工作量。 图中是游戏未接入聚合SDK的情况下调用登录逻辑。 游戏客户端调用SDK客户端的登录API进行登录SDK客户端会拉起登录界面SDK客户端在登录界面输入账密或调用第三方登录SDK服务端校验登录信息成功返回userID和token给SDK客户端SDK客户端通过回调将userID和token返回给游戏客户端游戏客户端获取到token和userID后将其传给游戏服务器端游戏服务器将数据传给SDK服务器进行校验校验通过游戏服务器将用户的账户信息返回给游戏客户端游戏客户端登录成功 上面的步骤解释了游戏和渠道SDK的交互逻辑理论上CP是可以直接接入SDK渠道的但是目前有一个问题那就是如果有多个SDK渠道怎么办目前国内大大小小的渠道有上百个如果要将这上百个渠道挨个接入这里面的工作量想必巨大无比需要占用游戏研发非常多的工作时间那么有没有这么一种方法游戏研发接入一遍就可以实现完成多个sdk渠道的上架呢这时候聚合SDK就应运而生了。 聚合SDK只有一个游戏研发只用接入一个聚合SDK然后剩下都交给聚合方由聚合方进行分包上架。 下图是加入聚合SDK后的登录逻辑 4、聚合SDK对外接口及注意事项 1、初始化 Application 的初始化让CP使用或继承我们的Application我们再继承渠道方的Application。 Activity中的init方法。 2、登录 统一登录接口接收渠道方的登录回调参数再将登录回调参数去聚合服务器校验通过校验后聚合服务器返回token和userID聚合SDK再将参数传给游戏客户端由游戏客户端和服务器完成登录校验。 /*** 登录方法* param activity 上下文环境*/public void login(Activity activity){Log.v(TAG,进入登录);}3、支付 4、注销切换账号 5、生命周期 /*** onCreate生命周期方法* param activity*/public void onCreate(Activity activity, Bundle savedInstanceState){Log.v(TAG,进入onCreate);Log.v(TAG,onCreate执行完成);}/*** onResume生命周期方法* param activity 之前的塔防版署包这里是context*/public void onResume(Activity activity){Log.v(TAG,进入onResume);Log.v(TAG,onResume执行完成);}/*** onPause生命周期方法* param activity 之前的塔防版署包这里是context*/public void onPause(Activity activity){Log.v(TAG,进入onPause);Log.v(TAG,onPause执行完成);}/*** onDestroy生命周期方法* param context*/public void onDestroy(Context context){Log.v(TAG,进入onDestroy);Log.v(TAG,onDestroy执行完成);}/*** onRestart生命周期方法* param context*/public void onRestart(Context context){Log.v(TAG,进入onRestart);Log.v(TAG,onRestart执行完成);}/*** onStart生命周期方法* param context*/public void onStart(Context context){Log.v(TAG,进入onStart);Log.v(TAG,onStart执行完成);}/*** onStop生命周期方法* param context*/public void onStop(Context context){Log.v(TAG,进入onStop);Log.v(TAG,onStop执行完成);}6、退出 /*** 退出游戏弹窗*/public void exitGame(Context context){}7、数据上报 创建角色角色升级进入游戏选择区服 这些场景一般是接收游戏传递过来的数据上报到渠道或聚合sdk中用于数据统计用 Map map new HashMap();map.put(uid, 123456); //角色idmap.put(server_id, 310); //区服idmap.put(server_name, houruoyu333); //区服名称map.put(role_id, 1225883); //角色idmap.put(role_name , houruoyu); //角色名称map.put(role_level, 3); //角色等级map.put(game_name, ); //游戏名称map.put(role_type, 战士); //角色职业map.put(vip_level, 13); //vip等级map.put(game_money, 999); //玩家拥有金币数量map.put(create_role_time, Long.valueOf(1616136064)); //创角时间map.put(level_up_role_time, Long.valueOf(1616136064)); //升级时间map.put(has_gold, 3000); //补充字段8、实名认证接口 5、聚合SDK规范 1、尽量少使用第三方开源库避免和cp引入的依赖发生冲突 2、命名规范 聚合SDK中可能会使用string、color、布局文件等资源如果和cp或渠道sdk发生重名会很麻烦会导致合并资源的时候发生冲突。所以一般来说资源等命名都需要加上自己独特的前缀避免冲突例如 string namehouruoyu_app_online登录/string如果不加上 houruoyu_作为前缀的话很容易冲突。 3、聚合SDK中使用资源索引(R.java),会导致合包的时候资源冲突或者缺失资源等问题。 解决方法所有涉及到R.java资源的引用统一使用context.getResources().getIdentifier(“资源名”, “资源类型”, “包名”); 4、回调统一 建议在初始化处统一做回调处理例如 HouruoyuSDK.getInstance().init(this, new Callback(){Overridepublic void onInitSuccess() {//初始化成功}Overridepublic void onInitFailed() {//初始化失败}Overridepublic void onLoginSuccess(User user) {//登录成功}Overridepublic void onLoginFailed(String msg) {//登录失败}Overridepublic void onLoginCancel() {//登录取消}Overridepublic void exitGame() {//退出游戏}});
http://www.lebaoying.cn/news/90992.html

相关文章:

  • WordPress全站广告山西大同网站建设
  • 维护一个网站难吗公司网站内容相近
  • 网站开发时间表ks3c ks4c做网站
  • 适合做网站的软件有哪些discuz 网站备案信息代码
  • 诸城网站建设报价网站的技术解决方案
  • 自己做的网站加载慢的原因企业咨询管理公司
  • 免费咨询医院石家庄优化公司哪家好
  • 如何制作网站app怎么自己做游戏软件的app
  • 怎么用大淘客做网站毕节做网站优化
  • 手机网站建设服务商wordpress免费企业主题
  • 防红短链接生成接口地址网站推广优化怎样
  • 响应式网站视频管理网站英文
  • 北京网站建设推广服务信息营销型网站首页模板
  • 龙岩网站建设要多少费用手机网站制作公司
  • 黄岛王台有做网站的吗wordpress wp_links
  • 大型购物网站服务器企业建设网站找网站公司吗
  • 营销型网站设计文章mvc做的网站
  • 网站打开空白 重启iis就好了海南网络广播电视台直播海南
  • 企业网站源码推荐网站布局的三种基本方法
  • 天津市建设厅网站123logo设计
  • 网站策划的重要性网站建设的市场容量
  • 网站开发慕枫精选网页设计
  • 响应式网站模板的特点内容营销的方式
  • 如何分析对手网站关键词建站工具 phpwind
  • 网站添加备案号设计购物网站
  • 网站的线下推广怎么做做网站服务器一年多少钱
  • 沈阳做网站优化百度站长资源
  • 半岛建设公司网站福州建站免费模板
  • 主流的网站开发语言在家怎么利用电脑赚钱
  • 天津做网站企业自建网站怎么做推广