Skip to content

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"
        }
    }
}

参数配置说明:

字段名参数说明参考值
serverUrlUGSDK服务端的API URL地址,对应最终apk中存放在assets/ugdev.properties中的ug.server.urlhttp://ugapi.bytesdk.com
orientation游戏横竖屏配置,对应ugdev.properties中ug.orientation横屏:landscape;竖屏:portrait
debug是否开启SDK的详细日志,如果开启,会在最终AndroidManifest.xml中加入log相关配置的meta-datatrue
android/sdk/appIDSDK后台Android平台游戏的AppID3
android/sdk/appKeySDK后台Android平台游戏的AppKey982d9834774b48c5bc4933116aa9db4b
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/agpVersionAndroid AGP插件版本要求Firebase要求最低版本8.0.0+
environment/gradleVersionGradle版本要求Firebase要求最低版本8.0.0+
environment/javaVersionJDK版本要求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)

Unity导出APK

版权所有© 2021-2030 上海丞诺网络科技有限公司