Skip to content

CocosCreator接入-Android平台配置

WARNING

在完成Cocos层API调用之后, 如果要出Android平台的apk包,还需要根据本文档做一些额外的配置

准备工作

CocosCreator中接入好api后,我们可以编译发布,导出Android Studio工程了。我们可以从SDKDemo中,将一些原生平台的资源文件拷贝到游戏工程:

1、UGSDKDemo/native/engine/android/app/libs: SDK的依赖库文件,拷贝到游戏工程导出的AS工程对应目录下;
2、UGSDKDemo/native/engine/android/app/src/com/cocos/game/UGSDKForCocos.java: 拷贝到游戏工程导出的AS工程对应目录下,该文件处理原生平台和cocos层的交互;
3、UGSDKDemo/native/engine/android/app/src/com/cocos/game/AppActivity.java: 拷贝到游戏工程导出的AS工程对应目录下,该文件中调用UGSDKForCocos封装好的api,以及在Activity对应生命周期中调用SDK的生命周期函数。

依赖配置

在游戏工程导出的AS工程/native/engine/android/app/build.gradle中添加gradle依赖库:

java

// google login
implementation "androidx.credentials:credentials:1.5.0"
implementation "androidx.credentials:credentials-play-services-auth:1.5.0"
implementation "com.google.android.libraries.identity.googleid:googleid:1.1.1"

// google play-services-games
// implementation "com.google.android.gms:play-services-games-v2:19.0.0"

// google ad id
implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'


// facebook login
implementation 'com.facebook.android:facebook-login:18.0.2'

// line login
implementation 'com.linecorp.linesdk:linesdk:5.8.0'

// Google支付
implementation 'com.android.billingclient:billing:7.0.0'

配置参数

打开AS工程/native/engine/android/app/src/com/cocos/game/UGSDKForCocos.java文件, 将初始化参数对象UInitParams中appID、appKey参数,改为你SDK后台该游戏对应的参数。

java
String appID = "1";
String appKey = "1111111";
UGInitParams params = new UGInitParams(appID, appKey, UGInitParams.ORIENTATION_LANDSCAPE);
UGPlatform.getInstance().init(context, params, new UGSDKListener() {...}

初始化参数说明:

参数名称参数类型参数说明
appIDString当前游戏的appID参数,如果还没有该参数,请参考:获取参数
appKeyString当前游戏的appKey参数,如果还没有该参数,请参考:获取参数
orientationString游戏横竖屏,UGInitParams.ORIENTATION_PORTRAIT:竖屏; UGInitParams.ORIENTATION_LANDSCAPE:横屏

启动类配置

打开AS工程/native/engine/android/app/AndroidManifest.xml, 默认启动Activity是:com.cocos.game.AppActivity。

xml
<activity android:name="com.cocos.game.AppActivity" android:screenOrientation="sensorLandscape" android:configChanges="orientation|keyboardHidden|screenSize|screenLayout|smallestScreenSize" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:launchMode="singleTop" android:exported="true">
    <intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

该类是Android原生层和Cocos层API交互的桥梁,如果游戏要调整启动类(比如增加隐私弹窗Activity),可以在这里进行调整。

Application配置

打开AS工程/native/engine/android/app/AndroidManifest.xml, 默认配置的Application是:com.game.sdk.app.UGApplication。

xml
<application android:name="com.ug.sdk.app.UGApplication" android:usesCleartextTraffic="true">
    ...
</application>

如果游戏有自己的Application, 那可以按Android接入文档中实现Application模块的说明进行调整:Android接入配置

其他配置

如果SDK需要支持Appsflyer/Adjust/Firebase/AdMob等插件支持, 可以参考:Android插件配置

导出APK

上述操作之后,我们就可以导出APK了。 在Android Studio菜单-》Build-》Generate Signed Bundle/APK中进行导出。

WARNING

需注意:需要保证包名和keystore签名,同微信/支付宝后台申请参数上传的包体使用一致。

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