由于某些原因,公司决定将IM模块由原来的环信变更为腾讯,这样一来,就不得不做大量的工作,由于之前是直接基于环信的EaseUI进行开发的,导致自己的代码跟环信的代码有着相当高的关联度,所以如果要换成腾讯的话就相当于重做很大一部分的工作,并且董事长说可能后面公司要自己研发IM,欸,为了防止以后继续做不必要的工作,就不得不组件一个数据隔层,彻底隔绝第三方代码,这样就不怕后面再出现这样的情况了。好了,闲话不说了,进入主题:集成腾讯im
分模块进行,一步一步来!
一,集成腾讯IM环境
进入官网选择最新的版本进行下载1.1 将下载的jar包放进libs目录,注意只是jar包放进libs目录,so文件不放在里面,不然会出现找不到so文件的情况,进而导致登陆失败!
JAR包放进libs目录1.2 SO文件放进jniLibs目录
so文件放入jniLibs文件夹1.3 清单文件的配置
添加必要的权限由于Android P彻底废弃了 org.apache.http.legacy.jar,但ImSDK又依赖于这个库,所以需要在manifest的application节点中增加以下配置:
<!-- Android 9.0兼容配置 --> 服务跟广播二,登陆
腾讯的登陆比环信要麻烦一点,在登陆之前首先要初始化IMSDK
2.1初始化IMSDK
初始化IMSDK看到上面需要有一个SDK_APPID,这个需要去到腾讯云官网去创建程序申请,
2.1.1 创建自己的项目
创建成功后点击应用配置进去,出现sdkappid
得到SdkAppId得到appId后,则可以进行初始化了,但是如果进行登陆,还需要取得签名。
2.1.2 获取签名工具进行签名
获取TLS提供的工具包我们选择window版,在DOS下进入到拥有tls_licence_tools.exe程序的目录,我这里是tools目录。在继续进行下去之前,我们需要去刚刚在腾讯云上下载公钥跟私钥(我这里采用的是独立模式)。
下载公私钥这里我将私钥复制到我的tools目录,也就是含有tls_licence_tools.exe程序的目录,这样方便后面生成sig
在dos下转到含有tls_licence_tools.exe程序的目录后,开始使用下列命令生成签名文件。
生成sig解释一下上面的意思,其中在windows下,我们近需要改变三个参数:private_key 1400040122 pjsong
private_key是我们在刚刚放进去的私钥,1400040122是SdkAppId,pjsong是用户名
回车之后,会在目录底下生成签名文件,dos出现generate sig ok
生成sig文件成功 生成sig文件成功2.2 开始登陆
开始调用登陆方法上面的userSig就是sig文件中的字符串:
sig文件运行程序,登陆成功:
登陆成功
网友评论