Skip to content
This repository has been archived by the owner on Jun 12, 2023. It is now read-only.

打包 apk后 得到的会话实体<SessionEntity>,好像是有问题,我不太能确定是否是我的问题! #3

Closed
yuefeng007 opened this issue Mar 1, 2020 · 44 comments
Labels
bug Something isn't working

Comments

@yuefeng007
Copy link

yuefeng007 commented Mar 1, 2020

  1. 我得到的会话实体中 的id,和type 是null

  2. `I/flutter ( 2892): null <SessionEntity.id>
  3. I/flutter ( 2892): null <SessionEntity.type>`
  4. `IM初始化成功
  5. I/flutter ( 2892): onRefresh
  6. I/flutter ( 2892): res:0
  7. I/flutter ( 2892): home页面listener被触发
  8. I/flutter ( 2892): null
  9. I/flutter ( 2892): ListenerTypeEnum.Connected
  10. I/flutter ( 2892): im登录成功
  11. I/flutter ( 2892): home页面listener被触发
  12. I/flutter ( 2892): null
  13. I/flutter ( 2892): ListenerTypeEnum.Refresh
  14. I/flutter ( 2892): home页面listener被触发
  15. I/flutter ( 2892): [Instance of 'SessionEntity']
  16. I/flutter ( 2892): ListenerTypeEnum.RefreshConversation
  17. I/flutter ( 2892): Instance of 'SessionEntity'
  18. I/flutter ( 2892): null <SessionEntity.id>
  19. I/flutter ( 2892): null <SessionEntity.type>
  20. E/flutter ( 2892): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(Missing parameter, Cannot find parameter sessionId or sessionId is null!, 5)
  21. E/flutter ( 2892): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569)
  22. E/flutter ( 2892): demo 跑不起来啊 老兄 #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:321)
  23. E/flutter ( 2892):
  24. E/flutter ( 2892): 近期是否有计划支持位置消息和撤回消息功能? #2 TencentImPlugin.getLocalMessages (package:tencent_im_plugin/tencent_im_plugin.dart:186)
  25. E/flutter ( 2892): 打包 apk后 得到的会话实体<SessionEntity>,好像是有问题,我不太能确定是否是我的问题! #3 _ChatDetailState._init. (package:chatpear/modules/home/chat_detail.dart:71)
  26. E/flutter ( 2892): 作者你好。我这有个关于视频消息的疑问! #4 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1102)
  27. E/flutter ( 2892): 关于 ios端 引入 插件跑不起来,提示CocoaPods 过时(已经是1.91) #5 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1049)
  28. E/flutter ( 2892): ios13.3(模拟器 11) 语音消息无法送达 #6 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:957)
  29. E/flutter ( 2892): 升级0.2.x 版本以后的疑问 #7 _rootRun (dart:async/zone.dart:1126)
  30. E/flutter ( 2892): 什么时候能到正式版? #8 _CustomZone.run (dart:async/zone.dart:1023)
  31. E/flutter ( 2892): 这个库会一直更新,打算用到正式项目吗 #9 _CustomZone.runGuarded (dart:async/zone.dart:925)
  32. E/flutter ( 2892): 在TIM 后台验证通过的 userSig ,调用 login 时报错 userSig expired #10 _invoke (dart:ui/hooks.dart:259)
  33. E/flutter ( 2892): 我需要给会话加自定义参数,有对应的接口吗 #11 _drawFrame (dart:ui/hooks.dart:217)
  34. E/flutter ( 2892):
  35. E/flutter ( 2892): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(Missing parameter, Cannot find parameter sessionId or sessionId is null!, 5)
  36. E/flutter ( 2892): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569)
  37. E/flutter ( 2892): demo 跑不起来啊 老兄 #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:321)
  38. E/flutter ( 2892):
  39. E/flutter ( 2892): 近期是否有计划支持位置消息和撤回消息功能? #2 TencentImPlugin.getMessages (package:tencent_im_plugin/tencent_im_plugin.dart:204)
  40. E/flutter ( 2892): 打包 apk后 得到的会话实体<SessionEntity>,好像是有问题,我不太能确定是否是我的问题! #3 _ChatDetailState.onRefresh (package:chatpear/modules/home/chat_detail.dart:149)
  41. E/flutter ( 2892): 作者你好。我这有个关于视频消息的疑问! #4 RefreshIndicatorState._show. (package:flutter/src/material/refresh_indicator.dart:357)
  42. E/flutter ( 2892): 关于 ios端 引入 插件跑不起来,提示CocoaPods 过时(已经是1.91) #5 _rootRunUnary (dart:async/zone.dart:1134)
  43. E/flutter ( 2892): ios13.3(模拟器 11) 语音消息无法送达 #6 _CustomZone.runUnary (dart:async/zone.dart:1031)
  44. E/flutter ( 2892): 升级0.2.x 版本以后的疑问 #7 _FutureListener.handleValue (dart:async/future_impl.dart:139)
  45. E/flutter ( 2892): 什么时候能到正式版? #8 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680)
  46. E/flutter ( 2892): 这个库会一直更新,打算用到正式项目吗 #9 Future._propagateToListeners (dart:async/future_impl.dart:709)
  47. E/flutter ( 2892): 在TIM 后台验证通过的 userSig ,调用 login 时报错 userSig expired #10 Future._completeWithValue (dart:async/future_impl.dart:524)
  48. E/flutter ( 2892): 我需要给会话加自定义参数,有对应的接口吗 #11 Future._asyncComplete. (dart:async/future_impl.dart:554)
  49. E/flutter ( 2892): 当收到新消息时,监听器没有收到枚举类型为 ListenerTypeEnum.NewMessages的触发事件 #12 _rootRun (dart:async/zone.dart:1126)
  50. E/flutter ( 2892): 跑GitHub上代码iOS模拟器报错 #13 _CustomZone.run (dart:async/zone.dart:1023)
  51. E/flutter ( 2892): 求 saveMessage findMessages 这两个接口 #14 _CustomZone.runGuarded (dart:async/zone.dart:925)
  52. E/flutter ( 2892): 日志没有显示 #15 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:965)
  53. E/flutter ( 2892): 请问离线推送预计什么时候能上呢? #16 _microtaskLoop (dart:async/schedule_microtask.dart:43)
  54. E/flutter ( 2892): 修复MessageEntity 序列化 toJson 问题 #17 _startMicrotaskLoop (dart:async/schedule_microtask.dart:52)
  55. E/flutter ( 2892): `
