iOS 即时通讯SDK的集成,快速搭建自己的聊天系统

现在的外包项目需求变态的各种各样,今天要做社交,明天要加电商,后天又要加直播了,这些系统如果要自己开发,除非大公司技术和人力都够,不然短时间是几乎实现不了的。所以学会灵活利用市面上的各种SDK是灰常重要的技能。

最近继续在做的项目是一个气象救灾类APP,里面需要进行聊天的即时通讯模块。目前已经实现,效果如下:

一、市面上的即时通讯SDK

目前市面上的即时通讯SDK大概有:融云、网易云信、容联云等。非常多。

较为稳定、功能较全的应该是网易云信了,界面如下:

但是我们的应用需要的即时通讯是一个模块,已经有TabBar作为基本的界面布局,聊天模块Tab形式比较合适,所以方便集成,使用了容联云的Demo。

(当然也可以使用云信的SDK然后自己写界面)

二、即时通讯SDK的运作逻辑:

一般提供SDK的平台,只提供通讯能力,几乎不提供用户资料管理。毕竟如果客户要对个人信息做各种各样的自定义需求的话,云平台提供不了这么多自定义的接口。另外数据安全也是客户考虑的因素,所以现在的云平台一般都只相当于一个信息传递中介。

上图就是其运作逻辑,APP和APP,或者WEB和APP的即时通讯,直接走云平台的服务器,这个服务器里存储的,只有UserA的ID和UserB的ID,和其聊天的内容。如果我们后台要获取聊天记录的话,就通过另外的接口获取。而这些平台的盈利点,也就是通过保存聊天记录来收费,或者加入更高级的功能,比如视频通话等。

三、即时通讯模块的嵌入

1.两套账号的绑定

假如想要做用户系统的话,那我们一定要有自己的账号密码。而云平台有一套登陆的VOIP账号密码,但不涉及具体的用户信息管理。

所以我们需要对用户账号和云平台账号一对一进行绑定。

操作流程简单而言登录用我们自己平台的账号。在登陆后,获取到返回的账号密码,然后对云平台的通讯系统进行登陆。

2.做好由云平台账号获取用户信息的接口

这里麻烦的地方在于,聊天模块的所有用户资料云平台是不存储的,比如电话、地址等(也许你也并不希望他们去存)。所以聊天模块加载的时候,都只有VOIP跟VOIP之间的关系。【不过一般他们都会存用户对应的姓名(或昵称),这样的话聊天模块加载的时候,至少姓名可以加载出来。】

所以我们必须想方式,通过VOIP来从我们自己数据库找到该用户的具体信息来显示。比如好友关系、电话等更详细信息,容联云都是没有做的,需要存在我们自己的数据库里然后通过接口取出来。

这一块,我实现的方式是,首先登陆的时候,通过我们的服务器下载用户的通讯录(好友关系),通讯录包含了好友们的基本信息和VOIP账号。

然后要获得某个好友的信息,通过VOIP账号进行本地查询就够了。如果需要更多信息,可以另外做接口。

demo下载:

网易云信:http://www.netease.im/?page=download

容联云:http://www.yuntongxun.com/api/im/sdkDemo#point_box

时间: 2024-10-14 03:23:31

iOS 即时通讯SDK的集成,快速搭建自己的聊天系统的相关文章

iOS 即时通讯 SDK开发包

一.系统介绍 BRAChat for iOS SDK是一套即时通讯开发平台(SDK),包含了音视频处理模块与P2P网络模块两大部分,是 Platform Core SDK的重要组成部分,专为iOS平台设计,适用于iPhone.iPad.iTouch等Apple公司移动终端设备,并针对ARM系列CPU进行了汇编优化,可以做为iPhone平台上的即时通讯内核引擎,也可以做为视频会议.网络教育.即拍即传系统等互动平台的核心库.整个平台由广州佰锐网络科技有限公司独立研发,具有自主知识产权. Chat S

iOS 即时通讯,从入门到 “放弃”?

