环信android

环信android

0
评论

源码下载:全国首个直播答题开源项目了解一下!!!(基于环信即时通讯云) 直播答题 开源项目

beyond 发表了文章 • 1462 次浏览 • 2018-03-06 18:10 • 来自相关话题

2018年伊始,全民直播答题浪潮来袭,一度被认为是一个新的互联网风口,王思聪凭借在现象级产品《冲顶大会》上疯狂"撒币"一时风光无二,凭借超高奖金和超低门槛吸引了大量网民参与和市场的目光。正因为直播答题是一种通过极低的成本来推动APP获客、保留存、拉活跃的新模式,各类直播答题APP如雨后春笋般进入大家的视野,越来越多企业希望赶上这波风口,快速搭建一套直播答题系统。作为一名环信生态圈资深开发者,本着对技术的热衷,对环信的眷恋和对党的忠诚,基于环信即时通讯云写了“小信竞答”这个直播答题开源项目,目前项目源码已全部免费开放,希望对有需求的企业和开发者提供一个思路和参考。



 

[b]


[/b]
 
小信竞答技术架构图:



     整个项目分为管理员端,观众端和服务端,首先在服务端预设好题目,由管理员发起直播开始答题,服务端收到指令将12道题目利用环信IM推送到观众端,观众端收到题目开始答题,将答案返回给服务端由服务端进行判断,如果答题正确进入下一题,答题错误判断是否使用复活卡,这里要注意的是需要加一个复活卡的使用次数判断。
 
   在整个答题过程中,管理员端会定时去服务端查询答题结果,等到全部答题结束,点击结束本次答题,服务端将计算好的结果返回并发放奖金,使用环信IM推送将答题结果推给观众端。
 
小信竞答效果图




关于直播间:
   直播间由直播画面和聊天室两个部分组成,“小信竞答”的聊天室使用环信聊天室,集成比较简单,基础版就能支持5000人在线聊天,增值服务版聊天室人数无上限,可以去环信官网注册一个开发者账号,创建应用将APPKEY替换成自己的;环信直播聊天室可以集成所有市场主流CDN厂商的推拉流功能(腾讯,七牛,UCloud,网宿等)。
 
环信直播聊天室特点  
This is Title
 
1、采用支持高并发的异步架构,轻松应对千万级并发请求; 各项基础服务集群化,确保系统高可用性; 系统冗余度高,容量评估体系完善,弹性扩容应对流量峰值;
2、支持各种消息格式:文字、表情、图片、声音、视频、附件、位置、扩展消息;
3、支持实时配置的消息分级策略,确保重要消息优先必达; 
4、支持直播聊天室后台管理及审核功能,提供直播相关数据统计;
5、提供智能反垃圾和自定义敏感词过滤功能;
6、快速集成,demo提供高质量代码示例,可根据运营情况随时扩展;
7、聊天室人数无上限 
小信竞答项目源码: github源码地址
 
写到最后:
   
     小信竞答源码全部开放,仅供学习和参考,如果作为商业用途,按照广电总局对网络直播答题节目管理的,需要 “网络视听许可证、主持人持证、还有通过审批发放的节目备案号”,三证缺一不可,未持有《信息网络传播视听节目许可证》的任何机构和个人,一律不得开办网络直播答题节目。
 
本月底《环信公开课第19期-直播答题开源项目》将线上讲解“小信竞答”实现思路,手把手教您从零开始搭建一个直播答题项目,扫码加入公开课微信群与大牛面对面交流。




  查看全部
   2018年伊始,全民直播答题浪潮来袭,一度被认为是一个新的互联网风口,王思聪凭借在现象级产品《冲顶大会》上疯狂"撒币"一时风光无二,凭借超高奖金和超低门槛吸引了大量网民参与和市场的目光。正因为直播答题是一种通过极低的成本来推动APP获客、保留存、拉活跃的新模式,各类直播答题APP如雨后春笋般进入大家的视野,越来越多企业希望赶上这波风口,快速搭建一套直播答题系统。作为一名环信生态圈资深开发者,本着对技术的热衷,对环信的眷恋和对党的忠诚,基于环信即时通讯云写了“小信竞答”这个直播答题开源项目,目前项目源码已全部免费开放,希望对有需求的企业和开发者提供一个思路和参考。



 