@yuefeng007 yuefeng007 changed the title 打包后 得到的会话实体<SessionEntity>,好像是有问题,我不太能确定是否是我的问题! 打包 apk后 得到的会话实体<SessionEntity>,好像是有问题,我不太能确定是否是我的问题! Mar 1, 2020
@JiangJuHong
Copy link
Owner

我未测试过打包,你得到的所有会话都有问题吗?或者只是其中某个

@yuefeng007
Copy link
Author

获取会话列表时,我的会话列表中只有一天对话。感觉这条会话实体是拿到了。我尝试输出它的id和type的。但是输出结果是null

@JiangJuHong
Copy link
Owner

建议你多创建几个会话,Group、C2C,这样有便于排查错误

@yuefeng007
Copy link
Author

终于测明白了
本次测试账号共四条会话 ,一个Group、三个C2C。
使用方法:

 TencentImPlugin.addListener((type,params){
   if (type == ListenerTypeEnum.RefreshConversation) {
         devbug和build 版本 均正确返回数组
        [ Instance of 'SessionEntity'  *  4]
   }
});
但是  build版本中的 [ Instance of 'SessionEntity'  *  4]  中 每个的属性都是nul

debug:log:

home页面listener被触发  --start---
I/flutter (15282): [Instance of 'SessionEntity', Instance of 'SessionEntity', Instance of 'SessionEntity', Instance of 'SessionEntity']
I/flutter (12706): 已添加会话id:15545111710,会话类型type:SessionType.C2C
I/flutter (12706): 已添加会话id:15545111711,会话类型type:SessionType.C2C
I/flutter (12706): 已添加会话id:18745043399,会话类型type:SessionType.C2C
I/flutter (12706): 已添加会话id:@TGS#2QVKBJHGN,会话类型type:SessionType.Group

