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时清空,退出时清空可能因为强退清空不彻底;清空时需要递归;

  

  

  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
接入Unity SDK,首先需要理解Unity与安卓平台之间的交互方式。在安卓平台上,主体是Java,而Unity项目的主体则是封装的项目。 具体步骤如下: 1. 创建一个继承自SDKBase的类,例如SDKForAndroid。 2. 在SDKForAndroid类中,使用DllImport("__Internal")来引用Unity的函数。这些函数包括SDKInit()、SDKLogin()和SDKLogout()等等。 3. 在SDKForAndroid类中,重写Init()、Login()、Logout()、Pay()、LoginGame()和CreateRole()等方法,并在这些方法中调用对应的Unity函数。 4. 在SDKForAndroid类中,根据需要可以添加其他功能的实现。 5. 在Unity项目中,将SDKForAndroid类添加到需要接入SDK的场景中。 通过以上步骤,就可以实现Unity SDK接入了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Unity 接入SDK (Android)](https://blog.csdn.net/qq_52956140/article/details/121463308)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [[Unity]Unity接平台SDK(3种方式)](https://blog.csdn.net/zp288105109a/article/details/80244617)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小紫苏0

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

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

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

打赏作者

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

抵扣说明:

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

余额充值