[b]
微信图片_20180316190105.jpg
[/b]
 
小信竞答技术架构图:
theFlowChart.png

     整个项目分为管理员端,观众端和服务端,首先在服务端预设好题目,由管理员发起直播开始答题,服务端收到指令将12道题目利用环信IM推送到观众端,观众端收到题目开始答题,将答案返回给服务端由服务端进行判断,如果答题正确进入下一题,答题错误判断是否使用复活卡,这里要注意的是需要加一个复活卡的使用次数判断。
 
   在整个答题过程中,管理员端会定时去服务端查询答题结果,等到全部答题结束,点击结束本次答题,服务端将计算好的结果返回并发放奖金,使用环信IM推送将答题结果推给观众端。
 
小信竞答效果图

微信图片_20180316190206.jpg


关于直播间:
   直播间由直播画面和聊天室两个部分组成,“小信竞答”的聊天室使用环信聊天室,集成比较简单,基础版就能支持5000人在线聊天,增值服务版聊天室人数无上限,可以去环信官网注册一个开发者账号,创建应用将APPKEY替换成自己的;环信直播聊天室可以集成所有市场主流CDN厂商的推拉流功能(腾讯,七牛,UCloud,网宿等)。
 
环信直播聊天室特点  
This is Title
 
1、采用支持高并发的异步架构,轻松应对千万级并发请求; 各项基础服务集群化,确保系统高可用性; 系统冗余度高,容量评估体系完善,弹性扩容应对流量峰值;
2、支持各种消息格式:文字、表情、图片、声音、视频、附件、位置、扩展消息;
3、支持实时配置的消息分级策略,确保重要消息优先必达; 
4、支持直播聊天室后台管理及审核功能,提供直播相关数据统计;
5、提供智能反垃圾和自定义敏感词过滤功能;
6、快速集成,demo提供高质量代码示例,可根据运营情况随时扩展;
7、聊天室人数无上限 
小信竞答项目源码: github源码地址
 
写到最后:
   
     小信竞答源码全部开放,仅供学习和参考,如果作为商业用途,按照广电总局对网络直播答题节目管理的,需要 “网络视听许可证、主持人持证、还有通过审批发放的节目备案号”,三证缺一不可,未持有《信息网络传播视听节目许可证》的任何机构和个人,一律不得开办网络直播答题节目。
 
本月底《环信公开课第19期-直播答题开源项目》将线上讲解“小信竞答”实现思路,手把手教您从零开始搭建一个直播答题项目,扫码加入公开课微信群与大牛面对面交流。
微信图片_20180316190334.jpg

 
8
回复

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

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

12
评论

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

dujiepeng 发表了文章 • 12101 次浏览 • 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...小伙伴们还有什么想知道欢迎跟帖提出。
 
1
回复

android 集成环信后 第一次登录闪退,重新打开app调刚才的登录接口就没有问题 环信android

回复

liu464809 回复了问题 • 1 人关注 • 463 次浏览 • 2017-05-18 15:11 • 来自相关话题

0
评论

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

回眸,祭奠记忆的尘埃 发表了文章 • 649 次浏览 • 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.本人姓氏: 侯
8
回复

集成环信音视频通话,发起通话手机没有反应,求解答 android 环信android

baoshu 回复了问题 • 2 人关注 • 455 次浏览 • 2017-02-28 12:45 • 来自相关话题

4
回复

环信303:unknown server error 环信android 303 Unknown server error

baoshu 回复了问题 • 2 人关注 • 3669 次浏览 • 2017-02-20 09:51 • 来自相关话题

1
回复

环信批量删除聊天记录怎么搞 环信android

