默认
发表评论 11
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] 求助rainbowchat中如何自定义一个聊天消息(红包功能)
阅读(35597) | 评论(11 收藏 淘帖
现在正在做红包功能,需要自定义一个消息类型以区分其它消息,但是SDK中MsgType只有下面几种类型:public interface MsgType {    int TYPE_TEXT = 0;
    int TYPE_IMAGE = 1;
    int TYPE_VOICE = 2;
    int TYPE_GIFT$SEND = 3;
    int TYPE_GIFT$GET = 4;
    int TYPE_FILE = 5;
    int TYPE_SHORTVIDEO = 6;
    int TYPE_CONTACT = 7;
    int TYPE_LOCATION = 8;
    int TYPE_SYSTEAM$INFO = 90;
}
如何自定义一个红包的消息类型?
另外,发红包的逻辑这样合理吗? 1.发红包填写完金额之后调用服务接口,成功之后往本地消息列表里插入一条红包消息,2.服务端负责给群里其他成员发送该红包消息
通常红包的处理逻辑是怎么样的?
感谢回复!!! 再另外,safari浏览器中不显示滑块

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:RainbowChat
上一篇:[已回复] 求助RainbowChat IM的APP和web消息同步等功能的实现疑问下一篇:[已解决] 反馈RainbowChat ios app4.0聊天UI在流海屏的显示问题
推荐方案
评论 11
抱歉,忘记回复了,先睡了,明天上午10点半后再详细回复你。
引用:JackJiang 发表于 2020-08-13 00:36
抱歉,忘记回复了,先睡了,明天上午10点半后再详细回复你。

好的,大佬,注意休息!
引用:huangheli 发表于 2020-08-13 08:52
好的,大佬,注意休息!

核实一下,你公司叫什么?(不用说全名),我核实一下授权和你用的版本号。
你领导已经跟我说了,我知道你现在的版本号了,我来详细跟你说。你记得按我下面截图的说明的流程,先把一个文本消息的显示和发送逻辑,稍微读一下,掌握一下,就能理解的更清楚了。

im这种东西,多底层到应用层,涉及环节有点多,所以新增一条消息其实是看起来比较繁琐,熟悉后,套路其实都一样,所以不用担心,不明白你的你就在帖子里回复。

以下回复是关于“如何新增一个自定义聊天消息”。

第一步:新增一个聊天消息类型:

[已回复] 求助rainbowchat中如何自定义一个聊天消息(红包功能)_图片0.png

第二步:实现新增的消息类型在聊天UI的显示:

1)新建聊天列表中要用到的.xml布局文件:
注意:“*_left.xml”表示用于显示的是收到的消息,“*_right.xml”表示用于显示的是发出的消息。
[已回复] 求助rainbowchat中如何自定义一个聊天消息(红包功能)_图片1.png

2)使用上述新建的xml布局文件:
[已回复] 求助rainbowchat中如何自定义一个聊天消息(红包功能)_图片2.png

3)在聊天界面的Adater代码中对UI进行赋值,以便显示消息内容:
补充:详见AbstractChattingListAdapter.java中的getView()方法代码。
[已回复] 求助rainbowchat中如何自定义一个聊天消息(红包功能)_图片3.png

第三步:新类型聊天消息的数据发送实现:

1)新增一个该类型的消息发送代码:
[已回复] 求助rainbowchat中如何自定义一个聊天消息(红包功能)_图片4.png

2)聊天界面中,调用该发送代码:
[已回复] 求助rainbowchat中如何自定义一个聊天消息(红包功能)_图片5.png

[已回复] 求助rainbowchat中如何自定义一个聊天消息(红包功能)_图片6.png
[已回复] 求助rainbowchat中如何自定义一个聊天消息(红包功能)_图片7.png
然后,你要做的具体的红包功能,你在理解了上一条我回复的自定义消息的大致逻辑实现后,你看看我下面要给你的红包思路。

我一般是这样给思路的:
..............
实现上不难。唯一要注意的是,因为涉及钱的处理,所以安全性要按照自已的场景,相应的把安全级别做的仔细一点。就是这样了。


【关于接入“红包”功能的实现思路】:
加红包功能,你可以按下面的思路进行功能拆解和实现。

【第一步】:先实现红包消息的纯消息指统和UI界面交互的功能实现:

  • 1)先不管红包的支付问题,仿照现有的图片、短语音等消息类型,弄出一个红包类型的消息(只要是指令的收、发、红包消息的UI显示);
  • 2)第1)步完成后,虽然没有“真的”支付,但“看起来”的红包消息样子已经有了;

【第二步】:在第一步的基本上,在UI交付的环节里加上支付功能逻辑

  • 1)红包确认发送时,接入你的支付接口(具体以你的支付方提供的SDK为准了,这个跟普通的APP里没有区别);
  • 2)收到红包消息后,点击收红包的功能里,实现红包数据的记入逻辑(这个按你设计的红包数据处理逻辑去实现就是)。

【原则】:

  • 以http短连接为主,socket长连接为辅,为辅即表示socket通知只作为通知,而不是主逻辑。

分成以上2步,可以简化完整红包功能的逻辑。仅供参考。

引用:JackJiang 发表于 2020-08-13 12:00
然后,你要做的具体的红包功能,你在理解了上一条我回复的自定义消息的大致逻辑实现后,你看看我下面要给你 ...

[已回复] 求助rainbowchat中如何自定义一个聊天消息(红包功能)_截屏2020-08-13 下午1.10.54.png
老佬,我如果自定义一个消息,要用到MsgType这个接口,但是这个接口在SDK的Jar包中,我没法添加新的消息类型,这种情况通常的解决办法是什么?
上一个回复应该是“大佬”,不是“老佬”,见凉啊!
引用:huangheli 发表于 2020-08-13 13:16
老佬,我如果自定义一个消息,要用到MsgType这个接口,但是这个接口在SDK的Jar包中,我没法添加新的消 ...

这个jar里,都是android端和服务端共用的javabean而已,你去服务端的包里看一下,改动后,再打个jar放到android端就行了。同样的类,总不至于android和服务端都维护一份,那就太low了。

打jar包总归是基础了,你没打过就百度一下。 用Eclipse的话,下载个fatjar插件就更简单了。

你可以把.jar扩展名改成.zip,解压一下就知道打进的具体都是什么类了。
引用:JackJiang 发表于 2020-08-13 12:00
然后,你要做的具体的红包功能,你在理解了上一条我回复的自定义消息的大致逻辑实现后,你看看我下面要给你 ...

多谢指点
引用:JackJiang 发表于 2020-08-13 12:00
然后,你要做的具体的红包功能,你在理解了上一条我回复的自定义消息的大致逻辑实现后,你看看我下面要给你 ...

大佬,我这边还有一个问题有点困惑,我们定义了一个红包的消息类型,值为9,红包被群成员抢过之后应该是一种什么状态,需要定义为另一种消息类型吗? 用什么来区分红包抢过还不没抢过?
引用:huangheli 发表于 2020-08-13 19:45
大佬,我这边还有一个问题有点困惑,我们定义了一个红包的消息类型,值为9,红包被群成员抢过之后应该是 ...

不需要加消息类型了。抢过跟没抢过,你在数据里加一个字段表示就好了,只是在界面上显示,当抢过时,像微信一样,把浮红包浮沉息的背景色变淡而已。

对于ui来说,抢过没抢过的,只是颜色的区别,你数据里也只是个字段的区别。具体你自已构思一样,这对程序员来说是基本的需求转化能力。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部