build:log:

home页面listener被触发  --start---
I/flutter (15282): [Instance of 'SessionEntity', Instance of 'SessionEntity', Instance of 'SessionEntity', Instance of 'SessionEntity']
I/flutter (15282): 已添加会话id:null,会话类型type:null
I/flutter (15282): 已经存在,不添加该条会话id:null,会话类型type:null
I/flutter (15282): 已经存在,不添加该条会话id:null,会话类型type:null
I/flutter (15282): 已经存在,不添加该条会话id:null,会话类型type:null

`

@JiangJuHong
Copy link
Owner

我明白了,最近我会安排时间进行排查修复

@JiangJuHong JiangJuHong added the bug Something isn't working label Mar 2, 2020
@yuefeng007
Copy link
Author

你好作者,debug版本也拿不到列表了。刚刚拉了 github 上最新demo 也是拿不到了!

@JiangJuHong
Copy link
Owner

JiangJuHong commented Mar 9, 2020 via email

@yuefeng007
Copy link
Author

没有错误信息,就是没会话。还是这个方法
监听器只被触发了一次 ,是这个类型ListenerTypeEnum.Connected

 TencentImPlugin.addListener((type,params){
   if (type == ListenerTypeEnum.RefreshConversation) {

   }
});

@yuefeng007
Copy link
Author

I/flutter (22408): IM初始化成功
I/flutter (22408): _listener监听器被触发  --start---
I/flutter (22408): 监听到未处理类型 ListenerTypeEnum.Connected
I/flutter (22408): 监听到未处理参数null
I/flutter (22408): _listener监听器被触发 --end---
I/flutter (22408): im登录成功

@yuefeng007
Copy link
Author

测试账号列表里一共有4条会话,上午的时候我就发现有问题。仅返回一条会话。后来下午一条会话都获取不到了

@JiangJuHong
Copy link
Owner

JiangJuHong commented Mar 9, 2020 via email

@yuefeng007
Copy link
Author

感谢作者。静候佳音

@JiangJuHong
Copy link
Owner

我在本地环境测试没有发现问题,你可以提供一下复现代码吗?

@JiangJuHong
Copy link
Owner

你使用的版本号是多少?

@yuefeng007
Copy link
Author

最新的 0.1.17.稍等 我在拉下demo试试

@JiangJuHong
Copy link
Owner

JiangJuHong commented Mar 10, 2020

image
70003 在腾讯云对应的是校验失败,请检查你的 identifier 和 userSig

@yuefeng007
Copy link
Author

嗯嗯,刚才是我发错了。是我用过时的 userSig 在demo尝试登录。这会在您的demo上使用我们自己的im信息已经登录成功 。但是依然没有回话。我不知道是我们服务端的问题 还是什么问题。。但是我使用您的im信息是正常获取回话的

@JiangJuHong
Copy link
Owner

请确保 Console 是否有错误信息输出,或尝试使用 腾讯云 SDK 所提供的Demo查看会话

@yuefeng007
Copy link
Author

没有任何错误输出信息,我在具体确定一下问题吧,确定好后 回复您

@yuefeng007
Copy link
Author

我又新建了 几个会话,正常查出来了。。不知道之前的会话为什么没有了,可能是我们服务端那边调试了

@JiangJuHong
Copy link
Owner

好的,如果还有问题可以随时联系我

@yuefeng007
Copy link
Author

谢谢 老哥,另外 打包apk后 会话实体数据里面的 属性都是null 。这个本周会排查修复好吗。

@JiangJuHong
Copy link
Owner

如果不出意外,它将在本周被修复

@yuefeng007
Copy link
Author

好的 感谢。

@sunyaodong
Copy link

/Users/sunyd/Desktop/DevelopTool/flutter/.pub-cache/hosted/pub.flutter-io.cn/tencent_im_plugin-0.1.22/android/src/main/java/top/huic/tencent_im_plugin/TencentImPlugin.java:119: 错误: 无法访问LifecycleOwner
final MethodChannel channel = new MethodChannel(flutterPluginBinding.getFlutterEngine().getDartExecutor(), "tencent_im_plugin");
^
找不到androidx.lifecycle.LifecycleOwner的类文件
注: /Users/sunyd/Desktop/DevelopTool/flutter/.pub-cache/hosted/pub.flutter-io.cn/tencent_im_plugin-0.1.22/android/src/main/java/top/huic/tencent_im_plugin/TencentImPlugin.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
1 个错误

大佬,我添加插件依赖后,运行,爆出这个错误。知道是什么原因吗?

@JiangJuHong
Copy link
Owner

你好,请问你是否执行了 Gradle Build。如果执行了,能否提供你的Flutter版本。且你有拉下Demo试运行吗? @sunyaodong

@sunyaodong
Copy link

Gradle Build执行了。
Flutter版本1.9.1+hotfix.6
我demo也报这个错误

@JiangJuHong
Copy link
Owner

你好,建议你先将Flutter升级为 stable 分支的最新版,然后再进行尝试。我在我的设备上没能复现这个问题。 @sunyaodong

@sunyaodong
Copy link

感谢大佬,我跑通了。问个问题identifier这个用户id去哪获取,还有userSig是密匙吗? @JiangJuHong

@JiangJuHong
Copy link
Owner

@sunyaodong 这个identifier你可以自定义为任何值,建议关联到自己业务系统的用户唯一ID中,userSig是根据ID生成的密钥,腾讯云userSig生成相关文档:https://cloud.tencent.com/document/product/269/32688

@JiangJuHong
Copy link
Owner

这个问题已被修复,版本号为 0.2.0,问题原因是由于混淆配置不正确。 @yuefeng007
0.2.0 已发布,�地址:https://pub.dev/packages/tencent_im_plugin
由于版本改动较大,请根据 README.md 指引进行调整,感谢你的支持。

@yuefeng007
Copy link
Author

好的。我现在去升级它。感谢作者,

@chinafelix
Copy link

[Instance of 'SessionEntity', Instance of 'SessionEntity', Instance of 'SessionEntity', Instance of 'SessionEntity']

我调用TencentImPlugin.getConversationList(),返回以上的数据,这种数据是正常的吗?如果是,该格式怎么解析成json呢?

@yuefeng007
Copy link
Author

['SessionEntity'的实例,'SessionEntity'的实例,'SessionEntity'的实例,'SessionEntity'的实例]

我调用TencentImPlugin.getConversationList(),返回以上的数据,这种数据是正常的吗?如果是,该格式怎么解析成json呢?

不要解析成json。SessionEntity 是dart对象 可以直接访问其属性即可

@chinafelix
Copy link

@yuefeng007 你好,我对dart不太熟悉,方便说一下该怎么访问属性吗?
我参照session_entry.dart的结构,用以下方法获取faceUrl属性不行:
我用list[index]['faceUrl']访问不了;其中list是数组,list[index]是一个SessionEntity对象

@chinafelix
Copy link

你好,已经读取到属性值了;谢谢;
我们每次读取一个 ObjectEntry,都要找到对应的ObjectEntry对象,才能知道它里面包含哪些属性吗?

@yuefeng007
Copy link
Author

yuefeng007 commented Nov 4, 2020 via email

@yuefeng007
Copy link
Author

list[index]['faceUrl'] 这种可以访问json数据 ,dart对象要这样 list[index].faceUrl

@chinafelix
Copy link

谢谢,我用的AS编辑器,也可以的直接打开对应类的;

VSCode可以做到热更新吗?

@yuefeng007
Copy link
Author

yuefeng007 commented Nov 4, 2020 via email

@chinafelix
Copy link

学到了,我本来也想用vscode。但是没找到热更新的方法,才换了AS;

@yuefeng007
Copy link
Author

yuefeng007 commented Nov 4, 2020 via email

@chinafelix
Copy link

这种只能正对Entry的对象吧;AS会有很多非属性的选项,所以不知道哪些是它的可访问属性,哪些不是

@chinafelix
Copy link

等下也换成vscode试试,比较顺手点

Dong4Am pushed a commit to Dong4Am/FlutterTencentImPlugin that referenced this issue Dec 15, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants