700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Unity——腾讯IM即时通讯SDK接入

Unity——腾讯IM即时通讯SDK接入

时间:2021-11-02 17:28:13

相关推荐

Unity——腾讯IM即时通讯SDK接入

前言

腾讯IM对Unity的支持很差,只提供接口返回数据,非常麻烦,然而安卓端使用Tuikt可以集成UI,自带安卓界面不需要写任何UI逻辑;

所以选择将Unity工程导出成安卓工程,在AndroidStudio中接入Tuikit的sdk;

准备工作

对于刚刚接触sdk的新手,要配置好java环境,下载对应版本的sdk,ndk,jdk等;具体操作自行百度,很重要;

Unity端工作

通过AndroidJavaClass和AndroidJavaObject类调用Java端写好的方法

安卓端工作

1.将Unity工程导出成安卓工程;

2.下载官方sdk,将Android文件夹中tuikit文件夹整个拷贝到导出的安卓工程中;tuikit配置需求

3.在setting.gradle中添加include ":tuikit"点击同步(sync /小象);

4.检查tuikit中gradle里sdk版本,修改成和项目gradle中版本一致;

5.按官方文档添加布局文件layout.xmlres件夹右键add,xml,layout;

6.创建需要的安卓activity类(界面),必须在UnityLibrary中AndroidManifest里注册Activity才能调用;

7.在UnityPlayerActivity类OnCreate方法中,给instance赋值;

8.在UnityPlayerActivity类OnCreate方法中,初始化IM;

9.在UnityPlayerActivity类OnCreate方法中,绑定conversationList界面,并初始化隐藏;

10.在UnityPlayerActivity类OnCreate方法中,给conversationlist界面中每个Item绑定点击事件;

11.写静态单例方法,供unity端调用;

12.写ShowUI方法,供unity端调用;

13.写用户登录方法,供Unity调用

坑点

1.gradle properties中添加升级AndroidX问题,在gradle properties中添加;

android.useAndroidX=true

android.enableJetifier=true

2.因为我只想使用ConversationList所以要隐藏掉一下多余的layout部件,比如标题,以及一个恶心的搜索框;

title直接在OnCreate中隐藏;

搜索框需要找到Conversationlayout.java中layout.xml文件修改,改初始高度;

3.缓存问题,每次退出再次打开IM,不再加载conversationlist列表,没找到问题所在,选择了暴力的清空存储list的文件夹,必须进去app时清空,退出时清空可能因为强退清空不彻底;清空时需要递归;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。