Skip to content

Commit

Permalink
sdk添加注册消息的接口,可以允许sdk注册自定义消息
Browse files Browse the repository at this point in the history
  • Loading branch information
heavyrian2012 committed Feb 19, 2025
1 parent ff75379 commit d14dc74
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
11 changes: 8 additions & 3 deletions sdk/src/main/java/cn/wildfirechat/sdk/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -990,7 +990,7 @@ static void testReadMessageContentFromDB() throws Exception {
WFCMessage.MessageContent protoContent = WFCMessage.MessageContent.parseFrom(data);
//2. 调用MessageContentFactory接口解析为消息内容。
MessageContent messageContent = MessageContentFactory.decodeMessageContent(protoContent);
//3. 检查是哪种消息,如果没有定义,会回落到UnknownMessageContent。
//3. 检查是哪种消息,如果没有定义,会回落到UnknownMessageContent。自定义消息看本函数最后的注释。
if(messageContent instanceof TextMessageContent) {
TextMessageContent txt = (TextMessageContent)messageContent;
System.out.println("读取到的是文本消息,内容为:" + txt.getText());
Expand All @@ -1001,11 +1001,10 @@ static void testReadMessageContentFromDB() throws Exception {
SoundMessageContent sound = (SoundMessageContent) messageContent;
System.out.println("读取到的是声音消息,声音链接为:" + sound.getRemoteMediaUrl());
}

byte[] data2 = {8,3,18,8,91,-27,-101,-66,-25,-119,-121,93,42,-106,33,-1,-40,-1,-32,0,16,74,70,73,70,0,1,1,0,0,72,0,72,0,0,-1,-31,0,-128,69,120,105,102,0,0,77,77,0,42,0,0,0,8,0,5,1,18,0,3,0,0,0,1,0,1,0,0,1,26,0,5,0,0,0,1,0,0,0,74,1,27,0,5,0,0,0,1,0,0,0,82,1,40,0,3,0,0,0,1,0,2,0,0,-121,105,0,4,0,0,0,1,0,0,0,90,0,0,0,0,0,0,0,72,0,0,0,1,0,0,0,72,0,0,0,1,0,2,-96,2,0,4,0,0,0,1,0,0,0,120,-96,3,0,4,0,0,0,1,0,0,0,90,0,0,0,0,-1,-19,0,56,80,104,111,116,111,115,104,111,112,32,51,46,48,0,56,66,73,77,4,4,0,0,0,0,0,0,56,66,73,77,4,37,0,0,0,0,0,16,-44,29,-116,-39,-113,0,-78,4,-23,-128,9,-104,-20,-8,66,126,-1,-64,0,17,8,0,90,0,120,3,1,34,0,2,17,1,3,17,1,-1,-60,0,31,0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,16,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125,1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,-127,-111,-95,8,35,66,-79,-63,21,82,-47,-16,36,51,98,114,-126,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,-125,-124,-123,-122,-121,-120,-119,-118,-110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54,-46,-45,-44,-43,-42,-41,-40,-39,-38,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-1,-60,0,31,1,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,17,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119,0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,-127,8,20,66,-111,-95,-79,-63,9,35,51,82,-16,21,98,114,-47,10,22,36,52,-31,37,-15,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,-126,-125,-124,-123,-122,-121,-120,-119,-118,-110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54,-46,-45,-44,-43,-42,-41,-40,-39,-38,-30,-29,-28,-27,-26,-25,-24,-23,-22,-14,-13,-12,-11,-10,-9,-8,-7,-6,-1,-37,0,67,0,7,7,7,7,7,7,12,7,7,12,17,12,12,12,17,23,17,17,17,17,23,30,23,23,23,23,23,30,36,30,30,30,30,30,30,36,36,36,36,36,36,36,36,43,43,43,43,43,43,50,50,50,50,50,56,56,56,56,56,56,56,56,56,56,-1,-37,0,67,1,9,9,9,14,13,14,25,13,13,25,59,40,33,40,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,-1,-35,0,4,0,8,-1,-38,0,12,3,1,0,2,17,3,17,0,63,0,-10,-105,36,113,72,-120,-60,-28,-43,67,116,17,-128,110,51,84,39,-15,5,-67,-76,-51,4,-118,119,41,80,49,-126,14,-29,-113,-49,-38,-67,7,-95,-58,107,94,95,-38,105,-42,-19,61,-53,-31,87,0,-128,50,121,-10,21,-25,45,-29,24,83,82,-70,-108,40,72,-99,48,27,119,-33,-37,-128,15,-79,-58,113,92,55,-118,-4,69,117,37,-52,-78,70,75,64,73,-17,-110,51,-39,-79,-45,25,3,-81,21,-64,92,11,-15,8,126,112,79,126,120,-4,51,92,115,-100,-37,-9,122,29,52,-24,74,105,-72,-90,-19,-65,-111,-35,-66,-69,61,-68,-53,58,42,-74,27,40,115,-100,1,-33,7,-127,-57,-91,83,58,-91,-68,-118,-17,104,29,100,35,-126,15,0,-6,-12,-19,-19,92,4,-113,118,-15,-94,-88,99,-22,15,92,-109,-40,119,-85,80,-36,62,37,-106,33,-60,100,29,-93,-48,-25,56,29,-64,-17,-51,115,52,-57,99,-83,77,98,-2,11,127,32,-50,-78,4,108,-126,-92,-110,119,117,-4,61,106,57,-17,93,-26,73,-29,-111,67,63,-16,-89,0,-12,-55,36,86,108,50,92,-56,-56,-118,-83,16,94,51,-73,-8,122,-125,-109,-127,-118,-93,20,-47,-68,-98,77,-72,43,-55,63,54,122,-46,72,71,71,113,114,-56,-65,56,42,-52,119,21,-58,1,-4,77,85,121,-30,114,55,124,-121,24,76,-13,-100,-5,-42,125,-36,-26,84,38,104,-39,-101,3,110,50,112,123,-3,69,101,-61,-26,93,72,-85,24,36,-81,60,123,125,105,-88,-36,-92,-101,-47,29,11,106,119,118,-73,94,76,39,115,47,-54,-85,-100,-125,-63,-12,-21,89,-15,60,-87,116,34,-108,5,12,-92,-85,12,17,-45,-7,118,53,89,-95,-119,51,113,43,48,-105,35,29,0,30,-60,99,53,-87,110,-10,-122,53,86,-61,73,-27,-107,100,28,6,-7,-117,103,-111,-12,-4,-86,-29,22,-12,71,68,48,-107,102,-38,81,45,44,75,4,108,-77,51,0,112,-7,92,-98,61,57,-29,62,-11,12,119,112,-63,112,-86,-79,-110,-96,-113,-108,31,76,-9,-21,89,119,87,119,22,-13,-20,0,5,-112,100,41,-29,0,-3,106,-60,55,114,-35,-121,72,16,-123,3,-25,96,6,6,61,-22,26,125,76,26,107,70,109,127,104,91,121,-93,-51,82,-117,-53,15,44,101,-78,121,-28,-6,-9,-87,63,-75,108,-1,0,-65,117,-7,-113,-2,38,-78,5,-12,-117,43,66,2,-56,-82,49,-114,-52,13,46,-47,-1,0,62,107,-2,127,26,66,63,-1,-48,-56,95,22,107,-47,76,100,-98,77,-15,18,119,70,-40,110,15,108,-29,-75,96,-99,73,-98,-19,-81,-28,33,-92,57,-7,-113,31,120,99,-74,51,-114,-43,-115,-2,-115,55,49,57,-114,83,-50,1,57,31,90,-123,-32,-77,-126,48,-9,-82,-46,-69,119,28,126,-107,-33,38,-102,62,-49,-22,-72,123,93,-46,-115,-97,94,-97,-25,-8,124,-55,-18,-60,74,-54,-81,-72,-122,31,46,14,20,-100,114,115,75,106,-126,62,-124,-111,-35,123,84,105,61,-100,80,18,-71,117,99,-64,39,63,-50,-102,99,-45,20,3,-27,21,99,-3,-46,113,-4,-21,37,8,-89,116,-48,-29,70,-115,39,120,114,-81,-101,-4,-6,-36,-110,107,56,102,64,-69,8,92,-16,65,-30,-95,58,109,-76,24,49,35,-79,-11,-49,122,122,36,24,-38,37,32,30,10,-25,-113,-64,-29,53,105,4,44,-83,22,91,110,49,77,66,45,90,-58,-79,-62,81,113,-65,-77,95,-121,-11,-9,-107,-30,104,-115,-69,70,11,68,-93,42,64,60,-29,61,50,122,85,120,-51,-91,-118,-77,8,-104,-18,60,100,-126,71,29,51,82,-91,-79,15,-78,89,126,78,78,11,-127,-102,-122,-14,-54,51,-123,15,-27,-10,1,-71,31,-104,-88,-27,-108,85,-30,-114,9,-48,-28,94,-46,-107,53,117,-67,-19,-7,108,53,-11,-105,-115,-119,94,-11,98,-33,83,-5,88,109,-31,35,10,57,36,-11,-51,103,-86,-39,-37,-87,-118,100,-13,14,70,73,-28,115,-23,-116,98,-81,75,13,-100,104,-47,-85,70,-86,-36,-116,113,-45,-90,105,-62,83,-21,35,76,36,-15,11,87,53,-90,-24,-74,-46,51,-57,-70,-44,-119,7,117,-64,-21,-8,-43,41,55,-78,-106,96,-84,-60,-29,10,14,127,17,82,91,52,83,-88,107,121,76,110,123,117,6,-97,63,-37,35,6,70,35,-53,-58,95,-41,-118,-87,67,-98,23,102,-72,-72,70,-67,46,119,-73,-106,-65,-16,73,13,-78,69,-120,-26,64,-27,120,59,-80,74,-25,-73,53,98,11,117,-74,-120,-61,110,-82,67,28,-100,100,-32,-12,-19,89,63,104,18,66,22,70,-37,-98,-125,-1,0,-78,-22,104,2,-30,-43,-116,-112,74,118,-16,91,60,-12,-10,-87,-25,-117,-39,19,46,88,-59,78,52,-44,-83,-41,77,63,95,-21,-95,-90,-17,-28,-87,38,108,-20,24,37,78,118,-9,-23,85,-65,-76,-109,-2,126,-37,-2,-7,-84,-24,110,-110,-32,52,-77,-56,16,-55,-14,-99,-96,127,42,119,-39,-20,-1,0,-25,-69,127,-33,20,70,73,-22,-1,0,-81,-60,-62,21,121,-30,-91,-93,-11,-73,-7,-97,-1,-47,-13,86,-79,-75,40,35,-73,115,-26,-89,44,-64,-11,-49,-46,-85,125,-102,-44,41,75,-103,76,-104,28,110,-32,-127,-11,-17,90,87,58,78,-105,115,23,-103,-89,-7,-16,-52,-68,50,-19,56,31,82,79,-14,-84,-56,116,-55,96,50,111,38,87,59,72,35,-8,122,-11,-21,-57,76,-41,76,-30,-87,62,68,-109,126,90,-2,7,-46,42,-12,-88,105,24,94,-2,119,-4,2,59,61,-118,69,-71,-115,-29,63,-34,31,49,63,94,-108,-65,-39,42,-101,101,46,-15,-106,28,-90,3,17,-97,66,15,79,-62,-84,105,-106,-42,8,-81,45,-35,-39,-118,80,-60,-58,0,-56,-29,-66,49,-36,-43,-58,-110,24,80,92,92,124,-15,0,72,116,31,51,30,-36,103,-16,53,-83,58,92,-16,114,106,-1,0,61,-65,83,120,60,53,106,124,-50,59,108,-81,-2,90,-94,-100,86,-10,-63,68,23,50,9,7,77,-92,108,97,-114,-107,24,123,13,61,-116,46,-122,76,-1,0,19,124,-57,-114,-39,-88,90,43,77,78,63,38,22,-39,34,100,-128,-4,16,62,-67,106,-76,122,92,-40,-112,76,1,25,-2,30,77,39,25,69,39,21,-13,-36,-47,86,-108,-26,-91,70,23,125,-9,94,-102,-105,62,-47,-89,92,98,55,80,57,-21,-45,21,19,105,-79,92,-60,69,-84,-67,121,33,-85,5,1,12,-5,65,96,50,-96,30,13,89,-77,55,48,-36,-84,123,-68,-73,110,-57,-80,-12,53,-50,-86,115,59,77,28,75,25,10,-14,-28,-81,78,-9,-46,-21,66,91,88,-34,-58,115,37,-64,84,32,-29,97,-50,72,-1,0,103,21,110,105,-19,100,119,-14,-32,50,116,-49,35,2,-75,-38,-40,-54,86,89,73,125,-71,-57,-29,89,-14,91,91,-93,-19,102,-7,67,18,-96,13,-68,-97,82,43,89,-63,-63,90,59,29,-33,83,-83,66,42,-99,36,-100,111,-42,-41,-11,-41,79,45,-118,70,-22,101,-128,45,-88,109,-96,-13,-14,-12,-4,106,-11,-117,106,18,6,102,37,83,56,33,-121,62,-72,-59,18,78,-52,60,-72,48,-101,57,-32,-16,5,53,-11,6,-56,-114,80,-24,-39,36,49,-23,-116,86,119,-77,-67,-54,-70,-93,37,41,77,-39,105,110,-97,-103,45,-59,-67,-75,-55,-40,96,5,-67,65,34,-85,65,113,119,106,-37,38,-121,100,99,-115,-67,-66,-72,21,104,-33,9,35,-61,-71,-34,-68,115,-42,-103,34,77,119,15,-109,-26,109,61,65,61,127,-3,85,-77,-9,-75,-114,-26,-14,81,-109,-10,-108,-2,47,43,107,-22,85,-69,-75,-114,85,23,69,25,85,-79,-73,-113,-61,53,71,-20,-53,-22,-1,0,-112,-85,34,-62,-11,-94,42,-78,-126,-47,-127,-104,-40,-15,-41,-11,-51,71,-10,13,75,-2,121,67,-7,10,-58,81,-109,119,72,-15,-85,-13,-44,-105,55,-78,-4,63,-32,-97,-1,-46,-13,-53,13,114,91,35,-10,75,-112,39,44,8,83,-72,-81,-25,88,-41,87,-9,-46,-53,44,-79,-110,9,-24,0,-57,-89,95,-89,52,-21,84,70,-69,73,-92,108,-128,-69,-79,-22,71,99,91,58,60,58,57,-55,-65,108,-17,-18,50,64,39,-81,0,-13,90,71,17,86,114,80,115,-75,-114,-72,87,-85,87,-106,28,-10,-79,-54,-120,-18,25,21,-101,57,-112,-112,8,25,28,-46,-108,-69,-45,-89,81,38,25,-41,35,25,-56,-28,127,47,122,-24,-18,-82,-30,-114,86,-122,-55,93,81,71,67,-45,32,-111,-59,103,-119,-29,-110,-15,-89,-68,-52,-127,8,5,71,0,-127,-98,-3,115,-8,-12,-84,-107,-31,61,31,-52,-59,94,19,-75,-2,102,91,106,-73,18,-50,110,66,-82,126,-18,20,118,62,-99,-21,98,-40,94,-36,-18,-107,-113,-106,79,56,60,26,-102,-2,-17,69,8,-115,-90,64,-48,48,35,119,-89,35,-97,-54,-85,-51,127,111,18,-119,-93,109,-57,-17,21,35,-97,-91,118,104,-92,-36,-27,115,-33,-53,-86,40,-13,58,-75,46,-105,103,-8,-108,46,26,72,-100,-61,49,8,1,-49,-103,-125,-55,-49,-75,72,-94,21,121,24,-111,113,-69,44,115,-4,38,-85,106,23,-81,-88,58,-92,41,-76,49,-63,81,-17,-45,-82,105,-15,66,-74,50,57,40,74,-80,-37,-13,99,-116,-5,15,-25,92,-13,-102,82,-45,83,25,-30,23,-75,115,-118,-26,-118,-47,62,-33,-89,-34,105,-36,61,-36,-74,-94,104,-2,93,-128,96,47,79,95,-89,-46,-79,30,-26,43,-56,-4,-94,88,73,-41,13,-22,43,-96,-74,-79,-13,-95,-35,110,-50,114,15,76,-112,-92,122,-109,-57,79,122,-82,-42,-47,90,50,-54,-48,-99,-29,-85,41,-56,97,-33,53,80,-124,90,-9,118,71,-93,44,52,-36,82,-125,-76,118,125,127,-90,99,-37,90,52,110,90,92,50,-80,-57,-45,-89,53,-46,13,-77,-62,98,-72,-37,-18,59,-2,29,64,-88,38,-110,-55,-128,84,-119,-103,-92,81,-54,-16,70,115,-40,125,42,33,29,-62,46,75,29,-67,113,-36,123,-43,-62,-47,-42,46,-24,48,-40,106,112,114,-10,111,-103,63,63,-52,-75,45,-51,-78,71,-77,-55,84,35,0,62,54,-25,-14,-88,-25,-127,-25,24,19,-124,100,-25,110,57,31,-115,82,-44,101,96,-79,-62,-49,-69,-52,112,9,35,-97,-62,-90,77,66,-35,34,-14,-68,-123,5,65,37,-13,-116,-116,-16,8,-18,77,85,74,-9,-109,-26,-74,-33,-46,-45,-11,50,-83,-116,-123,42,-114,-116,-74,-5,-65,34,101,-14,102,-37,4,-63,-69,41,101,-5,-39,53,103,-5,34,-57,-42,-21,-4,-1,0,-64,-85,58,-53,80,-118,-9,-27,-72,42,-123,72,0,-14,63,30,57,-83,93,-106,-65,-13,-14,-65,-101,-1,0,-123,77,-29,100,-1,0,-81,-55,-99,48,-115,42,-47,85,18,78,-3,-9,-3,79,-1,-45,-15,-21,23,-14,100,71,-36,-119,-126,71,29,-120,31,-105,62,-107,110,-22,-32,75,127,24,104,-64,117,114,14,-47,-63,-19,-7,-109,-102,-94,44,90,24,93,-104,-126,78,-48,-84,15,66,79,97,-34,-81,70,-41,66,8,-40,-51,-13,-79,101,14,-40,35,35,-96,-84,93,86,-109,-115,-12,99,-10,-110,80,113,79,70,71,-10,-95,21,-56,75,-114,55,2,-64,-29,-98,-71,-29,21,64,-54,-55,51,-112,114,-69,-65,-50,125,-22,-12,-13,93,67,20,65,-45,18,109,-53,62,57,-25,-116,126,85,9,-116,-35,-92,81,-64,-87,-70,71,9,-41,28,-109,-116,-12,-51,17,73,46,102,111,75,11,42,-111,109,110,-107,-19,-35,25,-116,38,-72,-112,-57,110,55,22,60,34,-114,107,-82,-71,-16,70,-89,97,100,117,27,-87,-93,-40,-120,29,-45,56,32,99,-98,-36,-6,87,79,-92,-8,50,-21,68,-65,77,64,-70,92,-128,8,-107,49,-125,-125,-35,79,63,-113,78,43,91,-59,86,23,-6,-83,-113,-40,-20,84,54,79,-52,-96,-10,-19,-109,-11,-81,14,-74,108,-99,104,66,-116,-105,47,86,118,-45,-64,56,83,-108,-22,45,86,-56,-14,81,119,-89,40,-60,112,-116,-102,-71,29,-11,-99,-36,98,63,41,11,3,-55,-50,56,-19,89,-73,122,61,-34,-97,4,-46,93,20,-114,72,24,41,-119,-114,28,-18,-18,7,112,43,30,-37,-9,99,121,60,-26,-66,-122,21,-7,-67,-24,-67,11,-114,109,82,30,-20,-30,-83,-38,-42,61,75,79,-15,89,-48,109,36,-79,-103,68,-119,-68,-108,35,7,4,-16,65,62,-107,-50,-49,126,13,-52,-123,-119,116,-105,59,123,40,-17,-113,74,-29,-26,121,-122,86,99,-50,112,63,15,74,-69,110,-78,-76,-53,110,-89,40,-1,0,120,-111,-114,-39,-3,43,10,88,120,83,-85,42,-76,-107,-100,-65,18,99,-103,-44,117,-81,75,110,-58,-68,122,-108,86,-52,85,99,-55,-24,74,-100,-126,42,97,124,-84,-54,-14,-126,-86,-5,-79,-113,110,59,-43,86,-46,-115,-86,-105,36,-107,117,-56,61,56,-1,0,10,-84,109,36,86,88,-2,-8,-19,-20,43,-90,115,-108,86,-89,125,124,86,50,-124,20,-102,-47,110,-122,94,93,-61,52,-63,8,-7,66,113,-20,77,107,-24,26,109,-107,-19,-67,-44,-6,-119,-35,-28,4,-62,2,67,124,-57,-17,113,-44,83,36,-48,-96,-108,11,-105,114,56,-28,-116,96,-29,-80,-9,-86,109,103,21,-116,-122,-26,-38,86,60,96,-125,-116,-13,88,-42,-90,-22,65,-72,-53,-18,103,11,-61,86,109,-30,-86,37,37,-42,-51,127,90,29,-50,-97,-32,109,34,72,87,81,-73,-68,47,-126,89,21,-64,-64,-10,96,122,-30,-75,63,-31,31,79,-7,-17,103,-1,0,126,-105,-4,107,-125,-99,110,46,32,99,52,-60,22,24,-38,56,-49,29,112,6,49,88,-65,-39,103,-2,123,31,-54,-72,99,-105,-30,-27,119,26,-38,122,35,-70,88,110,95,-126,-110,107,-44,-1,-44,-13,123,93,71,-20,-110,125,-110,24,-64,-114,66,62,87,64,114,6,49,-57,122,126,-96,-70,44,-54,-92,126,-23,-103,-65,-128,-31,65,-9,29,-65,-6,-43,63,-120,-29,-115,52,107,9,81,64,118,39,44,7,39,-123,-22,105,-34,50,-73,-73,-126,59,111,34,53,78,71,-35,0,127,42,-13,37,27,-54,50,78,-41,27,-111,-124,-41,70,24,-102,-40,5,126,-5,-2,-9,-32,61,-115,86,-122,-2,11,55,41,105,0,87,-49,-51,51,13,-51,-97,108,-16,63,42,-91,-109,-104,-1,0,-33,74,77,87,-115,70,112,56,27,-21,-82,75,-38,123,-78,-40,-42,-82,42,-91,75,41,61,-74,59,-117,79,28,95,91,-22,17,-67,-42,-39,-94,-115,112,-22,-68,100,17,-41,-36,-42,-107,-25,-114,-27,18,-57,115,-89,64,-47,69,-56,38,65,-61,125,49,94,88,-3,71,-46,-67,34,-11,87,-2,17,104,78,58,36,88,-3,43,-56,-60,-32,-80,-48,-100,27,-122,-6,29,-104,108,77,89,66,109,-53,101,115,-104,-42,-11,100,-44,-27,121,-27,2,89,92,12,30,-104,-64,-82,84,-87,76,-79,-83,9,6,6,71,-67,67,-128,65,4,127,14,107,-39,-93,77,66,10,49,-40,-13,-28,-36,-101,-109,-22,85,-56,108,-79,25,60,115,67,-51,32,-112,75,25,-6,122,86,-107,-96,31,107,-76,-29,-84,-117,-4,-59,117,94,55,-73,-73,-123,109,-28,-118,53,70,114,119,21,0,19,-64,-21,85,123,73,33,-58,26,115,34,19,-90,106,113,-23,73,-88,-4,-78,-58,-47,9,8,28,-74,-42,28,-28,31,-18,-1,0,-11,-22,27,79,15,-33,93,-92,119,-119,44,113,36,-54,118,-87,39,62,-64,-6,103,-82,107,-48,108,-128,-14,44,-41,-79,-119,65,30,-59,106,-124,0,8,96,3,-96,65,-113,-5,-28,87,-105,87,48,-97,44,-107,-74,53,-85,-118,-100,-96,-95,39,116,114,-42,-102,6,-84,44,-38,-3,-14,-78,-82,-19,-80,115,-69,104,56,63,-113,-73,122,-24,-20,-76,27,75,-115,37,-115,-14,126,-7,73,12,-92,109,101,-29,-127,-17,93,58,-13,51,19,-49,-56,63,-12,26,117,-40,2,-22,5,28,3,-73,-118,-27,-87,-118,-99,69,-55,123,117,-45,-14,46,-98,42,80,-89,-54,-11,87,-40,-15,91,49,-88,36,98,97,19,-51,110,9,80,14,72,61,122,96,-25,-114,-68,85,-49,-75,63,-4,-8,55,-27,47,-1,0,21,94,-77,-128,-77,58,-81,0,71,-48,125,106,58,-19,88,-35,90,-27,58,104,-54,73,114,-33,99,-1,-39,48,1,58,90,104,116,116,112,58,47,47,49,57,50,46,49,54,56,46,49,46,56,49,58,56,48,47,102,115,47,49,47,50,48,50,53,47,48,50,47,49,56,47,48,55,47,51,55,47,52,48,47,77,51,108,110,99,87,49,51,99,122,74,114,45,49,45,49,55,51,57,56,51,53,52,54,48,45,116,66,98,71,82,110,49,90,119,56,111,79,46,106,112,103,64,3};
protoContent = WFCMessage.MessageContent.parseFrom(data2);
//2. 调用MessageContentFactory接口解析为消息内容。
messageContent = MessageContentFactory.decodeMessageContent(protoContent);
//3. 检查是哪种消息,如果没有定义,会回落到UnknownMessageContent。
if(messageContent instanceof TextMessageContent) {
TextMessageContent txt = (TextMessageContent)messageContent;
System.out.println("读取到的是文本消息,内容为:" + txt.getText());
Expand All @@ -1016,6 +1015,12 @@ static void testReadMessageContentFromDB() throws Exception {
SoundMessageContent sound = (SoundMessageContent) messageContent;
System.out.println("读取到的是声音消息,声音链接为:" + sound.getRemoteMediaUrl());
}

// 问题:MessageContentFactory是如何找到消息的?
// 答:MessageContentFactory在启动时会扫描自己的包cn.wildfirechat.sdk.messagecontent下的所有MessageContent子类,记住子类和消息类型的对应关系。
// 问题:自定义消息如何添加到MessageContentFactory中?
// 答:首先自定义消息需要继承MessageContent,然后有2个选择,1是放到此SDK的cn.wildfirechat.sdk.messagecontent包下打包SDK;2是调用MessageContentFactory中的registerCustomMessageContent方法手动关联。
// 比如 MessageContentFactory.registerCustomMessageContent(CustomTextMessageContent.class);
}

static void checkSendMessageResult(IMResult<SendMessageResult> resultSendMessage) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import java.util.concurrent.ConcurrentHashMap;

public class MessageContentFactory {
private static final Map<Integer, Class<MessageContent>> contentClassMap = new ConcurrentHashMap<>();
private static final Map<Integer, Class<? extends MessageContent>> contentClassMap = new ConcurrentHashMap<>();

static {
registerAllMessageContent();
Expand All @@ -36,7 +36,7 @@ public static MessageContent decodeMessageContent(WFCMessage.MessageContent prot
}

public static MessageContent decodeMessageContent(MessagePayload messagePayload) {
Class<MessageContent> cls = contentClassMap.get(messagePayload.getType());
Class<? extends MessageContent> cls = contentClassMap.get(messagePayload.getType());
MessageContent messageContent;
if(cls != null) {
try {
Expand All @@ -53,6 +53,11 @@ public static MessageContent decodeMessageContent(MessagePayload messagePayload)
return messageContent;
}

public static void registerCustomMessageContent(Class<? extends MessageContent> cls) throws Exception {
MessageContent content = cls.newInstance();
contentClassMap.put(content.getContentType(), cls);
}

private static void registerAllMessageContent() {
try {
for (Class cls : ClassUtil.getAllAssignedClass(MessageContent.class)) {
Expand Down

0 comments on commit d14dc74

Please sign in to comment.