一直在纠结是先写框架设计还是先写掉过的坑,最后本这娱乐大众的态度先写掉过的坑让大家乐呵下。

项目开发过程中遇问题无数,回顾下8个大坑照成了项目一定程度上延期甚至返工。

  1. 项目一开始几个人把现有3家主流的产品(1接,棱镜,AnySDK)研究了一遍。没想先在这里就进坑了。在研究了几天后发现这3家虽推出有一定时间,但都是以第三方服务角度设计和开发的产品,与需求不符。
  2. 版本管理、和流程管理等内容因为运营人员更替一直在调整,直到我提出需要加价才做吧。需求上快把打包工具做成OA系统了,删除了于渠道、游戏、运营无关的需求后,也花了近2个月才完成。
  3. 服务端指望一个项目里面集成所有渠道解决问题,被证实是不可能完成的,将所有功能和渠道都才分为服务或模块并解除了耦合后才得以继续。
  4. 事实上要带领一群菜鸟完成开发工作,高大上的设计很蛋疼,要简单、简单、再简单。
  5. 最初设计出包需要经过反编译,然后插入渠道SDK内容,再编译成分包。因为市面上聚合SDK产品都是采用这个模式,所以我们理所当然的跟这走了,为了攻克反编译及整合资源花了好几周时间。最后发现被带沟里了。在调研typesdk这个开源项目时发现,里面直接使用Unity导出的项目工程进行原生编译出包,避免了反编译带来的问题和隐患,想想也对我们有项目源码和渠道接入源码,干嘛吃撑了去反编译。
  6. 最初设计框架封装很全面,所以灵活性很低。但自己开发的产品需要更高的灵活性。因为买来的东西遇到需求时你只要说没这功能就完了,自己开发的产品就需要和产品运营撕B。
  7. 因为时间就是金钱,框架设计一完成就急于接入渠道SDK,最后部分渠道SDK因为于设计的接口不兼容被放弃,应该先调查完成所有渠道是否兼容设计后才开始接入。
  8. 上线游戏开发组不愿意修改充值逻辑,认为会影响效率和稳定性,项目上线后就被刷充值,都说高手在民间,不能有任何侥幸心理。后来在所有充值和登录相关接口都加上了主动校验、被动校验和防刷机制。

