U8SDK——强烈建议的开发原则

作者: 分类: U8SDK 发布时间: 2020-08-08 19:13 6U8SDK——强烈建议的开发原则已关闭评论

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

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

如果您有过接其他SDK的经验, 可以回想一下,是否有在接入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依赖了相同的第三方库,而且第三方库的版本还不相同

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

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

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

本文出自 U8SDK技术博客,转载时请注明出处及相应链接。

本文永久链接: http://www.uustory.com/?p=2349

评论功能已经关闭,请加入U8SDK技术群进行讨论和咨询:207609068
Ɣ回顶部
U8SDK技术群 x
技术同学请加入
点击加入