消息回撤

消息回撤

77
评论

【有奖调查】环信T恤文案征集,你来我们就送! T恤 有奖调查

beyond 发表了文章 • 702 次浏览 • 2018-06-01 16:51 • 来自相关话题

 
环信T恤背面文案征集,欢迎小伙伴留言,7个中文字以内。
 
送送送T恤!
 
文案一经采用,送T恤!并且留言楼层是8的尾号(包含8),恭喜你中奖了,环信T恤包邮到家!
 
中奖规则:
 
同一账号重复留言只记做一次,小伙伴们构思好文案再留言,珍惜抽奖机会。

活动时间2018年6月1日-6月10日,最终解释权归环信所有。
 
中奖名单公布:
楼层6:Eternally(额外奖励,提建议被采纳)楼层8:°﹏D.X.F.VIP 楼层18:空谷幽兰楼层28:skoxe楼层38.咚咚 查看全部
微信图片_20180601155239.jpg

 
环信T恤背面文案征集,欢迎小伙伴留言,7个中文字以内。
 
送送送T恤!
 
文案一经采用,送T恤!并且留言楼层是8的尾号(包含8),恭喜你中奖了,环信T恤包邮到家!
 
中奖规则:
 
同一账号重复留言只记做一次,小伙伴们构思好文案再留言,珍惜抽奖机会。

活动时间2018年6月1日-6月10日,最终解释权归环信所有。
 
中奖名单公布:
  1. 楼层6:Eternally(额外奖励,提建议被采纳)
  2. 楼层8:°﹏D.X.F.VIP 
  3. 楼层18:空谷幽兰
  4. 楼层28:skoxe
  5. 楼层38.咚咚

3
评论

【有问必答】有温度,有态度,有速度的IMGeek社区! 有问必答 问题已解决 最佳回复

beyond 发表了文章 • 317 次浏览 • 2018-05-24 17:45 • 来自相关话题

5分钟,是一个从提问到解答的总时长,有温度有态度有速度!
-IMGeek社区“鲁迅”




    IMGeek循着极客们开放、分享、协作、创新的精神,努力构建一个具有服务质量保障(Service Level Assurance , SLA)的社区。

   在IMGeek社区里征集到一批热心的技术专家,得到他们的承诺自愿回复IMGeek社区问题。只要你在IMGeek社区发布问题,专家们将会收到消息提醒,并及时回复。 

   当然,如果你在提交一个问题之前,可以先搜索一下,说不定你要提的问题已经有人提过并且得到解答。这样可以省却不少你的时间。 
 
   最后提醒一下提问的小伙伴,如果您的问题被解决,占用您一秒钟时间将回复设置为最佳回复,方便后面遇到相同问题的同学快速找到答案!




  现在,从一个提问开始你的IMGeek社区之旅。 查看全部
5分钟,是一个从提问到解答的总时长,有温度有态度有速度!
-IMGeek社区“鲁迅”




    IMGeek循着极客们开放、分享、协作、创新的精神,努力构建一个具有服务质量保障(Service Level Assurance , SLA)的社区。

   在IMGeek社区里征集到一批热心的技术专家,得到他们的承诺自愿回复IMGeek社区问题。只要你在IMGeek社区发布问题,专家们将会收到消息提醒,并及时回复。 

   当然,如果你在提交一个问题之前,可以先搜索一下,说不定你要提的问题已经有人提过并且得到解答。这样可以省却不少你的时间。 
 
   最后提醒一下提问的小伙伴,如果您的问题被解决,占用您一秒钟时间将回复设置为最佳回复,方便后面遇到相同问题的同学快速找到答案!
TIM截图20180524175557.png

  现在,从一个提问开始你的IMGeek社区之旅。
8
回复

收集基于环信SDK开发的开源项目 开源项目

JuN_Yong Wang 回复了问题 • 10 人关注 • 8145 次浏览 • 2018-02-07 11:49 • 来自相关话题

13
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 13095 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
 
Android篇
Android sdk 的两种导入方式环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
0
评论

环信Android消息回撤 回撤 环信android 消息回撤

回眸,祭奠记忆的尘埃 发表了文章 • 669 次浏览 • 2017-05-18 13:10 • 来自相关话题

环信现在的消息回撤开发文档没有更新, 所以得自己去写, 本人贡献点小东西.本项目用的SDK版本为3.3.1.
1. 首先在聊天消息里添加消息长按事件监听,里面添加撤回消息选项. 
   撤回点击之后处理为:  发送撤回消息!!!!!!cmdMsg = EMMessage.createSendMessage(EMMessage.Type.CMD);
// 如果是群聊, 设置chatType, 默认是单聊
if(chatType == Constant.CHATTYPE_GROUP){
cmdMsg.setChatType(ChatType.GroupChat);
}
String action = "REVOKE_FLAG";
EMCmdMessageBody cmdBody=new EMCmdMessageBody(action);
// 设置消息body
cmdMsg.addBody(cmdBody);
// 设置要发给谁, 用户username 或者群聊 grouid
cmdMsg.setTo(toChatUsername);
// 通过扩展字段添加要撤回消息的iD
cmdMsg.setAttribute("msgId", msgid); // 长按的时候, 获取本信息的message的Id
// long aa = cmdMsg.getMsgTime(); // 获取这个消息的发送时间
// 获取当前系统的时间
long time = new Date().getTime();
long minite = (time - aa - 6000)/1000; // 1s = 1000
if(minite <= 120){
EMClient.getInstance().chatManager().sendMessage(cmdMsg);
cmdMsg.setMessageStatusCallback(new EMCallBack() {

@Override
public void onSuccess() {
conversation.removeMessage(msgid);
handler.sendEmptyMessage(1);
}

@Override
public void onProgress(int arg0, String arg1) {
}

@Override
public void onError(int arg0, String arg1) {
// TODO Auto-generated method stub
String a = "";
// conversation.removeMessage(msgid);
}
});

}else{
ToastUtils.ToastShortMessage(getActivity(), "发送时间超过2分钟的消息!不能被撤回!");
}
break;





此处handler.sendEmptyMessage(1);中的内容是:
ToastUtils.ToastShortMessage(getActivity(), "消息已撤回!");
messageList.refresh();





2. 环信在获取CMD消息监听有三个地方: 分别为, EaseChatFragment, MainActivity, DemoHelper(此处为App后台运行时, 消息撤回的处理)
在EMMessageListener下的onCmdMessageReceived()中处理接受到的CMD消息, 首先贴上的为EaseChatFragment里面的: for(EMMessage emMessage : messages){
EMCmdMessageBody cmdMessageBody = (EMCmdMessageBody)emMessage.getBody();
String action = cmdMessageBody.action();
if(action.equals("REVOKE_FLAG")){
try {
msgId = emMessage.getStringAttribute("msgId");
conversation1 = EMClient.getInstance().chatManager().getConversation(emMessage.getFrom());
if(emMessage.getChatType() == ChatType.GroupChat){
messageList.refreshSelectLast(); //刷新UI
}else{
handler.sendEmptyMessage(1);
}
} catch (HyphenateException e) {
e.printStackTrace();

}

}
}此处handler.sendEmptyMessage(1)中的内容是:
// 删除表示撤销
conversation1.removeMessage(msgId);
messageList.refreshSelectLast();





3. MainActivity里面的处理方式: for(EMMessage emMessage : messages){
EMCmdMessageBody cmdMessageBody = (EMCmdMessageBody)emMessage.getBody();
String action = cmdMessageBody.action();
if(action.equals("REVOKE_FLAG")){
try {
msgId = emMessage.getStringAttribute("msgId");
conversation1 = EMClient.getInstance().chatManager().getConversation(emMessage.getFrom());
if(emMessage.getChatType() == ChatType.GroupChat){
refreshUIWithMessage(); // 刷新UI
}else{
handler.sendEmptyMessage(1);
}

} catch (HyphenateException e) {
e.printStackTrace();

}

}
} 此时handler.sendEmperymessage(1)中:
conversation1.removeMessage(msgId);
refreshUIWithMessage();4. DemoHelper里面的处理方式:for (final EMMessage message : messages) {
// 获取消息body
EMCmdMessageBody cmdMsgBody = (EMCmdMessageBody) message.getBody();
final String action = cmdMsgBody.action();// 获取自定义action
// 发送一个透传消息
if(action.equals("REVOKE_FLAG")){
try {
if(message.getChatType() == ChatType.GroupChat){ // 群组处理方式
conversation1 = EMClient.getInstance().chatManager().getConversation(message.getTo(), EaseCommonUtils.getConversationType(2), true);
}else{
conversation1 = EMClient.getInstance().chatManager().getConversation(message.getFrom());
}
msgId = message.getStringAttribute("msgId");

handler.sendEmptyMessage(1);
} catch (HyphenateException e) {
e.printStackTrace();
}
}
}此时handler.sendEmpertyMessage(1)中的方法是:
conversation1.removeMessage(msgId);至此,环信消息回调完成, 没有去做撤回回调处理,直接删除不好,如果想做的请自行处理.谢谢,本文纯属原创,如果有问题,可与我联系,QQ邮箱: 277667430@qq.com.本人姓氏: 侯 查看全部
环信现在的消息回撤开发文档没有更新, 所以得自己去写, 本人贡献点小东西.本项目用的SDK版本为3.3.1.
1. 首先在聊天消息里添加消息长按事件监听,里面添加撤回消息选项. 
   撤回点击之后处理为:  发送撤回消息!!!!!!
cmdMsg = EMMessage.createSendMessage(EMMessage.Type.CMD);
// 如果是群聊, 设置chatType, 默认是单聊
if(chatType == Constant.CHATTYPE_GROUP){
cmdMsg.setChatType(ChatType.GroupChat);
}
String action = "REVOKE_FLAG";
EMCmdMessageBody cmdBody=new EMCmdMessageBody(action);
// 设置消息body
cmdMsg.addBody(cmdBody);
// 设置要发给谁, 用户username 或者群聊 grouid
cmdMsg.setTo(toChatUsername);
// 通过扩展字段添加要撤回消息的iD
cmdMsg.setAttribute("msgId", msgid); // 长按的时候, 获取本信息的message的Id
// long aa = cmdMsg.getMsgTime(); // 获取这个消息的发送时间
// 获取当前系统的时间
long time = new Date().getTime();
long minite = (time - aa - 6000)/1000; // 1s = 1000
if(minite <= 120){
EMClient.getInstance().chatManager().sendMessage(cmdMsg);
cmdMsg.setMessageStatusCallback(new EMCallBack() {

@Override
public void onSuccess() {
conversation.removeMessage(msgid);
handler.sendEmptyMessage(1);
}

@Override
public void onProgress(int arg0, String arg1) {
}

@Override
public void onError(int arg0, String arg1) {
// TODO Auto-generated method stub
String a = "";
// conversation.removeMessage(msgid);
}
});

}else{
ToastUtils.ToastShortMessage(getActivity(), "发送时间超过2分钟的消息!不能被撤回!");
}
break;





此处handler.sendEmptyMessage(1);中的内容是:         
ToastUtils.ToastShortMessage(getActivity(), "消息已撤回!");
messageList.refresh();





2. 环信在获取CMD消息监听有三个地方: 分别为, EaseChatFragment, MainActivity, DemoHelper(此处为App后台运行时, 消息撤回的处理)
在EMMessageListener下的onCmdMessageReceived()中处理接受到的CMD消息, 首先贴上的为EaseChatFragment里面的: 
for(EMMessage emMessage : messages){
EMCmdMessageBody cmdMessageBody = (EMCmdMessageBody)emMessage.getBody();
String action = cmdMessageBody.action();
if(action.equals("REVOKE_FLAG")){
try {
msgId = emMessage.getStringAttribute("msgId");
conversation1 = EMClient.getInstance().chatManager().getConversation(emMessage.getFrom());
if(emMessage.getChatType() == ChatType.GroupChat){
messageList.refreshSelectLast(); //刷新UI
}else{
handler.sendEmptyMessage(1);
}
} catch (HyphenateException e) {
e.printStackTrace();

}

}
}
此处handler.sendEmptyMessage(1)中的内容是:
// 删除表示撤销
conversation1.removeMessage(msgId);
messageList.refreshSelectLast();





3. MainActivity里面的处理方式:
    for(EMMessage emMessage : messages){
EMCmdMessageBody cmdMessageBody = (EMCmdMessageBody)emMessage.getBody();
String action = cmdMessageBody.action();
if(action.equals("REVOKE_FLAG")){
try {
msgId = emMessage.getStringAttribute("msgId");
conversation1 = EMClient.getInstance().chatManager().getConversation(emMessage.getFrom());
if(emMessage.getChatType() == ChatType.GroupChat){
refreshUIWithMessage(); // 刷新UI
}else{
handler.sendEmptyMessage(1);
}

} catch (HyphenateException e) {
e.printStackTrace();

}

}
}
 
此时handler.sendEmperymessage(1)中: 
conversation1.removeMessage(msgId);
refreshUIWithMessage();
4. DemoHelper里面的处理方式:
for (final EMMessage message : messages) {
// 获取消息body
EMCmdMessageBody cmdMsgBody = (EMCmdMessageBody) message.getBody();
final String action = cmdMsgBody.action();// 获取自定义action
// 发送一个透传消息
if(action.equals("REVOKE_FLAG")){
try {
if(message.getChatType() == ChatType.GroupChat){ // 群组处理方式
conversation1 = EMClient.getInstance().chatManager().getConversation(message.getTo(), EaseCommonUtils.getConversationType(2), true);
}else{
conversation1 = EMClient.getInstance().chatManager().getConversation(message.getFrom());
}
msgId = message.getStringAttribute("msgId");

handler.sendEmptyMessage(1);
} catch (HyphenateException e) {
e.printStackTrace();
}
}
}
此时handler.sendEmpertyMessage(1)中的方法是: 
conversation1.removeMessage(msgId);
至此,环信消息回调完成, 没有去做撤回回调处理,直接删除不好,如果想做的请自行处理.谢谢,本文纯属原创,如果有问题,可与我联系,QQ邮箱: 277667430@qq.com.本人姓氏: 侯
2
回复

请问对方离线时如何实现消息回撤 消息回撤 环信_Android

qstumn 回复了问题 • 2 人关注 • 780 次浏览 • 2017-01-09 10:48 • 来自相关话题

4
回复

环信可以实现类似微信消息回撤的功能吗? 环信_Android 消息回撤

zhuhy 回复了问题 • 5 人关注 • 8893 次浏览 • 2016-06-16 16:26 • 来自相关话题

1
回复

环信3.0消息回撤,在EaseMessageAdapter类里面报空。 环信3.0 消息回撤 环信_Android

回复

Android_Tong 回复了问题 • 1 人关注 • 1446 次浏览 • 2016-04-20 11:11 • 来自相关话题

1
评论

环信直播课堂第四期--消息撤回 和 阅后即焚 Android 阅后即焚 消息回撤

beyond 发表了文章 • 1551 次浏览 • 2016-03-24 14:31 • 来自相关话题

日期与时间:2016年3月24日15:00

持续时间:半小时

描述:聊天的时候不小心说错了话,还是发错了人,真的有后悔药吗?

环信最新版本sdk 新增阅后即焚,消息撤回功能,让聊天更加有趣,打造社交新玩法!

本期将由环信Android工程师--一鸣 ,他将给大家讲解消息撤回与阅后即焚的原理,并现场手把手教你如何实现消息撤回与阅后即焚!

直播观看地址:http://www.imgeek.org/video/
 
 
稍后直播完会把视频和demo更新在本篇文章后面!
 
视频回放:http://www.imgeek.org/video/20
  查看全部
日期与时间:2016年3月24日15:00

持续时间:半小时

描述:聊天的时候不小心说错了话,还是发错了人,真的有后悔药吗?

环信最新版本sdk 新增阅后即焚,消息撤回功能,让聊天更加有趣,打造社交新玩法!

本期将由环信Android工程师--一鸣 ,他将给大家讲解消息撤回与阅后即焚的原理,并现场手把手教你如何实现消息撤回与阅后即焚!

直播观看地址:http://www.imgeek.org/video/
 
 
稍后直播完会把视频和demo更新在本篇文章后面!
 
视频回放:http://www.imgeek.org/video/20
 
0
评论

消息回撤 消息回撤

Zero 发表了文章 • 1128 次浏览 • 2015-12-24 12:16 • 来自相关话题

77
评论

【有奖调查】环信T恤文案征集,你来我们就送! T恤 有奖调查

beyond 发表了文章 • 702 次浏览 • 2018-06-01 16:51 • 来自相关话题

 
环信T恤背面文案征集,欢迎小伙伴留言,7个中文字以内。
 
送送送T恤!
 
文案一经采用,送T恤!并且留言楼层是8的尾号(包含8),恭喜你中奖了,环信T恤包邮到家!
 
中奖规则:
 
同一账号重复留言只记做一次,小伙伴们构思好文案再留言,珍惜抽奖机会。

活动时间2018年6月1日-6月10日,最终解释权归环信所有。
 
中奖名单公布:
楼层6:Eternally(额外奖励,提建议被采纳)楼层8:°﹏D.X.F.VIP 楼层18:空谷幽兰楼层28:skoxe楼层38.咚咚 查看全部
微信图片_20180601155239.jpg

 
环信T恤背面文案征集,欢迎小伙伴留言,7个中文字以内。
 
送送送T恤!
 
文案一经采用,送T恤!并且留言楼层是8的尾号(包含8),恭喜你中奖了,环信T恤包邮到家!
 
中奖规则:
 
同一账号重复留言只记做一次,小伙伴们构思好文案再留言,珍惜抽奖机会。

活动时间2018年6月1日-6月10日,最终解释权归环信所有。
 
中奖名单公布:
  1. 楼层6:Eternally(额外奖励,提建议被采纳)
  2. 楼层8:°﹏D.X.F.VIP 
  3. 楼层18:空谷幽兰
  4. 楼层28:skoxe
  5. 楼层38.咚咚

3
评论

【有问必答】有温度,有态度,有速度的IMGeek社区! 有问必答 问题已解决 最佳回复

beyond 发表了文章 • 317 次浏览 • 2018-05-24 17:45 • 来自相关话题

5分钟,是一个从提问到解答的总时长,有温度有态度有速度!
-IMGeek社区“鲁迅”




    IMGeek循着极客们开放、分享、协作、创新的精神,努力构建一个具有服务质量保障(Service Level Assurance , SLA)的社区。

   在IMGeek社区里征集到一批热心的技术专家,得到他们的承诺自愿回复IMGeek社区问题。只要你在IMGeek社区发布问题,专家们将会收到消息提醒,并及时回复。 

   当然,如果你在提交一个问题之前,可以先搜索一下,说不定你要提的问题已经有人提过并且得到解答。这样可以省却不少你的时间。 
 
   最后提醒一下提问的小伙伴,如果您的问题被解决,占用您一秒钟时间将回复设置为最佳回复,方便后面遇到相同问题的同学快速找到答案!




  现在,从一个提问开始你的IMGeek社区之旅。 查看全部
5分钟,是一个从提问到解答的总时长,有温度有态度有速度!
-IMGeek社区“鲁迅”




    IMGeek循着极客们开放、分享、协作、创新的精神,努力构建一个具有服务质量保障(Service Level Assurance , SLA)的社区。

   在IMGeek社区里征集到一批热心的技术专家,得到他们的承诺自愿回复IMGeek社区问题。只要你在IMGeek社区发布问题,专家们将会收到消息提醒,并及时回复。 

   当然,如果你在提交一个问题之前,可以先搜索一下,说不定你要提的问题已经有人提过并且得到解答。这样可以省却不少你的时间。 
 
   最后提醒一下提问的小伙伴,如果您的问题被解决,占用您一秒钟时间将回复设置为最佳回复,方便后面遇到相同问题的同学快速找到答案!
TIM截图20180524175557.png

  现在,从一个提问开始你的IMGeek社区之旅。
13
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 13095 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
 
Android篇
Android sdk 的两种导入方式环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
8
回复

收集基于环信SDK开发的开源项目 开源项目

JuN_Yong Wang 回复了问题 • 10 人关注 • 8145 次浏览 • 2018-02-07 11:49 • 来自相关话题

77
评论

【有奖调查】环信T恤文案征集,你来我们就送! T恤 有奖调查

beyond 发表了文章 • 702 次浏览 • 2018-06-01 16:51 • 来自相关话题

 
环信T恤背面文案征集,欢迎小伙伴留言,7个中文字以内。
 
送送送T恤!
 
文案一经采用,送T恤!并且留言楼层是8的尾号(包含8),恭喜你中奖了,环信T恤包邮到家!
 
中奖规则:
 
同一账号重复留言只记做一次,小伙伴们构思好文案再留言,珍惜抽奖机会。

活动时间2018年6月1日-6月10日,最终解释权归环信所有。
 
中奖名单公布:
楼层6:Eternally(额外奖励,提建议被采纳)楼层8:°﹏D.X.F.VIP 楼层18:空谷幽兰楼层28:skoxe楼层38.咚咚 查看全部
微信图片_20180601155239.jpg

 
环信T恤背面文案征集,欢迎小伙伴留言,7个中文字以内。
 
送送送T恤!
 
文案一经采用,送T恤!并且留言楼层是8的尾号(包含8),恭喜你中奖了,环信T恤包邮到家!
 
中奖规则:
 
同一账号重复留言只记做一次,小伙伴们构思好文案再留言,珍惜抽奖机会。

活动时间2018年6月1日-6月10日,最终解释权归环信所有。
 
中奖名单公布:
  1. 楼层6:Eternally(额外奖励,提建议被采纳)
  2. 楼层8:°﹏D.X.F.VIP 
  3. 楼层18:空谷幽兰
  4. 楼层28:skoxe
  5. 楼层38.咚咚

3
评论

【有问必答】有温度,有态度,有速度的IMGeek社区! 有问必答 问题已解决 最佳回复

beyond 发表了文章 • 317 次浏览 • 2018-05-24 17:45 • 来自相关话题

5分钟,是一个从提问到解答的总时长,有温度有态度有速度!
-IMGeek社区“鲁迅”




    IMGeek循着极客们开放、分享、协作、创新的精神,努力构建一个具有服务质量保障(Service Level Assurance , SLA)的社区。

   在IMGeek社区里征集到一批热心的技术专家,得到他们的承诺自愿回复IMGeek社区问题。只要你在IMGeek社区发布问题,专家们将会收到消息提醒,并及时回复。 

   当然,如果你在提交一个问题之前,可以先搜索一下,说不定你要提的问题已经有人提过并且得到解答。这样可以省却不少你的时间。 
 
   最后提醒一下提问的小伙伴,如果您的问题被解决,占用您一秒钟时间将回复设置为最佳回复,方便后面遇到相同问题的同学快速找到答案!




  现在,从一个提问开始你的IMGeek社区之旅。 查看全部
5分钟,是一个从提问到解答的总时长,有温度有态度有速度!
-IMGeek社区“鲁迅”




    IMGeek循着极客们开放、分享、协作、创新的精神,努力构建一个具有服务质量保障(Service Level Assurance , SLA)的社区。

   在IMGeek社区里征集到一批热心的技术专家,得到他们的承诺自愿回复IMGeek社区问题。只要你在IMGeek社区发布问题,专家们将会收到消息提醒,并及时回复。 

   当然,如果你在提交一个问题之前,可以先搜索一下,说不定你要提的问题已经有人提过并且得到解答。这样可以省却不少你的时间。 
 
   最后提醒一下提问的小伙伴,如果您的问题被解决,占用您一秒钟时间将回复设置为最佳回复,方便后面遇到相同问题的同学快速找到答案!
TIM截图20180524175557.png

  现在,从一个提问开始你的IMGeek社区之旅。
8
回复

收集基于环信SDK开发的开源项目 开源项目

回复

JuN_Yong Wang 回复了问题 • 10 人关注 • 8145 次浏览 • 2018-02-07 11:49 • 来自相关话题

13
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 13095 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
 
Android篇
Android sdk 的两种导入方式环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
2
回复

请问对方离线时如何实现消息回撤 消息回撤 环信_Android

回复

qstumn 回复了问题 • 2 人关注 • 780 次浏览 • 2017-01-09 10:48 • 来自相关话题

4
回复

环信可以实现类似微信消息回撤的功能吗? 环信_Android 消息回撤

回复

zhuhy 回复了问题 • 5 人关注 • 8893 次浏览 • 2016-06-16 16:26 • 来自相关话题

1
回复

环信3.0消息回撤,在EaseMessageAdapter类里面报空。 环信3.0 消息回撤 环信_Android

回复

Android_Tong 回复了问题 • 1 人关注 • 1446 次浏览 • 2016-04-20 11:11 • 来自相关话题

77
评论

【有奖调查】环信T恤文案征集,你来我们就送! T恤 有奖调查

beyond 发表了文章 • 702 次浏览 • 2018-06-01 16:51 • 来自相关话题

 
环信T恤背面文案征集,欢迎小伙伴留言,7个中文字以内。
 
送送送T恤!
 
文案一经采用,送T恤!并且留言楼层是8的尾号(包含8),恭喜你中奖了,环信T恤包邮到家!
 
中奖规则:
 
同一账号重复留言只记做一次,小伙伴们构思好文案再留言,珍惜抽奖机会。

活动时间2018年6月1日-6月10日,最终解释权归环信所有。
 
中奖名单公布:
楼层6:Eternally(额外奖励,提建议被采纳)楼层8:°﹏D.X.F.VIP 楼层18:空谷幽兰楼层28:skoxe楼层38.咚咚 查看全部
微信图片_20180601155239.jpg

 
环信T恤背面文案征集,欢迎小伙伴留言,7个中文字以内。
 
送送送T恤!
 
文案一经采用,送T恤!并且留言楼层是8的尾号(包含8),恭喜你中奖了,环信T恤包邮到家!
 
中奖规则:
 
同一账号重复留言只记做一次,小伙伴们构思好文案再留言,珍惜抽奖机会。

活动时间2018年6月1日-6月10日,最终解释权归环信所有。
 
中奖名单公布:
  1. 楼层6:Eternally(额外奖励,提建议被采纳)
  2. 楼层8:°﹏D.X.F.VIP 
  3. 楼层18:空谷幽兰
  4. 楼层28:skoxe
  5. 楼层38.咚咚

3
评论

【有问必答】有温度,有态度,有速度的IMGeek社区! 有问必答 问题已解决 最佳回复

beyond 发表了文章 • 317 次浏览 • 2018-05-24 17:45 • 来自相关话题

5分钟,是一个从提问到解答的总时长,有温度有态度有速度!
-IMGeek社区“鲁迅”




    IMGeek循着极客们开放、分享、协作、创新的精神,努力构建一个具有服务质量保障(Service Level Assurance , SLA)的社区。

   在IMGeek社区里征集到一批热心的技术专家,得到他们的承诺自愿回复IMGeek社区问题。只要你在IMGeek社区发布问题,专家们将会收到消息提醒,并及时回复。 

   当然,如果你在提交一个问题之前,可以先搜索一下,说不定你要提的问题已经有人提过并且得到解答。这样可以省却不少你的时间。 
 
   最后提醒一下提问的小伙伴,如果您的问题被解决,占用您一秒钟时间将回复设置为最佳回复,方便后面遇到相同问题的同学快速找到答案!




  现在,从一个提问开始你的IMGeek社区之旅。 查看全部
5分钟,是一个从提问到解答的总时长,有温度有态度有速度!
-IMGeek社区“鲁迅”




    IMGeek循着极客们开放、分享、协作、创新的精神,努力构建一个具有服务质量保障(Service Level Assurance , SLA)的社区。

   在IMGeek社区里征集到一批热心的技术专家,得到他们的承诺自愿回复IMGeek社区问题。只要你在IMGeek社区发布问题,专家们将会收到消息提醒,并及时回复。 

   当然,如果你在提交一个问题之前,可以先搜索一下,说不定你要提的问题已经有人提过并且得到解答。这样可以省却不少你的时间。 
 
   最后提醒一下提问的小伙伴,如果您的问题被解决,占用您一秒钟时间将回复设置为最佳回复,方便后面遇到相同问题的同学快速找到答案!
TIM截图20180524175557.png

  现在,从一个提问开始你的IMGeek社区之旅。
8
回复

收集基于环信SDK开发的开源项目 开源项目

回复

JuN_Yong Wang 回复了问题 • 10 人关注 • 8145 次浏览 • 2018-02-07 11:49 • 来自相关话题

13
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 13095 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
 
Android篇
Android sdk 的两种导入方式环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
0
评论

环信Android消息回撤 回撤 环信android 消息回撤

回眸,祭奠记忆的尘埃 发表了文章 • 669 次浏览 • 2017-05-18 13:10 • 来自相关话题

环信现在的消息回撤开发文档没有更新, 所以得自己去写, 本人贡献点小东西.本项目用的SDK版本为3.3.1.
1. 首先在聊天消息里添加消息长按事件监听,里面添加撤回消息选项. 
   撤回点击之后处理为:  发送撤回消息!!!!!!cmdMsg = EMMessage.createSendMessage(EMMessage.Type.CMD);
// 如果是群聊, 设置chatType, 默认是单聊
if(chatType == Constant.CHATTYPE_GROUP){
cmdMsg.setChatType(ChatType.GroupChat);
}
String action = "REVOKE_FLAG";
EMCmdMessageBody cmdBody=new EMCmdMessageBody(action);
// 设置消息body
cmdMsg.addBody(cmdBody);
// 设置要发给谁, 用户username 或者群聊 grouid
cmdMsg.setTo(toChatUsername);
// 通过扩展字段添加要撤回消息的iD
cmdMsg.setAttribute("msgId", msgid); // 长按的时候, 获取本信息的message的Id
// long aa = cmdMsg.getMsgTime(); // 获取这个消息的发送时间
// 获取当前系统的时间
long time = new Date().getTime();
long minite = (time - aa - 6000)/1000; // 1s = 1000
if(minite <= 120){
EMClient.getInstance().chatManager().sendMessage(cmdMsg);
cmdMsg.setMessageStatusCallback(new EMCallBack() {

@Override
public void onSuccess() {
conversation.removeMessage(msgid);
handler.sendEmptyMessage(1);
}

@Override
public void onProgress(int arg0, String arg1) {
}

@Override
public void onError(int arg0, String arg1) {
// TODO Auto-generated method stub
String a = "";
// conversation.removeMessage(msgid);
}
});

}else{
ToastUtils.ToastShortMessage(getActivity(), "发送时间超过2分钟的消息!不能被撤回!");
}
break;





此处handler.sendEmptyMessage(1);中的内容是:
ToastUtils.ToastShortMessage(getActivity(), "消息已撤回!");
messageList.refresh();





2. 环信在获取CMD消息监听有三个地方: 分别为, EaseChatFragment, MainActivity, DemoHelper(此处为App后台运行时, 消息撤回的处理)
在EMMessageListener下的onCmdMessageReceived()中处理接受到的CMD消息, 首先贴上的为EaseChatFragment里面的: for(EMMessage emMessage : messages){
EMCmdMessageBody cmdMessageBody = (EMCmdMessageBody)emMessage.getBody();
String action = cmdMessageBody.action();
if(action.equals("REVOKE_FLAG")){
try {
msgId = emMessage.getStringAttribute("msgId");
conversation1 = EMClient.getInstance().chatManager().getConversation(emMessage.getFrom());
if(emMessage.getChatType() == ChatType.GroupChat){
messageList.refreshSelectLast(); //刷新UI
}else{
handler.sendEmptyMessage(1);
}
} catch (HyphenateException e) {
e.printStackTrace();

}

}
}此处handler.sendEmptyMessage(1)中的内容是:
// 删除表示撤销
conversation1.removeMessage(msgId);
messageList.refreshSelectLast();





3. MainActivity里面的处理方式: for(EMMessage emMessage : messages){
EMCmdMessageBody cmdMessageBody = (EMCmdMessageBody)emMessage.getBody();
String action = cmdMessageBody.action();
if(action.equals("REVOKE_FLAG")){
try {
msgId = emMessage.getStringAttribute("msgId");
conversation1 = EMClient.getInstance().chatManager().getConversation(emMessage.getFrom());
if(emMessage.getChatType() == ChatType.GroupChat){
refreshUIWithMessage(); // 刷新UI
}else{
handler.sendEmptyMessage(1);
}

} catch (HyphenateException e) {
e.printStackTrace();

}

}
} 此时handler.sendEmperymessage(1)中:
conversation1.removeMessage(msgId);
refreshUIWithMessage();4. DemoHelper里面的处理方式:for (final EMMessage message : messages) {
// 获取消息body
EMCmdMessageBody cmdMsgBody = (EMCmdMessageBody) message.getBody();
final String action = cmdMsgBody.action();// 获取自定义action
// 发送一个透传消息
if(action.equals("REVOKE_FLAG")){
try {
if(message.getChatType() == ChatType.GroupChat){ // 群组处理方式
conversation1 = EMClient.getInstance().chatManager().getConversation(message.getTo(), EaseCommonUtils.getConversationType(2), true);
}else{
conversation1 = EMClient.getInstance().chatManager().getConversation(message.getFrom());
}
msgId = message.getStringAttribute("msgId");

handler.sendEmptyMessage(1);
} catch (HyphenateException e) {
e.printStackTrace();
}
}
}此时handler.sendEmpertyMessage(1)中的方法是:
conversation1.removeMessage(msgId);至此,环信消息回调完成, 没有去做撤回回调处理,直接删除不好,如果想做的请自行处理.谢谢,本文纯属原创,如果有问题,可与我联系,QQ邮箱: 277667430@qq.com.本人姓氏: 侯 查看全部
环信现在的消息回撤开发文档没有更新, 所以得自己去写, 本人贡献点小东西.本项目用的SDK版本为3.3.1.
1. 首先在聊天消息里添加消息长按事件监听,里面添加撤回消息选项. 
   撤回点击之后处理为:  发送撤回消息!!!!!!
cmdMsg = EMMessage.createSendMessage(EMMessage.Type.CMD);
// 如果是群聊, 设置chatType, 默认是单聊
if(chatType == Constant.CHATTYPE_GROUP){
cmdMsg.setChatType(ChatType.GroupChat);
}
String action = "REVOKE_FLAG";
EMCmdMessageBody cmdBody=new EMCmdMessageBody(action);
// 设置消息body
cmdMsg.addBody(cmdBody);
// 设置要发给谁, 用户username 或者群聊 grouid
cmdMsg.setTo(toChatUsername);
// 通过扩展字段添加要撤回消息的iD
cmdMsg.setAttribute("msgId", msgid); // 长按的时候, 获取本信息的message的Id
// long aa = cmdMsg.getMsgTime(); // 获取这个消息的发送时间
// 获取当前系统的时间
long time = new Date().getTime();
long minite = (time - aa - 6000)/1000; // 1s = 1000
if(minite <= 120){
EMClient.getInstance().chatManager().sendMessage(cmdMsg);
cmdMsg.setMessageStatusCallback(new EMCallBack() {

@Override
public void onSuccess() {
conversation.removeMessage(msgid);
handler.sendEmptyMessage(1);
}

@Override
public void onProgress(int arg0, String arg1) {
}

@Override
public void onError(int arg0, String arg1) {
// TODO Auto-generated method stub
String a = "";
// conversation.removeMessage(msgid);
}
});

}else{
ToastUtils.ToastShortMessage(getActivity(), "发送时间超过2分钟的消息!不能被撤回!");
}
break;





此处handler.sendEmptyMessage(1);中的内容是:         
ToastUtils.ToastShortMessage(getActivity(), "消息已撤回!");
messageList.refresh();





2. 环信在获取CMD消息监听有三个地方: 分别为, EaseChatFragment, MainActivity, DemoHelper(此处为App后台运行时, 消息撤回的处理)
在EMMessageListener下的onCmdMessageReceived()中处理接受到的CMD消息, 首先贴上的为EaseChatFragment里面的: 
for(EMMessage emMessage : messages){
EMCmdMessageBody cmdMessageBody = (EMCmdMessageBody)emMessage.getBody();
String action = cmdMessageBody.action();
if(action.equals("REVOKE_FLAG")){
try {
msgId = emMessage.getStringAttribute("msgId");
conversation1 = EMClient.getInstance().chatManager().getConversation(emMessage.getFrom());
if(emMessage.getChatType() == ChatType.GroupChat){
messageList.refreshSelectLast(); //刷新UI
}else{
handler.sendEmptyMessage(1);
}
} catch (HyphenateException e) {
e.printStackTrace();

}

}
}
此处handler.sendEmptyMessage(1)中的内容是:
// 删除表示撤销
conversation1.removeMessage(msgId);
messageList.refreshSelectLast();





3. MainActivity里面的处理方式:
    for(EMMessage emMessage : messages){
EMCmdMessageBody cmdMessageBody = (EMCmdMessageBody)emMessage.getBody();
String action = cmdMessageBody.action();
if(action.equals("REVOKE_FLAG")){
try {
msgId = emMessage.getStringAttribute("msgId");
conversation1 = EMClient.getInstance().chatManager().getConversation(emMessage.getFrom());
if(emMessage.getChatType() == ChatType.GroupChat){
refreshUIWithMessage(); // 刷新UI
}else{
handler.sendEmptyMessage(1);
}

} catch (HyphenateException e) {
e.printStackTrace();

}

}
}
 
此时handler.sendEmperymessage(1)中: 
conversation1.removeMessage(msgId);
refreshUIWithMessage();
4. DemoHelper里面的处理方式:
for (final EMMessage message : messages) {
// 获取消息body
EMCmdMessageBody cmdMsgBody = (EMCmdMessageBody) message.getBody();
final String action = cmdMsgBody.action();// 获取自定义action
// 发送一个透传消息
if(action.equals("REVOKE_FLAG")){
try {
if(message.getChatType() == ChatType.GroupChat){ // 群组处理方式
conversation1 = EMClient.getInstance().chatManager().getConversation(message.getTo(), EaseCommonUtils.getConversationType(2), true);
}else{
conversation1 = EMClient.getInstance().chatManager().getConversation(message.getFrom());
}
msgId = message.getStringAttribute("msgId");

handler.sendEmptyMessage(1);
} catch (HyphenateException e) {
e.printStackTrace();
}
}
}
此时handler.sendEmpertyMessage(1)中的方法是: 
conversation1.removeMessage(msgId);
至此,环信消息回调完成, 没有去做撤回回调处理,直接删除不好,如果想做的请自行处理.谢谢,本文纯属原创,如果有问题,可与我联系,QQ邮箱: 277667430@qq.com.本人姓氏: 侯
1
评论

环信直播课堂第四期--消息撤回 和 阅后即焚 Android 阅后即焚 消息回撤

beyond 发表了文章 • 1551 次浏览 • 2016-03-24 14:31 • 来自相关话题

日期与时间:2016年3月24日15:00

持续时间:半小时

描述:聊天的时候不小心说错了话,还是发错了人,真的有后悔药吗?

环信最新版本sdk 新增阅后即焚,消息撤回功能,让聊天更加有趣,打造社交新玩法!

本期将由环信Android工程师--一鸣 ,他将给大家讲解消息撤回与阅后即焚的原理,并现场手把手教你如何实现消息撤回与阅后即焚!

直播观看地址:http://www.imgeek.org/video/
 
 
稍后直播完会把视频和demo更新在本篇文章后面!
 
视频回放:http://www.imgeek.org/video/20
  查看全部
日期与时间:2016年3月24日15:00

持续时间:半小时

描述:聊天的时候不小心说错了话,还是发错了人,真的有后悔药吗?

环信最新版本sdk 新增阅后即焚,消息撤回功能,让聊天更加有趣,打造社交新玩法!

本期将由环信Android工程师--一鸣 ,他将给大家讲解消息撤回与阅后即焚的原理,并现场手把手教你如何实现消息撤回与阅后即焚!

直播观看地址:http://www.imgeek.org/video/
 
 
稍后直播完会把视频和demo更新在本篇文章后面!
 
视频回放:http://www.imgeek.org/video/20
 
0
评论

消息回撤 消息回撤

Zero 发表了文章 • 1128 次浏览 • 2015-12-24 12:16 • 来自相关话题