Unity接入多个SDK的通用接口开发与资源管理

Posted 勇—钢与铁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity接入多个SDK的通用接口开发与资源管理相关的知识,希望对你有一定的参考价值。

接着上篇,介绍SDK资源的导入。首先介绍一下android Studio工程。

技术图片

AS工程可以由多个Module组成,我们可以把某个Module作为我们打包的Module,其他的Module当做资源导入到主Module中。我们unity导出的Gradle工程(有一篇介绍了unity出Gradle工程)其实就是一个Module,这里叫TaiyouxiSDK。所以我们可以把其他SDK资源都做成一个Module,然后把资源分别存放到每个Module中,然后通过配置文件添加到我们需要打包的Module中。这就是资源管理的方式。

这里我已经做好了buglylibrary和xglibrary,其实就是新建一个Module,把对应的资源文件拷进去,一般是有libs文件夹、res文件夹和Androidmanifest.xml文件。Module里的资源如下:

技术图片技术图片

下面就来介绍一下从unity导出Gradle工程,然后添加SDK资源,到出包的过程。(事先把Android环境搭建好)

(1)从unity中导出Gradle工程。如图叫TaiyouxiSDK。

技术图片

(2)把两个Module:buglylibrary和xglibrary拷进来,把gradle(这里用的3.3)、build.gradle、gradle.properties、gradlew、gradlew.bat、local.properties、settings.gradle文件拷进来。如图:(当你用Android Studio打开TaiyouxiSDK后会自动出现这些文件,这里用命令行出包,没有使用Android Studio)

技术图片

然后修改setting.gradle文件内容如下:

include ‘:TaiyouxiSDK‘, ‘:buglylibrary‘, ‘:xglibrary‘

(2)依次进入TaiyouxiSDK,libs文件夹,把第二篇自己编写并导出的jar包拷进来,这里叫QuicksdkDemo。如图。

技术图片

(3)修改TaiyouxiSDK文件夹下build.gradle文件。第一处添加两个依赖工程,第二处修改buildToolsVersion的版本。

// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
allprojects {
  repositories {
     flatDir {
       dirs ‘libs‘
     }
  }
}

apply plugin: ‘com.android.application‘

dependencies {
   compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
   compile project(‘:buglylibrary‘)//(1)添加依赖工程
   compile project(‘:xglibrary‘)//添加依赖工程

}

android {
   compileSdkVersion 26
   buildToolsVersion ‘25.0.1‘//(2)修改版本

   defaultConfig {
       targetSdkVersion 26
       applicationId ‘com.taiyouxi.quick‘
   }

   lintOptions {
       abortOnError false
   }

   buildTypes {
       debug {
           jniDebuggable true
       }
       release {
           minifyEnabled false
           proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-unity.txt‘

       }
   }

}

 

(3)需要注意TaiyouxiSDK>src>main文件夹下的AndroidManifest.xml文件,AS会自动合并此文件。和TaiyouxiSDK>src>main>res>values文件夹下的string.xml文件。我在string.xml里配置了申请SDK时给的APP Id 等参数,把所有申请SDK的key、Id等参数放在这里,然后在java代码中获取。

(4)回到最外层文件夹下,Shift+右键打开命令行窗口,输入gradlew assembleDebug,然后回车,如图。

gradlew assembleDebug 

技术图片

打包成功如图:

技术图片

(5)最后打出的包在Taiyouxi>build>outputs>apk文件夹下,如图。

技术图片

我们介绍了把每个SDK资源做成Module,导入时把对应的文件夹拷进来,进行出包。这样就把每个SDK的资源用文件夹存起来,如果更新资源,把对应的文件夹资源替换掉就可以了。

最后,整篇文章从unity上的通用接口,到Android上的中间件jar包,再到资源统一存放,介绍了如何接入并管理SDK。总结一下,我们做完以上工作后,再接入相关SDK需要哪些步骤:

(1)在unity中调用SDKManager里的与SDK相关的方法。导出Android工程。

(2)把jar包、资源Module和其他文件拷贝到工程。jar包和资源Module是我们在之前就准备好的。

(3)修改主Module中的文件,然后出包。

所以,当我们把每个SDK这样准备好后,接入还是很方便的。

以上是关于Unity接入多个SDK的通用接口开发与资源管理的主要内容,如果未能解决你的问题,请参考以下文章

unity接入安卓SDK,与安卓相互通信

游戏开发教程Unity iOS平台接入微信SDK,实现微信登录等功能(教程 | 流程讲解)

游戏开发教程Unity iOS平台接入微信SDK,实现微信登录等功能(教程 | 流程讲解)

Unity 接入Android SDK-小米sdk

Unity 使用Plugins接入安卓SDK

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