热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Android云通信IM系列(1)集成与配置

前言因为项目中用到了腾讯云通信,网上云通信IM的文章很少,所以我打算详细写一下,希望对大家有所帮助。什么是云通信IM云通信IM(InstantMessaging)承载亿级QQ用户即

前言

因为项目中用到了腾讯云通信,网上云通信IM的文章很少,所以我打算详细写一下,希望对大家有所帮助。

什么是云通信IM

云通信 IM(Instant Messaging)承载亿级 QQ 用户即时通讯技术,数十年技术积累,腾讯云为您提供超乎寻常即时通讯聊天服务。针对开发者的不同阶段需求及不同场景,云通信 IM 提供了一系列解决方案,包括: Android/iOS/Windows/Web 的 SDK 组件、服务端集成接口、第三方回调接口等,利用这些组件,可以在应用中构建自己的即时通讯产品,解决开发者面临的高并发、高可用性的一系列问题。

首先我们要知道云通信IM登录流程,直接看下面图:
《Android云通信IM系列(1)-集成与配置》

不难看懂,说的简单一点就是我们调后台接口去获取Identifier 与UserSig。
我们在测试阶段可以 获取测试 userSig,这点在下面会讲到。

集成

一.配置

1.创建应用
2.配置应用-管理员
3.获取UserSig

完成账号管理员配置后,单击下载公私钥的链接,即可获得一个名为 keys.zip 的压缩包。解压后可以得到两个文件,即 public_key 和 private_key,用记事本打开 private_key 文件,并将其中的内容拷贝到开发辅助工具的私钥文本输入框中。其中:identifier 即为您的测试账号(也就是 userId),私钥为 private_key 文件里的文本内容,生成的签名就是userSig。identifier 和 userSig 是一一对应的关系。

具体操作可以看下面网址:

https://cloud.tencent.com/doc…

Android-demo下载地址:
https://github.com/tencentyun…

二.集成SDK

在项目中添加 IM SDK 的依赖

dependencies {
api 'com.tencent.imsdk:imsdk:版本号'
}

版本号最好用当前最新的版本,我用的是4.3.118

dependencies {
api 'com.tencent.imsdk:imsdk:4.3.118'
}

TUIKit集成

TUIKit 是基于腾讯云 IM SDK 的一款 UI 组件库,里面提供了一些通用的 UI 组件,开发者可通过该组件库选取自己所需要的组件快速的搭建一个 IM 应用。

IM 软件都具备一些通用的 UI 界面,如会话列表,聊天界面等。TUIKit 提供了这一类的组件,并提供了灵活的 UI 和交互扩展接口,方便用户做个性化开发。

TUkit我们不一定要集成,只是说如何有需要的可以去集成
集成的方式:

  • 直接依赖它的aar包
  • 把aar源码文件拷贝到咱们项目中

我建议用第二种方式,因为TUkit视图实在是过于简洁,很大程度上我们都需要修改,而且功能上我们也要去修改,用aar包方式的话我们不能去更改文件。
《Android云通信IM系列(1)-集成与配置》

如果有朋友对aar不了解,可以看我之前的文章:
https://mp.weixin.qq.com/s/_m…

基本操作

1.初始化

可以直接看官网址:
https://cloud.tencent.com/doc…
或者我们可以下载云通信IM的demo,然后仿照它的初始化配置也可以的。

2.登录

// identifier为用户名,userSig 为用户登录凭证
TIMManager.getInstance().login(identifier, userSig, new TIMCallBack() {
@Override
public void onError(int code, String desc) {
//错误码 code 和错误描述 desc,可用于定位请求失败原因
//错误码 code 列表请参见错误码表
Log.d(tag, "login failed. code: " + code + " errmsg: " + desc);
}
@Override
public void onSuccess() {
Log.d(tag, "login succ");
}
});

先讲到这里,希望对大家有帮助,下节讲一下具体的功能!
想多了解的朋友可以加我的微信,交个朋友:lengquele5311

《Android云通信IM系列(1)-集成与配置》

大家可以关注我的微信公众号:「秦子帅」一个有质量、有态度的公众号!

《Android云通信IM系列(1)-集成与配置》


推荐阅读
  • iOS 小组件开发指南
    本文详细介绍了iOS小部件(Widget)的开发流程,从环境搭建、证书配置到业务逻辑实现,提供了一系列实用的技术指导与代码示例。 ... [详细]
  • 解决远程桌面连接时的身份验证错误问题
    本文介绍了如何解决在尝试远程访问服务器时遇到的身份验证错误,特别是当系统提示‘要求的函数不受支持’时的具体解决步骤。通过调整Windows注册表设置,您可以轻松解决这一常见问题。 ... [详细]
  • Hadoop集群搭建:实现SSH无密码登录
    本文介绍了如何在CentOS 7 64位操作系统环境下配置Hadoop集群中的SSH无密码登录,包括环境准备、用户创建、密钥生成及配置等步骤。 ... [详细]
  • 使用 ModelAttribute 实现页面数据自动填充
    本文介绍了如何利用 Spring MVC 中的 ModelAttribute 注解,在页面跳转后自动填充表单数据。主要探讨了两种实现方法及其背后的原理。 ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 优雅地记录API调用时长
    本文旨在探讨如何高效且优雅地记录API接口的调用时长,通过实际案例和代码示例,帮助开发者理解并实施这一技术,提高系统的可观测性和调试效率。 ... [详细]
  • LIN总线技术详解
    LIN(Local Interconnect Network)总线是一种基于UART/SCI(通用异步收发器/串行接口)的低成本串行通信协议,主要用于汽车车身网络中智能传感器和执行器之间的通信。 ... [详细]
  • 使用IntelliJ IDEA高效开发与运行Shell脚本
    本文介绍了如何利用IntelliJ IDEA中的BashSupport插件来增强Shell脚本的开发体验,包括插件的安装、配置以及脚本的运行方法。 ... [详细]
  • 本文详细介绍了Python中的生成器表达式、列表推导式、字典推导式及集合推导式等,探讨了它们之间的差异,并提供了丰富的代码示例。 ... [详细]
  • 来自FallDream的博客,未经允许,请勿转载,谢谢。一天一套noi简直了.昨天勉强做完了noi2011今天教练又丢出来一套noi ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • ArcBlock 发布 ABT 节点 1.0.31 版本更新
    2020年11月9日,ArcBlock 区块链基础平台发布了 ABT 节点开发平台的1.0.31版本更新,此次更新带来了多项功能增强与性能优化。 ... [详细]
  • 如何将955万数据表的17秒SQL查询优化至300毫秒
    本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
  • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
    龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
author-avatar
手机用户2502918767
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有