简述Android如何集成融云即时通讯

第一篇技术博客,写的不好,欢迎大家讨论.

本篇适合从来没有集成过即时通讯的朋友.

最近做了几个项目,期间用到了几个技术,在这里记录一下,一方面加深一下自己的记忆,一方面如果有幸能帮助到观看的人,那也是甚好.

最近的项目是使用即时通讯:在环信和融云间,我选择了融云.融云提供了一个即时通讯的开源项目,不了解融云功能的朋友,希望你们先下载这个demo自己跑一跑,大概就知道我们集中融云之后究竟能让自己的项目集成到什么程度.

融云即时通讯为我们提供了两套SDK,

IMKit 带界面

IMLib 不带界面

我们这篇文章主要讲解通过IMKit实现的即时通讯.

[SealTalk以及SDK下载](http://www.rongcloud.cn/download)

一. 开始之前

我们要通过一款App进行聊天,第一点就是要有账号,账号就是我们身份的识别,如融云原话说:

设计原理说明:

融云认为,每一个设计良好且功能健全的 App 都应该能够在本地获取、缓存并更新用户信息。所以,融云不维护用户基本信息(用户

Id、昵称、头像)。此外,App 提供用户信息也避免了由于缓存导致的用户信息更新不及时,App 中不同界面上的用户信息不统一(比如:一部分

App 从 App 服务器上获取并显示,一部分由融云服务器获取并显示),能够获得最佳的用户体验。

融云提供了两种方式从 App 的数据源显示用户昵称和头像。

也就是说我们需要自己管理所有账号的信息.

二. 初始化与连接服务器

融云androuid开发指南

这是融云的开发指南,里面有sdk的下载地址,安装方法,甚至连视频都有.首先相信大家按照指南集成完sdk肯定是没有问题的.接下来.

如果要使用融云的SDK我们首先要在application中进行初始化 代码很简单

RongIM.init(this);

传入app的上下文,初始化这就算完成了.接下来,我们进行连接服务器

>

RongIM.connect(token, new RongIMClient.ConnectCallback() {

@Override

public void onTokenIncorrect() {

//token失效

com.orhanobut.logger.Logger.i("token失效");

}

@Override

public void onSuccess(String s) {

//登陆成功

com.orhanobut.logger.Logger.i("登陆成功!");

}

connect()这个方法就相当于连接融云服务器,我们要传入两个参数

token

ConnectCallback

主要解释一下token是什么.

正如第一段所说,我们每一个使用app登陆的账号,是由我们自己管理的,融云只要求用户的userId保持唯一即可,通过userId,加上API签名,再通过网络接口传给融云服务器即可,获得融云计算的此userID的唯一token.

这里当时我不太明白,耽误了很多时间.这是签名生成代码的示例.

签名生成代码示例

相信您的心里和我当时一样,那就是,到底如何拿到token?

由于token的生成需要app的App Secret,这就是我们app的私钥,如果直接放在app的代码里,这是非常不安全的.所以生成签名,验证签名,向服务器申请token需要在服务器端进行.

,但是大家可能只是想要集成一个demo 自己测试一下,并不在乎安全性.融云为我们提供了开源的签名,以及各种与融云服务器API交互的serviceSDK ,可以先将这个开源的serviceSDK集成到我们的项目中,模拟有服务器来配合开发.

下载地址:serviceSDK

rongCloud = RongCloud.getInstance(appKey, appSecret);

rongCloud.user.getToken(userId,name,portraitUri);

集成之后,我们首先生成rongCloud 的对象,然后调用getToken 就可了,签名的操作,SDK已经帮我们做好了.成功拿到了当前登录用户的 token,就可以使用connect()方法进行连接了.

三.消息列表

融云分为三种消息列表通过Fragment 的方式集成在我们的activity中上.

会话列表:ConversationListFragment

聚合后的会话列表:SubConversationListFragment

会话页面:ConversationFragment

今天先写到这里,我们下期再见.

android融云的几种参数,Android 集成融云相关推荐

  1. android融云的几种参数,融云开发者文档

    # 功能描述 IMLib 中已经内置了推送功能 RongPush. RongPush 是通过在云端和客户端之间维护一条稳定可靠的长链接通道,从云端发送各类消息至客户端并以通知形式展现的服务.应用被杀掉 ...

  2. 基于android的智能照明,一种基于Android、IOS与ZigBee的智能LED照明控制系统的制作方法...

    本发明涉及LED照明领域,尤其涉及一种基于Android.IOS与ZigBee的智能LED照明控制系统. 背景技术: 目前普遍使用的Android智能手机和平板电脑为智能家居照明系统提供了一个直观快捷 ...

  3. android开发 wifi功率,一种基于Android系统的功耗计算方法与流程

    本发明涉及系统功耗 技术领域: ,尤其涉及一种基于Android系统的功耗计算方法. 背景技术: :为了细粒度实时分析系统各部件以及应用程序的功耗特性,并且进一步挖掘用户的日常行为,我们需要建立功耗模 ...

  4. Android 使用OpenCV的三种方式(Android Studio)

    from: http://blog.csdn.net/sbsujjbcy/article/details/49520791 其实最早接触OpenCV是很久很久之前的事了,大概在2013年的5,6月份, ...

  5. android智能识别技术,一种基于Android的智能心音听诊与识别系统

    主权项: 1. 一种基于Android的智能心音听诊与识别系统,其特征在于:包含心音采集设备以及Android手机,心音采集硬件设备由驻极体话筒.30Hz到500Hz滤波器.主控制芯片.蓝牙芯片模组. ...

  6. android 获取hdmi数据格式,一种基于Android系统HDMI同显时节省带宽的方法与流程

    本发明涉及一种基于Android系统HDMI同显时节省带宽的方法,属于计算机领域. 背景技术: 通常很多移动设备都配备了小尺寸的LCD屏幕,有些使用场景为了能提供更好的交互控制操作,需要移动设备在大尺 ...

  7. android多个摄像头,一种基于Android多应用共享摄像头的系统及方法与流程

    本发明涉及一种基于Android多应用共享摄像头的系统及方法,属于计算机领域. 背景技术: 在一些特殊的应用场景.例如后台一直在录像,这时摄像头会被录像应用一直占有,其他的应用无法再打开摄像头.如果其 ...

  8. 融云发送图片消息_Web 端集成融云 SDK 如何发送正确图片消息给移动端展示?

    Web 端集成融云 SDK 如何发送正确图片消息给移动端展示? 前言 Web 端使用融云的即时通讯 SDK 在发送图片消息给移动端的时候,移动端一般会收到一个缩略图数据和展示高清图片地址,但是往往 W ...

  9. 快速云:云服务器四种部署模式之混合云

    混合云 美国国家标准与技术研究院对混合云的定义为:由两种或两种以上的云(私有云.社区云或公有云)组成的云基础设施,每种云保持独立实体,但云服务器之间用标准的或专有的技术组合起来,使得其间的数据和应用程 ...

  10. Android中清单文件引入配置参数,Android 使用gradle打包的各种配置

    原标题:Android 使用gradle打包的各种配置 在AS中利用gradle打包,可以高效并且自由地配置各种参数,发布不同的版本.关于配置gradle文件的一些做法,总结为如下. 一.替换Andr ...

最新文章

  1. BZOJ1747 [Usaco2005 open]Expedition 探险
  2. HttpPrinter与YunPrinter区别
  3. JPA规范的主要内容
  4. 思维构造——cf1090D
  5. Android Studio 创建第一个Android工程项目
  6. vue跨域问题:proxy代理跨域
  7. attributeerror: __enter___python魔法方法之__setattr__()
  8. 源码解读_入口开始解读Vue源码系列(二)——new Vue 的故事
  9. 电工产品的电磁兼容要求
  10. docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署
  11. QCC3040/QCC3020主要差异对比
  12. 一次心脏滴血漏洞的bug处理过程
  13. Linux下qt/C++全局键盘监控,处理键盘事件,输出按键码
  14. windows操作系统知识最全
  15. 武汉云控系统,马云,王健林都惊艳了
  16. 计算机mac地址怎么读,如何读取MAC地址
  17. Oracle根据时间查询
  18. 2-3 golang项目中benchmark的写法
  19. 计算机组织与体系结构_计算机体系结构中的内存组织
  20. 消息队列探秘 – RabbitMQ 消息队列工作原理

热门文章

  1. 世界地图各大洲鼠标移入切换显示
  2. 苹果app退款_苹果上最流氓的功能,终于被彻底关掉,还退款208元
  3. 对SQL说不!NoSQL的数据库技术革命
  4. book--Unix Linux大学教程
  5. InstallShield脚本使用笔记
  6. 魔方cfop公式软件_易烊千玺弟弟7岁破魔方世界纪录,记忆力和毅力惊人
  7. 案例:通过空气质量指数AQI学习统计分析并进行预测(上)
  8. 在Ubuntu16.04下配置VSFTPD
  9. input不为空,且返回焦点
  10. 叔叔不约---匿名聊天网 聊天图片爬虫抓取