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.xml  res件夹右键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时清空,退出时清空可能因为强退清空不彻底;清空时需要递归;

  

  

  

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小紫苏0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值