zhuhy 回复了问题 • 2 人关注 • 711 次浏览 • 2016-12-24 21:18 • 来自相关话题

1
回复

IOS 不能设置自动同意好友申请吗? 申请好友 环信android 环信 ios

donghai 回复了问题 • 2 人关注 • 829 次浏览 • 2016-11-26 22:26 • 来自相关话题

1
回复

环信消息排序 环信android

zhuhy 回复了问题 • 2 人关注 • 945 次浏览 • 2016-07-02 16:44 • 来自相关话题

1
回复

Android环信:传入群组id,结果找不到该群组 环信android

Wxin 回复了问题 • 2 人关注 • 1065 次浏览 • 2016-06-13 18:39 • 来自相关话题

1
回复

如果所示的报错信息,调用不到endCall 环信android

回复

jiangym 回复了问题 • 1 人关注 • 1125 次浏览 • 2016-03-03 21:26 • 来自相关话题

0
评论

源码下载:全国首个直播答题开源项目了解一下!!!(基于环信即时通讯云) 直播答题 开源项目

beyond 发表了文章 • 1462 次浏览 • 2018-03-06 18:10 • 来自相关话题

2018年伊始,全民直播答题浪潮来袭,一度被认为是一个新的互联网风口,王思聪凭借在现象级产品《冲顶大会》上疯狂"撒币"一时风光无二,凭借超高奖金和超低门槛吸引了大量网民参与和市场的目光。正因为直播答题是一种通过极低的成本来推动APP获客、保留存、拉活跃的新模式,各类直播答题APP如雨后春笋般进入大家的视野,越来越多企业希望赶上这波风口,快速搭建一套直播答题系统。作为一名环信生态圈资深开发者,本着对技术的热衷,对环信的眷恋和对党的忠诚,基于环信即时通讯云写了“小信竞答”这个直播答题开源项目,目前项目源码已全部免费开放,希望对有需求的企业和开发者提供一个思路和参考。



 

[b]


[/b]
 
小信竞答技术架构图:



     整个项目分为管理员端,观众端和服务端,首先在服务端预设好题目,由管理员发起直播开始答题,服务端收到指令将12道题目利用环信IM推送到观众端,观众端收到题目开始答题,将答案返回给服务端由服务端进行判断,如果答题正确进入下一题,答题错误判断是否使用复活卡,这里要注意的是需要加一个复活卡的使用次数判断。
 
   在整个答题过程中,管理员端会定时去服务端查询答题结果,等到全部答题结束,点击结束本次答题,服务端将计算好的结果返回并发放奖金,使用环信IM推送将答题结果推给观众端。
 
小信竞答效果图




关于直播间:
   直播间由直播画面和聊天室两个部分组成,“小信竞答”的聊天室使用环信聊天室,集成比较简单,基础版就能支持5000人在线聊天,增值服务版聊天室人数无上限,可以去环信官网注册一个开发者账号,创建应用将APPKEY替换成自己的;环信直播聊天室可以集成所有市场主流CDN厂商的推拉流功能(腾讯,七牛,UCloud,网宿等)。
 
环信直播聊天室特点  
This is Title
 
1、采用支持高并发的异步架构,轻松应对千万级并发请求; 各项基础服务集群化,确保系统高可用性; 系统冗余度高,容量评估体系完善,弹性扩容应对流量峰值;
2、支持各种消息格式:文字、表情、图片、声音、视频、附件、位置、扩展消息;
3、支持实时配置的消息分级策略,确保重要消息优先必达; 
4、支持直播聊天室后台管理及审核功能,提供直播相关数据统计;
5、提供智能反垃圾和自定义敏感词过滤功能;
6、快速集成,demo提供高质量代码示例,可根据运营情况随时扩展;
7、聊天室人数无上限 
小信竞答项目源码: github源码地址
 
