您的位置:首页 > 其它

【免费】小米即时消息云MIMC介绍

2018-01-30 14:40 211 查看
前言
IM是互联网业务重要组成,很多场景下需要即时地、方便地交流。而实现IM较为复杂,需要后台提供连接、投递、存储、统计支持,人力成本和机器成本都很高。所以目前很多用户选择不自己实现IM功能,或者使用QQ、微信等已经成熟的App交流,或者使用第三方IM云服务集成自己的应用。

使用现有App:免费,不用改变用户习惯,功能支持完整。但缺少面向自己业务需求的功能,数据安全性无法保证,无法得到统计信息。

使用第三方IM云服务:数据安全性得到一定保证,可支持更多的业务功能,得到用户活跃度、注册人数等统计信息。但商业化使用会收费,自己仍然需要完成一些工作(界面设计,SDK接口调用程序),可能依然会受第三方IM云提供服务功能的限制。



介绍
一、消息系统背景介绍:

消息系统一直是最性感的在线架构系统之一,具有高并发/高可靠/高实时等特性,技术难度高,挑战难度大,因此对于普通APP开发者来说,构建并维护一个可靠稳定的消息系统成本高昂,但是IM等社交属性又是APP必须的强性需求之一,所以这里存在一个基本矛盾。

当前市面上即时消息云服务,普遍存在接入成本高昂,没有OS层面对长连接的支持等问题。

小米每年都有接近一亿部手机售出,手机保有量巨大,小米天生拥有互联网基因,每一部手机(MIUI)都保有一条系统级长连接,平台巨大仅次于苹果(iOS)。有了系统级长连接支持,小米的消息推送做到了国内业界第一。现在我们又免费推出小米推送的姊妹产品MIMC(即时消息云),相信可以为广大开发者带来巨大的益处!

二、什么是小米即时消息云?

小米即时消息云MIMC:xiaoMI Messaging Cloud

MIMC是小米自研的一种安全、可靠、易用的分布式IM云服务。为广大开发者提供免费快捷的即时通讯接入服务。MIMC基于多年小米通讯技术积累,让即时通讯不再复杂。

目前开发者可在PC端打开链接小米开放平台查看小米即时消息云的介绍和API接入文档,SDK下载等。

https://dev.mi.com/console/appservice/mimc.html



三、MIMC文档库

包含MIMC的介绍、使用场景以及MIMC的优势、联系方式及常见问题等



四、MIMC的定位边界

基础功能

MIMC实现安全、可靠、易用的分布式IM云服务,为广大开发者提供免费快捷的即时通讯接入功能。

单聊消息,群聊消息,群组操作,历史消息查询,消息回调/离线消息回调,统计信息查询(后台管理员系统),国际化。

建议扩展

具体消息功能(红包、阅后即焚、已读/未读、位置)App开发者自行定制

可参考我们文档(https://github.com/Xiaomi-mimc/operation-manual)



五、MIMC使用场景

1、实现基础聊天功能

网页、app内等引用场景下轻松实现基础聊天功能,包括单聊、群聊、聊天室等,无论你是社交app单聊,还是游戏内玩家公会聊天接入MIMC都可以轻松实现。

2、实现在线客服功能

利用MIMC的一对一聊天通道实现在线客服的业务逻辑功能。

3、实现智能家居信令传递

利用MIMC的消息传递实现智能家居的信令传输。

4、其他功能

MIMC的灵活易扩展的消息类型方便实现其他各种不同类型的消息的传送。

六、MIMC vs 竞品优势:

1. 小米MIUI系统级长连接

对于消息系统而言,长连接是最根本的。小米MIUI作为安卓第一大平台,早在MIUI V5时代就添加了系统级长连接,小米MIUI优势是压倒性的。

2. APP方账号体系完美契合

目前市场上的消息云,APP开发者需要额外申请一套某信账号,并在服务端明文存储某信账号/密码,维护成本高昂,安全风险极高。

如果接入MIMC,APP开发者丝毫感知不到MIMC账号体系,所有收发都是用APP账号,无缝契合,安全性高。

3. 适用场景广泛

目前市场上的消息云,大都只能适用于聊天场景,其他消息场景不能支持。MIMC则可以支持智能硬件信令/聊天/客服/推送等任何消息传递场景。

4. 全平台支持

Android/iOS/Web/C/Java/Go等全平台/多语言支持,一期支持Android/iOS/Web三平台,后续会根据用户需要支持更多平台/语言。

5. 消息格式100%自定义高灵活度

目前市场上的消息云大都在聊天内容/格式自定义方面程度低,扩展性差。MIMC不对消息内容/格式进行限制,采用自定义二进制协议,APP可根据自己需求,灵活定制消息格式,传递更契合APP自身需求的数据。

6. 极简API设计

基于全新的api设计大大简化了app开发者的接入成本,3分钟即可实现聊天功能。

API示例:

user.sendMessage(String appAccount, byte[]); // 返回值为packetId

user.sendGroupMessage(long groupId, byte[]); // 返回值为packetId

user.registerMessageHandler(MIMCMessageHandler handler);

interface MIMCMessageHandler {

public void handleMessage(List<MIMCMessage> packets);

public void handleGroupMessage(List<MIMCGroupMessage> packets);

public void handleServerAck(String packetId);

}

7. 完全免费

秉承小米的一贯的开放共赢原则,现阶段MIMC完全免费。



七、MIMC架构Demo展示



说明:

1.权限验证:用户账号权限验证基于App自己的服务器,MIMC通过App服务器返回的验证结果进行后续操作。如果通过再将应用相关信息发到TokenService服务器,返回token用于接下来与FE的通信。

2.PushService:后台服务发消息给某些用户。直接填写App信息、account信息即可发送消息。提供给后台服务发送消息能力。

iOS Demo



Android Demo



Web Demo



至此相信你对小米即时消息云服务已经有了比较直观的了解,如果想进一步了解请复制链接到浏览器打开或者点击阅读原文

https://github.com/Xiaomi-mimc/operation-manual

最后祝广大开发者早日用上MIMC实现即时通讯功能,安心回家过年,新年大吉,业务蒸蒸日上。

欢迎关注小米即时通讯云微信公众号及时获取更多资讯。



QQ群二维码见下图:



阅读原文
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息