Appearance
Unity接入-Android平台配置
WARNING
在完成Unity层API调用之后, 如果要出Android平台的apk/aab,还需要做一些额外的配置。
UGSDK目录介绍
Assets/UGSDK目录下文件说明:
1、 UGSDK/Config: SDK相关参数配置文件存放的目录;
2、 UGSDK/Editor: Unity打包时,通过IPostGenerateGradleAndroidProject打包后处理接口注入gradle配置、依赖配置、参数配置等;
3、 UGSDK/Plugins: 存放Android和iOS平台的原生平台的依赖库; UGSDK/Plugins/Android/gradle/build.json中可以调整gradle相关的配置。
4、 UGSDK/Runtime: C#运行时脚本文件,封装了SDK相关的C#层API接口。Android SDK参数配置
1、SDK参数配置
SDK相关的基础参数配置都放在了UGSDK/Config/sdk_config.json文件中。打开UGSDK/Config/sdk_config.json,内容如下:
WARNING
Unity打包时,会通过UGSDK/Editor/Android/UGSDKAndroidBuildProcessor脚本,读取该参数文件,将参数写入到最终apk/aab中。
json
{
"serverUrl": "http://ugapi.bytesdk.com",
"orientation": "landscape",
"debug": true,
"android": {
"sdk": {
"appID": "1",
"appKey": "1111111"
},
"metadata": {
"com.google.android.gms.ads.APPLICATION_ID": "ca-app-pub-2382347120869101~9958522707"
}
}
}参数配置说明:
| 字段名 | 参数说明 | 参考值 |
|---|---|---|
| serverUrl | UGSDK服务端的API URL地址,对应最终apk中存放在assets/ugdev.properties中的ug.server.url | http://ugapi.bytesdk.com |
| orientation | 游戏横竖屏配置,对应ugdev.properties中ug.orientation | 横屏:landscape;竖屏:portrait |
| debug | 是否开启SDK的详细日志,如果开启,会在最终AndroidManifest.xml中加入log相关配置的meta-data | true |
| android/sdk/appID | SDK后台Android平台游戏的AppID | 3 |
| android/sdk/appKey | SDK后台Android平台游戏的AppKey | 982d9834774b48c5bc4933116aa9db4b |
| android/metadata | 需要配置到最终AndroidManifest.xml中的自定义参数, 参数会原封不动根据key和value写入meta-data | 例如com.google.android.gms.ads.APPLICATION_ID是admob的应用ID |
2、SDK插件文件配置
UGSDK/Config/Android/ug_plugins.json是SDK的插件配置文件,打包后在apk/aab的assets目录下。 具体的插件文件配置,可以参考: 插件接口
3、Firebase参数文件配置
UGSDK/Config/Android/google-services.json是Firebase SDK需要的配置文件,从Firebase开发者控制台下载,下载后内容不用改动,放该目录下即可,最终会放在生成的AS工程luancher模块根目录下。
Android 打包配置
UGSDK通过IPostGenerateGradleAndroidProject后处理方式,在Unity打包时注入gradle配置、依赖配置。 SDK所有的Android构建时需要的gradle配置,统一放在UGSDK/Plugins/Android/gradle/build.json文件中。 该文件内容如下:
json
{
"environment": {
"mode": "override",
"agpVersion": "8.5.0",
"gradleVersion": "8.7",
"javaVersion": "17",
"org.gradle.java.home": "C:/Program Files/Java/jdk-17.0.16"
},
"build": {
"baseProject": {
"plugins": [
{
"name": "com.google.gms.google-services",
"version": "4.5.0"
},
{
"name": "com.google.firebase.crashlytics",
"version": "3.0.8"
}
]
},
"launcher": {
"plugins": [
{
"name": "com.google.gms.google-services"
},
{
"name": "com.google.firebase.crashlytics"
}
]
},
"unityLibrary": {
"dependencies": [
{
"name": "com.google.android.ump:user-messaging-platform:4.0.0"
}
]
}
}
}environment模块中配置gradle相关的版本需求;build模块中配置需要注入的gradle配置。
配置参数项说明:
| 字段名 | 参数说明 | 值说明 |
|---|---|---|
| environment/mode | 版本参数处理方式,override时,处理脚本会按照配置的版本修改最终AS工程中gradle的版本;validate时,处理脚本只进行版本校验,不覆盖gradle版本 | 可配置参数:override和validate |
| environment/agpVersion | Android AGP插件版本要求 | Firebase要求最低版本8.0.0+ |
| environment/gradleVersion | Gradle版本要求 | Firebase要求最低版本8.0.0+ |
| environment/javaVersion | JDK版本要求 | AGP 8.0.0+要求JDK 17+ |
| environment/org.gradle.java.home | 自定义JDK路径 | 当mode为override时,会写入到最终AS工程gradle.properties中 |
| build/baseProject/plugins | 覆盖最终AS工程级别下build.gradle中的插件配置 | Firebase相关的插件配置需求| | build/launcher/plugins | 覆盖最终AS工程launcher模块下build.gradle中的插件配置 | Firebase相关的插件配置需求| | build/unityLibrary/dependencies | 覆盖最终AS工程unityLibrary模块下build.gradle中的依赖配置 | SDK相关的第三方依赖库|
导出APK
上述配置完成后,即可导出apk或AS工程, 在导出配置中, 需要注意包名、版本信息的配置, Target API Level请选36(Android 16.0), Min API Level请选24(Android 7.0)