原文链接:http://www.jianshu.com/p/2dbb360886a8 本文会用实例的方式,将 iOS 各种 IM 的方案都简单的实现一遍.并且提供一些选型.实现细节以及优化的建议. —— 由宇朋Look分享 前言 本文会用实例的方式,将iOS各种IM的方案都简单的实现一遍.并且提供一些选型.实现细节以及优化的建议. 注:文中的所有的代码示例,在github中都有demo:iOS即时通讯,从入门到“放弃”?(demo)可以打开项目先预览效果,对照着进行阅读. 言归正传,首先我们来总

iOS即时通讯之CocoaAsyncSocket源码解析五

接上篇:iOS即时通讯之CocoaAsyncSocket源码解析四         原文 正文待补...

iOS即时通讯之CocoaAsyncSocket源码解析四

原文 前言: 本文为CocoaAsyncSocket源码系列中第二篇:Read篇,将重点涉及该框架是如何利用缓冲区对数据进行读取.以及各种情况下的数据包处理,其中还包括普通的.和基于TLS的不同读取操作等等.注:由于该框架源码篇幅过大,且有大部分相对抽象的数据操作逻辑,尽管楼主竭力想要简单的去陈述相关内容,但是阅读起来仍会有一定的难度.如果不是诚心想学习IM相关知识,在这里就可以离场了... 注:文中涉及代码比较多,建议大家结合源码一起阅读比较容易能加深理解.这里有楼主标注好注释的源码,有需要的

即时通讯 SDK 一对一通讯技术

在IM通讯中,经常会有一对一,一对多,多对多的通讯场景,不管是语音的还是视频的,或者是两者的混合,那么如何实现一对一的即时通讯场景需求呢,下面介绍一下BRAChat的即时通讯SDK. BRAChat SDK(AnyChat音视频互动开发平台)是一套跨平台的(*)即时通讯解决方案,基于先进的H.264视频编码标准.AAC音频编码标准与P2P技术,支持高清视频,整合了佰锐科技在音视频编码.多媒体通讯领域领先的开发技术和丰富的产品经验而设计的高质量.宽适应性.分布式.模块化的网络音视频互动平台. 由于

IOS 即时通讯 + 微信聊天框架 + 源码

这些你造吗? 即时通讯(IM),在IOS这片江湖里面已经算是一个老者了,我这小旋风也是在很早以前巡山的时候,就知道有即时通讯这个妖怪,以前也多多少少接触过一些,在造APP的时候用过,哎呀,说着说着就感觉要跑题了,脑海中怎么波涛翻滚的样子.不好,才开头了两句,忍住!!说回正题,我知道的即时通讯有用 CocoaAsyncSocket 还有 XMPPFramework 实现的,当然也有现在也有大部分接入环信的.有些东西掩盖不住的,我是你知道的越多越会觉得自己是个文盲,会有很强烈的感觉,你不懂的真的好多

音视频即时通讯SDK有什么技术?可以做什么?

AnyChat SDK(AnyChat音视频互动开发平台)是一套跨平台的(*)即时通讯解决方案,基于先进的H.264视频编码标准.AAC音频编码标准与P2P技术,支持高清视频,整合了佰锐科技在音视频编码.多媒体通讯领域领先的开发技术和丰富的产品经验而设计的高质量.宽适应性.分布式.模块化的网络音视频互动平台. AnyChat音视频互动开发平台(SDK)包含了音视频处理模块(采集.编解码).流媒体管理模块(丢包重传.抖动平滑.动态缓冲).流媒体播放模块(多路混音.音视频同步)以及P2P网络模块(N

环信即时通讯单聊集成,添加好友,实现单聊

前段时间由于项目需要,了解一下环信即时通讯,然后自己通过查资料写了一个基于环信的单聊demo,一下是源码,希望可以帮助到需要的小伙伴. 首先,我们要去环信官网注册账号,这个我就不多说了,注册完登录,创建应用,新建两个测试IM用户, 这里主要用到的是应用标示(Appkey) 好了,在环信官网下载对应的sdk,这个不多说了,最好下载一个文档,里面讲的很详细的. 好了,一下是源码 AppManager.java public class AppManager { private static Stac

iOS:即时通讯之<了解篇 SocKet>

什么是socket? 计算机专业术语就是: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket.Socket的英文原义是“孔”或“插座”.作为BSD UNIX的进程通信机制,取后一种意思.通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信.在Internet上的主机一般运行了多个服务软件,同时提供几种服务.每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务.So