米讯 社交SDK 开发指南

一、米讯(MiMessage)SDK简介

米讯SDK,主要提供各种即时通讯服务。帮助游戏和app快速实现 实时聊天,私信留言,音视频通话,群聊等im功能。

目前我们提供了Android、iOS的客户端SDK,同时提供了各个平台的详细文档和Demo,帮助快速入门。

* 我们强烈建议你阅读完本篇指南之后,再去查看以上的详细文档。

二、功能说明

1、帐号绑定系统

接入方需要通过唯一的appid、appkey、guid来向米讯服务器绑定用户,后续交互通过这个guid来标志一个用户。

米讯服务器不关心guid的业务逻辑,接入方只需要保证guid独立性。

2、聊天室和群组系统

米讯服务器提供open-api,接入方服务器需要随时和米讯服务器同步群组关系。

支持 room(聊天室)和group(群组)两种群聊模式。

room:只提供在线消息收发,用户离线时自动退出。不保存记录。(频道聊天,房间聊天等)

group:稳定的群组关系,提供云端消息存储和离线消息等功能。(工会聊天、邮件等)

3、消息功能

支持单聊、聊天室、群聊。并且具备完善的群组管理功能。

支持文字、语音、自定义文件、小视频、图片(开发中)等多种自定义类型消息。

聊天记录保存在云端,允许自由获取。

支持系统向指定用户和群组发送消息。

4、实时音视频通话

提供最多16人的 多人实时语音通话功能

支持通话中的各种设定

支持根据带宽情况,只能调整流量消耗

支持最多4人的多人视频功能(开发中)

如果不需要使用实时通话功能:可以删掉lib中的 rtc-sdk-jni.so 和 libHDACEngine.so 文件以减小SDK体积。

5、其他扩展功能

离线消息推送

敏感词过滤

资料和关系链托管

其他个性化业务

如有需求请单独联系我们

6、我们提供几个层面用户接口:

原生的 Android、iOS、的客户端 SDK

服务器帐号绑定、群组管理、系统消息发送的open api

可以实时监控用户数、消息数的开发者控制台(开发中)

7、Unity 的补充说明

为方便unity游戏接入,我们提供了unity的SDK封装和样例工程。

unityDemo分为展示基础功能的appDemo和演示游戏中实时通话的SpaceShooter。接入方可以按需参考。

三、服务架构

四、核心概念说明

1、授权(appID、appkey)

接入方从米讯获取 appID和appkey。

所有服务端的接口鉴权,都要通过appID和appkey来实现。请妥善保存。

客户端接口需要的token、publicID、publickey,需要由接入方服务器,用appID和appkey来换取。再转发给客户端保存。

2、账户绑定(guid、token、pubkey)

接入方需要提供唯一的id来标识一个用户端。这个id,在米讯SDK中,称之为guid(最长128个字符)。

接入方服务器需要调用米讯服务器的bind_account(appid,appkey,guid)来进行注册。米讯服务器将返回对应这个guid的 token、publicID、publickey。

接入方app,在初始化米讯SDK提供的服务时,需要提供 (guid,token,publicID,publickey)。

* 米讯服务器不关心guid的业务逻辑,接入方只需要保证guid独立性。

3、群聊(room,group)

米讯SDK提供两种模式的消息群聊服务。分别适合不同的场景。

所有群组的管理,需要接入方服务器和米讯服务器实时交互,保证用户在正确的群里。

接入方app,调用米讯sdk消息操作,负责向群里的用户收发消息。SDK暂时不提供群组管理功能。

聊天室(Room)

只提供在线消息收发,用户离线(超过5min没心跳)自动退出room。再次上线需要重新加入。不保存消息记录。

适合频道聊天、聊天室、随机配对聊天等场景。

一个room,最多同时在线10000人。

rid:接入方定义,要保证不同room的rid唯一性。(128个字符内)

roomtype:接入方定义,方便用户屏蔽某一类room的消息。

群组(Group)

稳定的群组关系,提供云端消息存储和离线消息等功能。需要接入方服务器控制成员进出和群组创建销毁。

适合工会聊天,固定群聊等。

一个group,最多有1000个成员。

gid:接入方定义,要保证不同group的gid唯一性。(128个字符内)

grouptype由业务方定义,方便用户屏蔽某一类group的消息。

4、消息(Message)

Message是SDK用来传输消息的基本对象。需要接入放app构造,然后调用sdk的send接口进行发送。

Message的关键信息如下:

属性类型说明

messageID

String发送方填写的消息ID,用于本地消息去重

fromString发送方ID

targetString接收方ID ,单聊时为对方guid,群聊时为roomID或groopID

bodyMessageBody消息体。不同类型的消息,消息体内容不同,详见下方说明

bodyTypeint消息体枚举类型。暂时包括文本、语音。决定如何解释消息。

messageSeqlong服务端分配的消息序号,用于消息同步,离线消息拉取等

...

MessageBody

我们提供一下几种类型的MessageBody,后续会持续扩展

0、CustomMessageBody:data

1、TextMessageBody:text

2、AudioMessageBody:audioFilePath;audioUrl;duration

请接入方注意,控制每个Message最大不超过 5KB 的数据。

关于语音消息的录制工具,和自定义消息的方法,请参考详细说明文档。

4、语音通话(VOIP)和会议(Conference)

1、使用语音通话时,接入方服务器,需要先和米讯服务器交互,创建conference。并维护Conference里面的成员。

2、接入方客户端,通过joinconf(confid,guid)来加入确定的conference(前提是,这个conference的成员里面有这个人)

3、客户端加入房间成功后,可以使用各种接口控制音频通话 和 实时获取成员状态。

4、离开conference和确定conference不再使用时,需要及时leave和destroy。

如果不需要使用实时通话功能:可以删掉lib中的 rtc-sdk-jni.so 和 libHDACEngine.so 文件以减小SDK体积。

五、调用流程概要

1、发消息

2、实时语音通话

交互示意

调用流程图

六、详细文档和Demo

Android SDK 详情

iOS SDK 详情

服务端的 OpenAPI

七、联系方式

业务对接和常见问题:

韩尚佑;QQ:271843826;e-mail:hanshangyou@xiaomi.com

服务端API:

张友明;QQ:179818827;e-mail:zhangyouming@xiaomi.com

Android-SDK:

连冬阳;QQ:2460572865;e-mail:liandongyang@xiaomi.com

刘飞;QQ:276985107;e-mail:liufei3@xiaomi.com

iOS-SDK:

柯洪峰;QQ:249082954;e-mail:kehongfeng@xiaomi.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,825评论 4 377
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,887评论 2 308
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 112,425评论 0 255
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,801评论 0 224
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,252评论 3 299
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 41,089评论 1 226
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,216评论 2 322
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 31,005评论 0 215
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,747评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,883评论 2 255
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,354评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,694评论 3 265
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,406评论 3 246
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,222评论 0 9
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,996评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,242评论 2 287
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 36,017评论 2 281

推荐阅读更多精彩内容