写到最后:
   
     小信竞答源码全部开放,仅供学习和参考,如果作为商业用途,按照广电总局对网络直播答题节目管理的,需要 “网络视听许可证、主持人持证、还有通过审批发放的节目备案号”,三证缺一不可,未持有《信息网络传播视听节目许可证》的任何机构和个人,一律不得开办网络直播答题节目。
 
本月底《环信公开课第19期-直播答题开源项目》将线上讲解“小信竞答”实现思路,手把手教您从零开始搭建一个直播答题项目,扫码加入公开课微信群与大牛面对面交流。




  查看全部
   2018年伊始,全民直播答题浪潮来袭,一度被认为是一个新的互联网风口,王思聪凭借在现象级产品《冲顶大会》上疯狂"撒币"一时风光无二,凭借超高奖金和超低门槛吸引了大量网民参与和市场的目光。正因为直播答题是一种通过极低的成本来推动APP获客、保留存、拉活跃的新模式,各类直播答题APP如雨后春笋般进入大家的视野,越来越多企业希望赶上这波风口,快速搭建一套直播答题系统。作为一名环信生态圈资深开发者,本着对技术的热衷,对环信的眷恋和对党的忠诚,基于环信即时通讯云写了“小信竞答”这个直播答题开源项目,目前项目源码已全部免费开放,希望对有需求的企业和开发者提供一个思路和参考。



 

[b]
微信图片_20180316190105.jpg
[/b]
 
小信竞答技术架构图:
theFlowChart.png

     整个项目分为管理员端,观众端和服务端,首先在服务端预设好题目,由管理员发起直播开始答题,服务端收到指令将12道题目利用环信IM推送到观众端,观众端收到题目开始答题,将答案返回给服务端由服务端进行判断,如果答题正确进入下一题,答题错误判断是否使用复活卡,这里要注意的是需要加一个复活卡的使用次数判断。
 
   在整个答题过程中,管理员端会定时去服务端查询答题结果,等到全部答题结束,点击结束本次答题,服务端将计算好的结果返回并发放奖金,使用环信IM推送将答题结果推给观众端。
 
小信竞答效果图

微信图片_20180316190206.jpg


关于直播间:
   直播间由直播画面和聊天室两个部分组成,“小信竞答”的聊天室使用环信聊天室,集成比较简单,基础版就能支持5000人在线聊天,增值服务版聊天室人数无上限,可以去环信官网注册一个开发者账号,创建应用将APPKEY替换成自己的;环信直播聊天室可以集成所有市场主流CDN厂商的推拉流功能(腾讯,七牛,UCloud,网宿等)。
 
环信直播聊天室特点  
This is Title
 
1、采用支持高并发的异步架构,轻松应对千万级并发请求; 各项基础服务集群化,确保系统高可用性; 系统冗余度高,容量评估体系完善,弹性扩容应对流量峰值;
2、支持各种消息格式:文字、表情、图片、声音、视频、附件、位置、扩展消息;
3、支持实时配置的消息分级策略,确保重要消息优先必达; 
4、支持直播聊天室后台管理及审核功能,提供直播相关数据统计;
5、提供智能反垃圾和自定义敏感词过滤功能;
6、快速集成,demo提供高质量代码示例,可根据运营情况随时扩展;
7、聊天室人数无上限 
小信竞答项目源码: github源码地址
 
写到最后:
   
     小信竞答源码全部开放,仅供学习和参考,如果作为商业用途,按照广电总局对网络直播答题节目管理的,需要 “网络视听许可证、主持人持证、还有通过审批发放的节目备案号”,三证缺一不可,未持有《信息网络传播视听节目许可证》的任何机构和个人,一律不得开办网络直播答题节目。
 
本月底《环信公开课第19期-直播答题开源项目》将线上讲解“小信竞答”实现思路,手把手教您从零开始搭建一个直播答题项目,扫码加入公开课微信群与大牛面对面交流。
微信图片_20180316190334.jpg

 
12
评论

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

dujiepeng 发表了文章 • 12101 次浏览 • 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 人关注 • 7676 次浏览 • 2018-02-07 11:49 • 来自相关话题

