unity联调注意事项-安卓

一:交互代码示例:

1.游戏调用安卓代码样例:

AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");

AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");

//SDKLogin: 是安卓登录方法, data: json格式字符串

1.1 无参数时

jo.Call("SDKLogin");

1.2 有参数时

jo.Call("SDKLogin","data")

2.安卓 回调 游戏代码样例:

可参考demo里GameMainActivity下sendCallback方法

写在UnityPlayerActivity里,

public void sendCallback(String name, String data) {

//GameApp: unity游戏对象,LoginSuccess:脚本里登录成功回调方法,data: json格式字符串

UnityPlayer.UnitySendMessage("GameApp", "LoginSuccess","data");

}

回调方法声明与文档中一致,demo里在下图:

二:播放广告流程

1、先调用检测广告SDKCheckAdReady接口,收到检测结果CheckAdReady回调。

2、根据返回的数据判断有广告时才调用播放广告接口,无广告时可以弹相关提示

3、收到播放广告成功ShowAdSuccess回调,发放奖励

4、收到播放广告失败ShowAdFail回调,可以弹相关提示

三:编译 aar 注意事项

1、谷歌要求最新提审包targeVersion设置为36

2、将游戏项目导出为安卓工程

2、所有接入sdk代码已接入完毕,无需再接入第二次:

unity游戏入口文件:UnityPlayerActivity(在unityLibrary下)

3、unity注意事项

3.1 androidStudio打开导出的安卓工程,在UnityPlayerActivity文件里添加回调方法sendCallback,可以参考demo里的GameMainActivity,直接copy,把注释的部分打开,修改完备份一下UnityPlayerActivity文件,下次导出工程时直接替换这个文件。

3.2删掉unityLibrary下AndroidManifest里标签intent-filter部分,

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

4、生成 aar :

打开 Settings→ Experimental

确认勾选:Configure all Gradle tasks during Gradle Sync (this can make Gradle Sync slower)

改完点下方红色按钮编译一下才会生效

点击下图红色按钮编译aar

unity生成 aar :

点击unityLibrary下的assemble按钮,编译完成后,aar在unityLibrart->build->outputs->aar目录下

5、demo调试

5.1 将生成的aar文件放入demo的app目录下libs文件夹,然后编译一下

5.2 把MainActivity继承类改为游戏入口文件,unity是UnityPlayerActivity

5.3 直接运行测试

相关推荐
hai_android5 小时前
把 Android App 打包成系统应用(System App)
android·kotlin·android jetpack
JMchen5 小时前
【Jetpack 内核实战 01】开篇:Jetpack 组件全家桶核心逻辑与专栏完整规划
android·kotlin·android jetpack
骑着蜗牛撵大象3277 小时前
Linux 进程间通信之管道:从 pipe() 的内核语义到 FIFO 落地排错
android·java·linux·系统编程·fifo·管道·进程间通信
hunterandroid7 小时前
Retrofit 网络请求的异常处理与重试策略实战
android
sejinan8 小时前
极致轻量与秒级起播:NativeWasmTv 开源硬核技术解析与升级版体验
android·开源·webview·tv
小羊没烦恼!8 小时前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp
mmsx8 小时前
Android 静默失败实录:五个没有日志的线上事故
android·kotlin
hai_android9 小时前
从零实现一个支持跨进程(IPC)的自定义 Toast
android·kotlin·android jetpack
龙腾-虎跃9 小时前
基于 SIP 协议的自研电话终端:FreeSWITCH 语音与视频通信实战
android·音视频·freeswitch·sip协议终端·wertc
imDwAaY9 小时前
操作系统如何管理程序运行?从线程、进程到内存隔离与用户态切换:CS162 Note2
android·java·redis