Coder Social home page Coder Social logo

timsdk's Introduction

Tencent IM Unity Demo

基于腾讯IM的Unity Demo

前言

一般游戏中的即时聊天,可以在unity中自己直接做,但是需要的功能比较复杂是,比如图片,语言,小视频等丰富功能是,就不是那么好实现了,现在腾讯有一个IM可以接入,里面包含了很多现有的功能,不过缺点就是,IM没有专门为Unity的教程+demo,需要自己摸索夸双平台。

产品简介

即时通信(Instant Messaging,IM)基于QQ 底层 IM 能力开发,仅需植入 SDK 即可轻松集成聊天、会话、群组、资料管理能力,帮助您实现文字、图片、短语音、短视频等富媒体消息收发,全面满足通信需要。

支持文字、图片、语音、小视频等丰富的富媒体消息 完善的私聊、群聊、直播间聊天模式 强大的用户资料与群组扩展及管理能力 集成UI开源(TUIKit)组件,节省成本,提高效率

https://cloud.tencent.com/product/im/developer

Unity集成IM

首先下载各平台demo,看着demo和文档接入 https://github.com/tencentyun/TIMSDK

1.unity接入im,只能使用原生imsdk,不能用自带的tuikit(官方自带UI) 2.接入时统一查看 常规集成(无UI库) 的文档 3.导入的库,也统一使用 无UI的库

1.android端

1.集成sdk:手动下载 imsdk.arr,导入Unity工程的Plugins/Android/libs目录,导出AndroidStudio工程后会自动配置。(或者你也可以根据文档,集成imsdk.jar,步骤多一些) 2.导出AS工程后,根据提示Build Gradle。直到运行无错误。 3.新建工具类,TIMSDKUtil.java;里面写一些IM的初始化,登录等方法,供C#端调用。 4.引入Imsdk:import com.tencent.imsdk.*,就可以使用IM的API了。 3.接下来的IM方法,就可以根据文档来写了,因为文档写的非常详细,我就不粘贴了。 4.等测试没有问题后,把TimSDKUtil.java 导出jar包,放到unity的Plugins/Android/libs目录下。就可以在unity直接调用IM的方法了

2.ios端

1.集成sdk:手动集成,根据地址下载ImSDK.framework,先放到桌面,不要导入工程。 2.Unity项目导出xcode工程 3.在xcode工程中添加依赖库ImSDK.framework 注意: 需要在【Build Setting】-【Other Linker Flags】添加 -ObjC。 需要在【Build Phases】-【Link Binary With Libraries】选择ImSDK的status为Optional。 需要在【General】-【Embedded Content】选择ImSDK的Embed为Embed&Sign。 4.如果使用了GenerateTestUserSig类,那么需要引入libz.tbd 5.接下来就可以新建一个IOS的工具类TimSDKBridge.m,里面写上C的方法,供C#调用 5.IM的方法,请参考官方文档,文档很详细,我就不在粘贴了。 6.等测试没有问题,把TimSDKBridge的脚本直接复制到Plugins/IOS下就可以了。就可以在Unity直接调用了。

总结

1.无论合适都要以官方文档为最终参考资料官方文档https://cloud.tencent.com/document/product/269/37176 2.以上的过程描述都是一些关键点和易错点。因为详细的步骤,官方文档都已经很详细了,我就只写一些注意事项。有问题可以参考我的集成工程。 https://github.com/passiony/TimSdk 3.我的工程中,android和ios回传unity参数统一使用的json格式,因为数据结构比较复杂。 ios端使用的yy_model, android端我写的3个工具类,最后导出的timsdk.jar包,我已经放到工程的libs下,但是3个java脚本我也放到了Plugins目录下,供大家参考,如果你想运行,可以先删除这3个脚本。

希望这篇文章能够对你有所帮助。

timsdk's People

Contributors

lizq918 avatar passiony avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

timsdk's Issues

无法读取AndroidJavaObject

在AndroidTimSDKImpl构造的时候:

string path = "com.jiuwei.timdemo.TimSDKUtils";
imsdk = new AndroidJavaObject(path, go.name, callback);

AndroidJavaObject无法取得, 提示Exception: java.lang.ClassNotFoundExceotion: com.jiuwei.timdemo.TimSDKUtils

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.