如何通过个推SDK实现IM功能

产品上线4年多以来,个推已经服务了逾19万app开发者和35万app,助推了无数拥有亿级用户量的合作伙伴应用精细化运营。

但是,大多数开发者都不了解,用个推的推送SDK还可以实现IM功能。作为曾经做过IM通讯app的个推团队,满足大部分开发者对于IM的使用需求一定不是问题。目前通过个推SDK实现IM功能的合作伙伴也已经有了一定的规模。

一、 应用场景: 已经接入个推SDK的应用中需要实现IM功能,分为客户端A与客户端B。客户端A与B之间相互发送消息,开启单独的聊天模式或者有多个客户端之间使用群聊模式,内容可以是文字富媒体消息:文字,图片,音视频,透传消息等

二、 实现原理: 客户端A向客户端B发送消息的整体流程如下: 1、 客户端A把消息发送第三方服务端C(即客户自己的服务器),需要C来中转推送消息。 2、 通过调用个推服务端SDK的API接口(单推或批量推送)把消息发送到个推服务器D。 3、 根据条件查找到用户,然后把消息发送到客户端B上,这样客户端B就接收到消息。 反之,客户端B向客户端A发消息,流程也是如此。 服务端的代码需要个推SDK用户在本地编写哦,请根据自己app的实际需求编写即可。

三、 消息推送的流程:

备注: A:客户端A B:客户端B C:第三方服务器 D:个推服务器

四、 注意事项: 单推: 上面的应用场景只是针对点对点的推送,用单推接口即可,把ClientID或别名参数设置好,个推服务器会自动去对应客户端并进行消息推送。 群组推送: 如果要对群组进行推送,则需要调用批量推送的的API接口进行推送。 群组设定可以用标签来划分,推送的时候根据标签进行推送,不用管标签下有多少用户,个推服务器会去查询此标签下的所有用户,然后进行消息推送。

此外,因为个推SDK的正常延迟在250ms以下,所以IM的延迟也会非常的低。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏性能与架构

前端工程 - 静态资源的更新

示例 <html> <head> <link href='a.css' type='text/css'/> <script src="b.js"><...

3496
来自专栏Youngxj

BlueLotus-XSS平台源码分享

2994
来自专栏hadoop学习笔记

从服务端视角看高并发难题

所谓服务器大流量高并发指的是:在同时或极短时间内,有大量的请求到达服务端,每个请求都需要服务端耗费资源进行处理,并做出相应的反馈。

1443
来自专栏架构说

大流量Web系统性能优化实践

系统性能优化一般方法 1 通过工具寻找瓶颈 2 水平扩展机器 这遇到很多问题 分布式事务和cache问题等 需要调整架构和组件 ? ? ? ? ?...

4318
来自专栏游戏杂谈

windows下clang的安装与使用

我本意是想在windows下学习下C++11,而结果是我的Visual Studio 2012不完全支持,而我又懒得去安装2013/2015,太大了。公司运维也...

1681
来自专栏逸鹏说道

网站就必须用响应式布局吗?MVC视图展现模式之移动布局

本文先引入给读者一个自己研究的机会,下次深入说明一下: 废话不多说,直接上图 新建一个mvc的项目 ? ? ? 在视图里面添加一个移动端视图 ? ? 正常访问一...

3025
来自专栏应用案例

超全的PLC选型总结

在plc系统设计时,首先应确定系统方案,下一步工作就是PLC的设计选型。选择PLC,主要是确定PLC的生产厂家和PLC的具体型号。对于系统方案要求有分布式系统、...

2477
来自专栏coderhuo

虚拟内存探究,深入理解进程地址空间

想了解堆栈等虚拟内存相关知识吗? 想知道下面这张进程地址空间示意图是如何一步一步画出来的吗? 《虚拟内存探究》系列文章将通过实验的方式带你学习相关知识。

1082
来自专栏Youngxj

emlog网站公告插件1.3

1744
来自专栏黑泽君的专栏

Github上如何在组织中的代码仓库里,为组织中的小组创建Pull Request(拉取请求/下载请求)?

如何在组织中的代码仓库里,为组织中的小组创建Pull Request(拉取请求/下载请求)?   当你在一个更大的组织中工作时,良好的创建Pull Reque...

993

扫码关注云+社区

领取腾讯云代金券