Appearance
Unity接入-Android平台配置
WARNING
在完成Unity层API调用之后, 如果要出Android平台的apk包,还需要做一些额外的配置
配置参数
U8母包配置文件,是apk/assets目录下的u8_developer_config.properties
文件。但因为Unity工程/Assets/Plugin/Android目录下,无法在assets/下直接放配置文件, 我们将配置文件放在了Android/libs/U8SDKReleaseConfig.aar
中:
bash
U8_APPID=1
U8_APPKEY=855237c757b7420bb932110efa41263b
U8_Channel=5109
U8SERVER_URL=https://uniapi.u8sdk.com
按说明修改u8_developer_config.properties中的参数。 如果你不知道如何获取这些参数,请参考文档: 获取参数。 修改后,可以用压缩工具(比如7zip)打开aar,将u8_developer_config.properties文件替换进去。
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
U8_APPID | string | U8SDK后台该游戏对应的AppID参数 |
U8_APPKEY | string | U8SDK后台该游戏对应的AppKey参数 |
U8_Channel | string | U8SDK后台->渠道配置中创建一个【U8测试平台】,设置的对应的渠道号 |
启动类配置
打开Assets/Plugins/Android/AndroidManifest.xml, 默认启动Activity是:com.u8.sdk.U8UnityContext,该Activity继承了com.unity3d.player.UnityPlayerActivity。
xml
<activity
android:name="com.u8.sdk.U8UnityContext"
android:screenOrientation="landscape"
android:launchMode="singleTask"
android:configChanges="orientation|keyboardHidden|screenSize"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />
</activity>
该类是Android原生层和Unity层API交互的桥梁,对应源码在U8SDKProjects工程/U8SDK_UnityLib2模块, 如果游戏有自己的API需要扩展,可以在这里添加供Unity层调用的接口。
修改代码完成后执行 ./gradlew :U8SDK_UnityLib2:generateJar
进行编译,编译成功后, 会在其build/libs下生成u8sdk_unitylib2.jar,将其替换到Unity工程Assets/Plugins/Android/libs目录下。
Application配置
打开Assets/Plugins/Android/AndroidManifest.xml, 默认配置的Application是:com.u8.sdk.GameApplication,该Application也是在上述U8SDK_UnityLib2
中定义的。
xml
<application android:name="com.u8.sdk.GameApplication" android:usesCleartextTraffic="true">
...
</application>
如果游戏有自己的Application, 那可以按Android接入文档中实现Application
模块的说明进行调整:Android接入配置
导出APK
上述配置完成后,即可导出apk或AS工程, 在导出配置中, 需要注意包名、版本信息的配置, Target API Level请选30(Android 11.0)