其他小问题这里就不说了,都是google、百度可以解决的问题。其实最后typesdk这个开源项目对我们的启发很大。我这里不能提供我项目的代码,但有兴趣的猿类可以看看typesdk的项目(https://code.csdn.net/typesdk_code

下期预告《手机游戏渠道SDK接入工具项目分享(四)设计简单才是美》

手机游戏渠道SDK接入工具项目分享(三)拨开云雾是个坑的更多相关文章

  1. 手机游戏渠道SDK接入工具项目分享(二)万事开头难

    一般接到任务后程序员们通常都开始着手进行技术调研了,但我这活是项目负责人.还有一大堆事情要先期准备,没人能帮忙. 一.人力配置 考虑的之前已经有一波人搞了大半年,但没有起色,先期也没有太大人力需求,所 ...

  2. 手机游戏渠道SDK接入工具项目分享(一)缘起

    #剧情章节 # 上周刚结束一个外包的项目,开发手机游戏渠道SDK聚合接入工具的,现在有空回顾整理一下这个项目开发过程,因涉嫌商业秘密不会提供项目代码,只谈下开发思路和掉过的坑. 本人多年从事手机互联网 ...

  3. 统一SDK接入(U8SDK)——总体思路和架构

    题记:很多做游戏开发的人,估计都或多或少地接过渠道SDK,什么UC,当乐,91,小米,360……据统计国内市场当前不下于100家渠道,还包括一些没有SDK的小渠道.每个渠道SDK接入的方法呢,多是大同 ...

  4. 项目分享五:H5图片压缩与上传

    一.简介 图片的压缩与上传,是APP里一个很常用的功能.我们来年看 ChiTuStore 是怎样做的.相关文件 App/Module/User/UserInfo.html,App/Module/Use ...

  5. 【Unity游戏开发】SDK接入与集成——小白入门篇

    一.简介 通常一款游戏开发到后期,一般都会涉及到第三方SDK的接入与集成,对于不熟悉SDK接入的同学来说,接SDK每次都是云里雾里,而熟悉SDK接入的同学又觉得不断地重复做接入SDK工作这样没有成就感 ...

  6. unity3d如何快速接入渠道SDK之Unity篇

    原文链接: http://bbs.tianya.cn/post-414-53320-1.shtml 首先我们讲一下,为什么要介绍这个插件? 是因为这个插件极大的简化了我对接渠道SDK的工作量,精力和时 ...

  7. cocos2d-x -- 渠道SDK【棱镜】接入(1)

    棱镜SDK简单介绍 若想让游戏上线,渠道接入步骤是不可缺少的,为了避免一对一接入渠道问题,我选择了棱镜SDK,由于棱镜是游戏与渠道SDK的中间层,为CP厂商屏蔽各个渠道SDK之间的差异,整个接入过程, ...

  8. 教你高速高效接入SDK——Unity统一接入渠道SDK(Android篇)

    U8SDK的设计之初,就是为了可以支持各种游戏引擎开发的游戏,而不不过Android的原生平台.眼下一大半的手游,都是採用Unity3D和Cocos2dx开发,那么这里,我们就先来一步步给大家演示,用 ...

  9. android手机游戏开发Cocos2d-x开发分享

    我想现在应该没有人没有玩过手机游戏了吧,当然所有人都玩过,但不是所有人都知道怎么去开发手机游戏,因为许多人都感觉做开发是一件很困难的事儿,身边的朋友也对此感觉难度很大.但是,现在我可以告诉你,手机游戏 ...

随机推荐

  1. SQLSERVER中NULL位图的作用

    SQLSERVER中NULL位图的作用 首先感谢宋沄剑提供的文章和sqlskill网站:www.sqlskills.com,看下面文章之前请先看一下下面两篇文章 SQL Server误区30日谈-Da ...

  2. mono for android Json 上传文件

    void button_Click(object sender, EventArgs e) { string Url = "上传地址,服务器端负责接收"; byte[] fbyte ...

  3. subline text3 使用总结

    安装:http://www.sublimetext.com/3 插件扩展:  安装package control组件 按Ctrl+`调出console(注:安装有QQ输入法的这个快捷键会有冲突的,输入 ...

  4. Azure Queue Storage 基本用法 -- Azure Storage 之 Queue

    Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob.Queue.File 和 Table. 笔者在<Azure File Storage 基 ...

  5. 关于python中的flush问题

    今天写了一个控制台下的进度条小程序,遇到了关于flush的问题,在这里小小的总结一下. 首先在要flush的字符串必须后边加上'\r'(回车) 将数据送入缓冲区这样在新打印字符的时候就可以将原来的显示 ...

  6. Vim常用命令

    一.插入命令 a 在光标所在字符后插入A 在光标所在行尾插入i 在光标所在字符前插入I 在光标所在行首插入o 在光标下插入新行O 在光标上插入新行 二.定位命令 :set nu 设置行号:set no ...

  7. RowVersion数据类型

    RowVersion数据类型是系统自动生成的,唯一的,二进制数字,数值和binary(8)相同,RowVersion通常用作给Table的数据行加版本戳,存储大小为 8 个字节.RowVersion数 ...

  8. JavaScript权威设计--Window对象(简要学习笔记十三)

    1.Window对象是所有客户端JavaScript特性和API的主要接入点. Window对象中的一个重要属性是document,它引用Document对象. JavaScript程序可以通过Doc ...

  9. div中设置滚动条的问题

    <div srtle="width:100px;height:50px;"></div> 这样的一个div,当文本超出的时候我们就会设: overflow: ...

  10. 原生JS封装Ajax插件(同域&&jsonp跨域)

    抛出一个问题,其实所谓的熟悉原生JS,怎样的程度才是熟悉呢? 最近都在做原生JS熟悉的练习... 用原生Js封装了一个Ajax插件,引入一般的项目,传传数据,感觉还是可行的...简单说说思路,如有不正 ...