0
评论

源码下载:全国首个直播答题开源项目了解一下!!!(基于环信即时通讯云) 直播答题 开源项目

beyond 发表了文章 • 1462 次浏览 • 2018-03-06 18:10 • 来自相关话题

2018年伊始,全民直播答题浪潮来袭,一度被认为是一个新的互联网风口,王思聪凭借在现象级产品《冲顶大会》上疯狂"撒币"一时风光无二,凭借超高奖金和超低门槛吸引了大量网民参与和市场的目光。正因为直播答题是一种通过极低的成本来推动APP获客、保留存、拉活跃的新模式,各类直播答题APP如雨后春笋般进入大家的视野,越来越多企业希望赶上这波风口,快速搭建一套直播答题系统。作为一名环信生态圈资深开发者,本着对技术的热衷,对环信的眷恋和对党的忠诚,基于环信即时通讯云写了“小信竞答”这个直播答题开源项目,目前项目源码已全部免费开放,希望对有需求的企业和开发者提供一个思路和参考。



 

[b]


[/b]
 
小信竞答技术架构图:



     整个项目分为管理员端,观众端和服务端,首先在服务端预设好题目,由管理员发起直播开始答题,服务端收到指令将12道题目利用环信IM推送到观众端,观众端收到题目开始答题,将答案返回给服务端由服务端进行判断,如果答题正确进入下一题,答题错误判断是否使用复活卡,这里要注意的是需要加一个复活卡的使用次数判断。
 
   在整个答题过程中,管理员端会定时去服务端查询答题结果,等到全部答题结束,点击结束本次答题,服务端将计算好的结果返回并发放奖金,使用环信IM推送将答题结果推给观众端。
 
小信竞答效果图




关于直播间:
   直播间由直播画面和聊天室两个部分组成,“小信竞答”的聊天室使用环信聊天室,集成比较简单,基础版就能支持5000人在线聊天,增值服务版聊天室人数无上限,可以去环信官网注册一个开发者账号,创建应用将APPKEY替换成自己的;环信直播聊天室可以集成所有市场主流CDN厂商的推拉流功能(腾讯,七牛,UCloud,网宿等)。
 
环信直播聊天室特点  
This is Title
 
1、采用支持高并发的异步架构,轻松应对千万级并发请求; 各项基础服务集群化,确保系统高可用性; 系统冗余度高,容量评估体系完善,弹性扩容应对流量峰值;
2、支持各种消息格式:文字、表情、图片、声音、视频、附件、位置、扩展消息;
3、支持实时配置的消息分级策略,确保重要消息优先必达; 
4、支持直播聊天室后台管理及审核功能,提供直播相关数据统计;
5、提供智能反垃圾和自定义敏感词过滤功能;
6、快速集成,demo提供高质量代码示例,可根据运营情况随时扩展;
7、聊天室人数无上限 
小信竞答项目源码: github源码地址
 
写到最后:
   
     小信竞答源码全部开放,仅供学习和参考,如果作为商业用途,按照广电总局对网络直播答题节目管理的,需要 “网络视听许可证、主持人持证、还有通过审批发放的节目备案号”,三证缺一不可,未持有《信息网络传播视听节目许可证》的任何机构和个人,一律不得开办网络直播答题节目。
 
本月底《环信公开课第19期-直播答题开源项目》将线上讲解“小信竞答”实现思路,手把手教您从零开始搭建一个直播答题项目,扫码加入公开课微信群与大牛面对面交流。




  查看全部
   2018年伊始,全民直播答题浪潮来袭,一度被认为是一个新的互联网风口,王思聪凭借在现象级产品《冲顶大会》上疯狂"撒币"一时风光无二,凭借超高奖金和超低门槛吸引了大量网民参与和市场的目光。正因为直播答题是一种通过极低的成本来推动APP获客、保留存、拉活跃的新模式,各类直播答题APP如雨后春笋般进入大家的视野,越来越多企业希望赶上这波风口,快速搭建一套直播答题系统。作为一名环信生态圈资深开发者,本着对技术的热衷,对环信的眷恋和对党的忠诚,基于环信即时通讯云写了“小信竞答”这个直播答题开源项目,目前项目源码已全部免费开放,希望对有需求的企业和开发者提供一个思路和参考。



 

[b]
微信图片_20180316190105.jpg
[/b]
 
小信竞答技术架构图:
theFlowChart.png

     整个项目分为管理员端,观众端和服务端,首先在服务端预设好题目,由管理员发起直播开始答题,服务端收到指令将12道题目利用环信IM推送到观众端,观众端收到题目开始答题,将答案返回给服务端由服务端进行判断,如果答题正确进入下一题,答题错误判断是否使用复活卡,这里要注意的是需要加一个复活卡的使用次数判断。
 
   在整个答题过程中,管理员端会定时去服务端查询答题结果,等到全部答题结束,点击结束本次答题,服务端将计算好的结果返回并发放奖金,使用环信IM推送将答题结果推给观众端。
 
小信竞答效果图

微信图片_20180316190206.jpg


关于直播间:
   直播间由直播画面和聊天室两个部分组成,“小信竞答”的聊天室使用环信聊天室,集成比较简单,基础版就能支持5000人在线聊天,增值服务版聊天室人数无上限,可以去环信官网注册一个开发者账号,创建应用将APPKEY替换成自己的;环信直播聊天室可以集成所有市场主流CDN厂商的推拉流功能(腾讯,七牛,UCloud,网宿等)。
 
环信直播聊天室特点  
This is Title
 
1、采用支持高并发的异步架构,轻松应对千万级并发请求; 各项基础服务集群化,确保系统高可用性; 系统冗余度高,容量评估体系完善,弹性扩容应对流量峰值;
2、支持各种消息格式:文字、表情、图片、声音、视频、附件、位置、扩展消息;
3、支持实时配置的消息分级策略,确保重要消息优先必达; 
4、支持直播聊天室后台管理及审核功能,提供直播相关数据统计;
5、提供智能反垃圾和自定义敏感词过滤功能;
6、快速集成,demo提供高质量代码示例,可根据运营情况随时扩展;
7、聊天室人数无上限 
小信竞答项目源码: github源码地址
 
写到最后:
   
     小信竞答源码全部开放,仅供学习和参考,如果作为商业用途,按照广电总局对网络直播答题节目管理的,需要 “网络视听许可证、主持人持证、还有通过审批发放的节目备案号”,三证缺一不可,未持有《信息网络传播视听节目许可证》的任何机构和个人,一律不得开办网络直播答题节目。
 
本月底《环信公开课第19期-直播答题开源项目》将线上讲解“小信竞答”实现思路,手把手教您从零开始搭建一个直播答题项目,扫码加入公开课微信群与大牛面对面交流。
微信图片_20180316190334.jpg

 
8
回复

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

回复

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

12
评论

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

dujiepeng 发表了文章 • 12101 次浏览 • 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...小伙伴们还有什么想知道欢迎跟帖提出。
 
1
回复

android 集成环信后 第一次登录闪退,重新打开app调刚才的登录接口就没有问题 环信android

回复

liu464809 回复了问题 • 1 人关注 • 463 次浏览 • 2017-05-18 15:11 • 来自相关话题

8
回复

集成环信音视频通话,发起通话手机没有反应,求解答 android 环信android

回复

baoshu 回复了问题 • 2 人关注 • 455 次浏览 • 2017-02-28 12:45 • 来自相关话题

4
回复

环信303:unknown server error 环信android 303 Unknown server error

回复

baoshu 回复了问题 • 2 人关注 • 3669 次浏览 • 2017-02-20 09:51 • 来自相关话题

1
回复

环信批量删除聊天记录怎么搞 环信android

回复

zhuhy 回复了问题 • 2 人关注 • 711 次浏览 • 2016-12-24 21:18 • 来自相关话题

