美文网首页
手游联运SDK开发——避坑指南

手游联运SDK开发——避坑指南

作者: U8SDK | 来源:发表于2020-08-08 19:20 被阅读0次

如今我们在开发android app的时候, 基本都会用到各种第三方SDK库。 如果只是开发单纯的app,那么在评估是否使用这些第三方库的时候,我们并不需要那么纠结。

这篇文章,我们来说一说开发Android SDK插件,主要以手游联运SDK为例来说一说SDK开发过程中我们最好遵循的几个原则;当然,这里的原则,并不仅仅适用于手游联运SDK,也同样适用于其他领域的SDK,比如语音SDK,地图SDK等等。

如果您有过接其他SDK的经验, 可以回想一下,是否有在接入SDK的过程中遇到冲突的情况。 我们这里举一个在使用U8SDK接入渠道SDK时候遇到的一个案例:

我们在开发一款手机游戏,为了让手机游戏里面能够拥有实时语音的能力,我们接入了腾讯语音插件;终于接好了插件, 让游戏拥有了语音能力。然后开始要上一些联运渠道平台,上架手游联运平台的时候, 我们必须接入平台提供的联运SDK。我们以Oppo游戏商店为例,上架Oppo游戏商店之前,我们需要先在游戏中接入Oppo的联运SDK。接入的时候,我们就发现了难点:Oppo 联运SDK中依赖了android support 库;腾讯语音SDK也依赖了android support 库。 当我们尝试将两个SDK都接入到游戏中时,我们发现编译时,它们冲突了。

在上面这个例子中,这仅仅是冲突存在的可能之一,我们可能也可以通过技术手段解决这样的冲突。

但是我们开发的SDK,可能会提供给成千上万的开发者去使用, 我们并无法保证这些开发者所开发的游戏中是否有接入其他第三方SDK,或者本身是否有使用到这些第三方SDK。 所以,为了节省咱们自己的时间,也同样为了方便所有的开发者, 我们在开发SDK的时候, 就应该考虑到这些可能存在的情况。

在我们游戏开发过程中, 我们遇到很多次冲突的情况,其中总结下来最常见的不外乎以下几种情况:

1、不同的SDK依赖了相同的第三方库,而且第三方库的版本还不相同
2、SDK库中的资源文件或者定义和其他库中的资源文件命名冲突
3、SDK库中直接使用资源索引(R.java)的直接引用,导致游戏接入之后, 资源引用丢失的情况

当准备认真对待这些问题时, 我们就心中有数了。 针对上面这些问题,如果我们在开发SDK的时候提前意识到,其实都不难解决。 下面我们就针对这些问题一一提出对应的原则(或者叫解决方案)

1、不同的SDK依赖了相同的第三方库,而且第三方库的版本还不相同

原则1:在开发Android SDK插件时,特别是手游联运SDK时,我们应该尽可能地避免依赖过多的第三方库。
特别是一些知名的库,比如android support库,okhttp3, glide, eventbus等等。 如果您确实要使用,
也可以使用jarjar这样的工具将这些开源库的包名改为您自定义的名称。
同时,我们应该尽量避免因为某几个api就引入一个重量级的库。
这可能会导致我们最终的apk中因为方法数或者变量引用数超出65536而要拆分为多个dex,这会降低apk的运行效率。

2、SDK库中的资源文件或者定义和其他库中的资源文件命名冲突

原则2:资源文件都以固定的格式开头,比如u8_strings.xml,u8_layout.xml等。资源变量的命名同样如此。

3、SDK库中直接使用资源索引(R.java)的直接引用,导致游戏接入之后, 资源引用丢失的情况

原则3:所有对资源的引用,统一使用context.getResources().getIdentifier()的方式动态获取资源ID

通过遵循上面这些原则,开发的时候,您可能要多写不少代码。但是后面别人在接入您的SDK时, 出现冲突的概率将大大降低。这无疑增加了SDK的适用性和易接性。所以,这些努力也是值得的。

相关文章

  • 手游联运SDK开发——避坑指南

    如今我们在开发android app的时候, 基本都会用到各种第三方SDK库。 如果只是开发单纯的app,那么在评...

  • 手游海外联运SDK开发

    经过一段时间的开发和测试, 一套针对手游海外联运的SDK终于开发完成了。 一、开发准则 之前我们有说过, SDK开...

  • 鸿蒙 手游sdk 开发教程

    前言 : 各位同学的大家好 , 最近在学习鸿蒙开发, 因为我是从事手游SDK 开发的 之前也写过iOS 手游sdk...

  • 产品对接渠道流程(部分)

    小米 1. 联运游戏(新游接入、SDK接入、广告SDK接入、审核流程) 审核:新游上线、内测、更新、撤销、下架、删...

  • 攻略参考书,指南是告知

    五词故事:承诺、攻略、指南、吃亏、避坑 承诺要做到,攻略参考书,指南是告知,吃亏长经验,避坑是陷阱。 承诺要做到。...

  • 重疾险闭坑指南

    重疾险避坑指南 #避坑指南 #重疾险 坑一:重疾含身故 其实只能赔一个,赔了重疾,身故就赔不了了。保费贵,保障也没...

  • kotlin 开发手游SDK

    前言: 最近在学习kotlin 语言 然后因为工作是做手游SDK 开发的 之前都是用Java语言开发 现在想用k...

  • 学习笔记丨学技能丨新媒体运营之小红书

    今日学习时间:五十分钟左右 学习内容: 避坑指南:运营必看!必须知道的8大账号避坑指南 学习心得 今天的学...

  • 避坑指南

    001我思故我在 罗翔在节目《十三邀》中说过:人最大的痛苦就是无法逾越知道和做到的鸿沟。 诚然,这条鸿沟里躺着多少...

  • 梨花写作学习心得18

    【避坑指南】蹭热点避坑指南,新手必看! 书法界有一个共识,“书法自学等于自杀”,说的是书法的技法学习,是需要一个明...

网友评论

      本文标题:手游联运SDK开发——避坑指南

      本文链接:https://www.haomeiwen.com/subject/lyohdktx.html