Unity接入多个SDK的通用接口开发与资源管理(一)
2018-01-05 10:18
337 查看
每一款游戏都有接入多个SDK的需求。当接入多个SDK时会面临两个问题:(1)代码层面:每个SDK都有调用各自功能的方法,我们需要统一管理每个SDK提供的方法,这样会使每个SDK调用方便,使代码整洁易读。(2)资源层面:每个SDK都带有各自的资源,如果你一股脑导入unity中,自己都分不清,以后升级某个SDK的时候会很麻烦。所以最好单独存放 每个SDK的资源。本篇文章解决这两个问题,进行代码接口的统一调用和资源的统一管理。
首先介绍一下接入的SDK都有哪些资源。从SDK提供方下载的SDK从资源组织上一般分为两类:一类是只有android的原生jar包及其相关资源;另一类除了jar包和资源外,提供了unitypackage资源包。而unitypackage包里通常会包含一些c#脚本,里面会提供一些调用SDK某些功能的接口。这些提供了接口的SDK接起来就比较方便,而那些只提供jar包的就需要我们自己写接口。我们要做的通用接口就是把这两类SDK整合起来,对于只提供jar包的,我们写一个接口去调用jar包里的方法,对于提供了接口的我们直接调用接口。其实说到底,接SDK就是从unity中调用android中jar包里的方法这么一件事情(暂时先不讨论iOS)。这里拿两个SDK举例,一个是信鸽SDK,它主要用于在游戏中推送通知。它属于只提供jar包的SDK。第二个是buglySDK,它能够记录下来游戏在运行时意外崩溃的日志,并提供了后台可以查看这些崩溃日志。bugly属于提供了unitypackage的SDK,即提供了接口。
这是信鸽提供的资源,有jar包和so动态链接库。
这是bugly提供的资源,一个unitypackage,和一个BuglySDK文件夹。
BuglySDK文件夹里android资源是一个bugly.jar和libs文件夹。libs里是so动态链接库。
这是bugly_unity.unitypackage包里的资源,红框里的资源是我们需要提出来单独管理的,不需要导入unity中。
一般其他SDK的unitypackage包里都会有类似的资源(就是jar包和so库,可能还会有res资源和AndroidManifest.xml),
这部分资源每个SDK我们分别用一个文件夹存放,在unity导出android工程后再统一添加到工程里,进行出包。这样当更新
某个SDK资源时就方便多了。
到这里,我们已经明确了要做的两件事情。
(1)统一调用SDK的接口。对于提供了unitypackage包的,即提供了接口的,我们直接调用,对于只提供了jar包的,我们需要自己写调用的接口。
(2)对每个SDK的资源进行整理。每个SDK的libs,res,AndroidManifest等资源从unity中提取出来,分别用文件夹存放。接下来,就对SDK接口进行统一封装。
首先介绍一下接入的SDK都有哪些资源。从SDK提供方下载的SDK从资源组织上一般分为两类:一类是只有android的原生jar包及其相关资源;另一类除了jar包和资源外,提供了unitypackage资源包。而unitypackage包里通常会包含一些c#脚本,里面会提供一些调用SDK某些功能的接口。这些提供了接口的SDK接起来就比较方便,而那些只提供jar包的就需要我们自己写接口。我们要做的通用接口就是把这两类SDK整合起来,对于只提供jar包的,我们写一个接口去调用jar包里的方法,对于提供了接口的我们直接调用接口。其实说到底,接SDK就是从unity中调用android中jar包里的方法这么一件事情(暂时先不讨论iOS)。这里拿两个SDK举例,一个是信鸽SDK,它主要用于在游戏中推送通知。它属于只提供jar包的SDK。第二个是buglySDK,它能够记录下来游戏在运行时意外崩溃的日志,并提供了后台可以查看这些崩溃日志。bugly属于提供了unitypackage的SDK,即提供了接口。
这是信鸽提供的资源,有jar包和so动态链接库。
这是bugly提供的资源,一个unitypackage,和一个BuglySDK文件夹。
BuglySDK文件夹里android资源是一个bugly.jar和libs文件夹。libs里是so动态链接库。
这是bugly_unity.unitypackage包里的资源,红框里的资源是我们需要提出来单独管理的,不需要导入unity中。
一般其他SDK的unitypackage包里都会有类似的资源(就是jar包和so库,可能还会有res资源和AndroidManifest.xml),
这部分资源每个SDK我们分别用一个文件夹存放,在unity导出android工程后再统一添加到工程里,进行出包。这样当更新
某个SDK资源时就方便多了。
到这里,我们已经明确了要做的两件事情。
(1)统一调用SDK的接口。对于提供了unitypackage包的,即提供了接口的,我们直接调用,对于只提供了jar包的,我们需要自己写调用的接口。
(2)对每个SDK的资源进行整理。每个SDK的libs,res,AndroidManifest等资源从unity中提取出来,分别用文件夹存放。接下来,就对SDK接口进行统一封装。
相关文章推荐
- Unity接入多个SDK的通用接口开发与资源管理(二)
- Unity接入多个SDK的通用接口开发与资源管理(三)
- 通用权限管理系统多语言开发接口 - java,php 调用接口程序,多业务子系统集成
- Unity Android平台下插件/SDK开发通用流程
- Senparc.Weixin.MP SDK 微信公众平台开发教程(八):通用接口说明
- Unity+Vuforia SDKAR开发系列教程--2.1.2 Vuforia许可证管理
- Senparc.Weixin.MP SDK 微信公众平台开发教程(八):通用接口说明
- 【Unity游戏开发】SDK接入与集成
- Senparc.Weixin.MP SDK 微信公众平台开发教程(八):通用接口说明
- 通用权限管理系统多语言开发接口 ,多业务子系统集成实现过程
- Unity游戏开发——unity接入多渠道sdk
- Unity Android平台下插件/SDK开发通用流程
- unity开发-记录项目目录管理及作用 Assetbundle 存放及资源更新
- Unity—Android通用SDK(交互)开发流程
- Senparc.Weixin.MP SDK 微信公众平台开发教程(八):通用接口说明
- 利用百度网盘开发接口实现将手机资源上传百度网盘进行管理的实现
- 【Unity游戏开发】SDK接入与集成——小白入门篇
- 【Unity游戏开发】SDK接入与集成——小白入门篇
- 写给VR手游开发小白的教程:(三)UnityVR插件CardboardSDKForUnity解析(二)
- 夺命雷公狗---微信开发41----用户分组管理接口(增)