1
回复

IOS 不能设置自动同意好友申请吗? 申请好友 环信android 环信 ios

回复

donghai 回复了问题 • 2 人关注 • 829 次浏览 • 2016-11-26 22:26 • 来自相关话题

1
回复

环信消息排序 环信android

回复

zhuhy 回复了问题 • 2 人关注 • 945 次浏览 • 2016-07-02 16:44 • 来自相关话题

1
回复

Android环信:传入群组id,结果找不到该群组 环信android

回复

Wxin 回复了问题 • 2 人关注 • 1065 次浏览 • 2016-06-13 18:39 • 来自相关话题

1
回复

如果所示的报错信息,调用不到endCall 环信android

回复

jiangym 回复了问题 • 1 人关注 • 1125 次浏览 • 2016-03-03 21:26 • 来自相关话题

0
评论

源码下载:全国首个直播答题开源项目了解一下!!!(基于环信即时通讯云) 直播答题 开源项目

beyond 发表了文章 • 1462 次浏览 • 2018-03-06 18:10 • 来自相关话题

2018年伊始,全民直播答题浪潮来袭,一度被认为是一个新的互联网风口,王思聪凭借在现象级产品《冲顶大会》上疯狂"撒币"一时风光无二,凭借超高奖金和超低门槛吸引了大量网民参与和市场的目光。正因为直播答题是一种通过极低的成本来推动APP获客、保留存、拉活跃的新模式,各类直播答题APP如雨后春笋般进入大家的视野,越来越多企业希望赶上这波风口,快速搭建一套直播答题系统。作为一名环信生态圈资深开发者,本着对技术的热衷,对环信的眷恋和对党的忠诚,基于环信即时通讯云写了“小信竞答”这个直播答题开源项目,目前项目源码已全部免费开放,希望对有需求的企业和开发者提供一个思路和参考。



 

[b]


[/b]
 
小信竞答技术架构图:



     整个项目分为管理员端,观众端和服务端,首先在服务端预设好题目,由管理员发起直播开始答题,服务端收到指令将12道题目利用环信IM推送到观众端,观众端收到题目开始答题,将答案返回给服务端由服务端进行判断,如果答题正确进入下一题,答题错误判断是否使用复活卡,这里要注意的是需要加一个复活卡的使用次数判断。
 
   在整个答题过程中,管理员端会定时去服务端查询答题结果,等到全部答题结束,点击结束本次答题,服务端将计算好的结果返回并发放奖金,使用环信IM推送将答题结果推给观众端。
 
小信竞答效果图




关于直播间:
   直播间由直播画面和聊天室两个部分组成,“小信竞答”的聊天室使用环信聊天室,集成比较简单,基础版就能支持5000人在线聊天,增值服务版聊天室人数无上限,可以去环信官网注册一个开发者账号,创建应用将APPKEY替换成自己的;环信直播聊天室可以集成所有市场主流CDN厂商的推拉流功能(腾讯,七牛,UCloud,网宿等)。
 
环信直播聊天室特点  
This is Title
 
1、采用支持高并发的异步架构,轻松应对千万级并发请求; 各项基础服务集群化,确保系统高可用性; 系统冗余度高,容量评估体系完善,弹性扩容应对流量峰值;
2、支持各种消息格式:文字、表情、图片、声音、视频、附件、位置、扩展消息;
3、支持实时配置的消息分级策略,确保重要消息优先必达; 
4、支持直播聊天室后台管理及审核功能,提供直播相关数据统计;
5、提供智能反垃圾和自定义敏感词过滤功能;
6、快速集成,demo提供高质量代码示例,可根据运营情况随时扩展;
7、聊天室人数无上限 
小信竞答项目源码: github源码地址
 
写到最后:
   
     小信竞答源码全部开放,仅供学习和参考,如果作为商业用途,按照广电总局对网络直播答题节目管理的,需要 “网络视听许可证、主持人持证、还有通过审批发放的节目备案号”,三证缺一不可,未持有《信息网络传播视听节目许可证》的任何机构和个人,一律不得开办网络直播答题节目。
 
本月底《环信公开课第19期-直播答题开源项目》将线上讲解“小信竞答”实现思路,手把手教您从零开始搭建一个直播答题项目,扫码加入公开课微信群与大牛面对面交流。




  查看全部
   2018年伊始,全民直播答题浪潮来袭,一度被认为是一个新的互联网风口,王思聪凭借在现象级产品《冲顶大会》上疯狂"撒币"一时风光无二,凭借超高奖金和超低门槛吸引了大量网民参与和市场的目光。正因为直播答题是一种通过极低的成本来推动APP获客、保留存、拉活跃的新模式,各类直播答题APP如雨后春笋般进入大家的视野,越来越多企业希望赶上这波风口,快速搭建一套直播答题系统。作为一名环信生态圈资深开发者,本着对技术的热衷,对环信的眷恋和对党的忠诚,基于环信即时通讯云写了“小信竞答”这个直播答题开源项目,目前项目源码已全部免费开放,希望对有需求的企业和开发者提供一个思路和参考。



 

[b]
微信图片_20180316190105.jpg
[/b]
 
小信竞答技术架构图:
theFlowChart.png

     整个项目分为管理员端,观众端和服务端,首先在服务端预设好题目,由管理员发起直播开始答题,服务端收到指令将12道题目利用环信IM推送到观众端,观众端收到题目开始答题,将答案返回给服务端由服务端进行判断,如果答题正确进入下一题,答题错误判断是否使用复活卡,这里要注意的是需要加一个复活卡的使用次数判断。
 
   在整个答题过程中,管理员端会定时去服务端查询答题结果,等到全部答题结束,点击结束本次答题,服务端将计算好的结果返回并发放奖金,使用环信IM推送将答题结果推给观众端。
 
小信竞答效果图

微信图片_20180316190206.jpg


关于直播间:
   直播间由直播画面和聊天室两个部分组成,“小信竞答”的聊天室使用环信聊天室,集成比较简单,基础版就能支持5000人在线聊天,增值服务版聊天室人数无上限,可以去环信官网注册一个开发者账号,创建应用将APPKEY替换成自己的;环信直播聊天室可以集成所有市场主流CDN厂商的推拉流功能(腾讯,七牛,UCloud,网宿等)。
 
环信直播聊天室特点  
This is Title
 
1、采用支持高并发的异步架构,轻松应对千万级并发请求; 各项基础服务集群化,确保系统高可用性; 系统冗余度高,容量评估体系完善,弹性扩容应对流量峰值;
2、支持各种消息格式:文字、表情、图片、声音、视频、附件、位置、扩展消息;
3、支持实时配置的消息分级策略,确保重要消息优先必达; 
4、支持直播聊天室后台管理及审核功能,提供直播相关数据统计;
5、提供智能反垃圾和自定义敏感词过滤功能;
6、快速集成,demo提供高质量代码示例,可根据运营情况随时扩展;
7、聊天室人数无上限 
小信竞答项目源码: github源码地址
 
写到最后:
   
     小信竞答源码全部开放,仅供学习和参考,如果作为商业用途,按照广电总局对网络直播答题节目管理的,需要 “网络视听许可证、主持人持证、还有通过审批发放的节目备案号”,三证缺一不可,未持有《信息网络传播视听节目许可证》的任何机构和个人,一律不得开办网络直播答题节目。
 
本月底《环信公开课第19期-直播答题开源项目》将线上讲解“小信竞答”实现思路,手把手教您从零开始搭建一个直播答题项目,扫码加入公开课微信群与大牛面对面交流。
微信图片_20180316190334.jpg

 
8
回复

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

回复

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

12
评论

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

dujiepeng 发表了文章 • 12101 次浏览 • 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 消息回撤

回眸,祭奠记忆的尘埃 发表了文章 • 649 次浏览 • 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.本人姓氏: 侯