Flutter SDK 安卓端message query信息不全。

在flutter sdk当中query message, 返回的message rawData信息不全,只包含lctype信息。
在iOS端是正常的,不知道这个bug是不是由于使用了自定义消息类型。

代码如下:

以下是error log:

留意到这个error细节:

D/AVIMMessageManager(15614): unknown message type: 1。

1是我自己定义的typedMessage type

注意:如果你是使用 Kotlin 来开发,由于 Kotlin 对反射的处理方式与 Java 有细微差异,导致 AVIMMessageField 注释不能产生作用,所以 SDK 实际发送的自定义消息数据不全。我们已经在 6.4.4 版本的 SDK 中对这一问题进行了优化,请 Kotlin 开发者升级到 6.4.4 及其后续版本来定制子类化消息。

我的plugin registrar使用的是kotlin语言,是不是会对插件使用有影响?

有没有人解决问题啊。必须商用版才能提交工单,bug都不修么

您好,请问您使用哪个版本的 SDK?

你好,我使用的是最新版的flutter sdk:1.0.0-beta.8。安卓端这边返回消息的rawData里面只有lctype,iOS是好的

我刚刚用官方的example app又试了一下,确实有这个bug,在Send&Receive Custom Message那个test case里面用conversation.queryMessage也会出现同样的问题。发送和接受自定义消息都可以,只是query不可以。

你好,请问在android/app/build.gradle 中 dependencies 添加的 realtime-android 依赖的是哪个版本?

您好,能否升级到 7.0.6 再试一下。就是把您上面截图中中的依赖更新为:

dependencies {
implementation 'cn.leancloud:storage-android:7.0.6'
implementation 'cn.leancloud:realtime-android:7.0.6'
implementation 'io.reactivex.rxjava2:rxandroid:7.0.6'
}

SDK 版本信息: https://releases.leanapp.cn/#/leancloud/java-unified-sdk/releases

implementation 'io.reactivex.rxjava2:rxandroid:7.0.6'

抱歉这里写错了,还应该是 2.1.1。您的问题已经上报给工程师处理修复中了,请您稍等。

在flutter IM插件的文档里写的是6.5.11,然后也出现了上面找不到的问题,而2.1.1就可以。

抱歉,是这里的文档示例代码有误,稍后我们会更新文档,感谢您的反馈!

谢谢,我想为自己的产品接入IM实时通讯,如果好用也愿意付费,但是我在配置上是小白,不太清楚要如何实时通讯接入flutter,自己试了也有很多bug。
我在https://pub.dev/packages/leancloud_official_plugin下载了插件,然后在初始化第二步这里:

import cn.leancloud.AVOSCloud, cn.leancloud.AVLogger and cn.leancloud.im.AVIMOptions in YourApplication.java of your project, then set up ID, Key and URL, like this:
import io.flutter.app.FlutterApplication;
import cn.leancloud.AVOSCloud;
import cn.leancloud.AVLogger;
import cn.leancloud.im.AVIMOptions;

public class YourApplication extends FlutterApplication {
@Override
public void onCreate() {
super.onCreate();
AVIMOptions.getGlobalOptions().setUnreadNotificationEnabled(true);
AVOSCloud.setLogLevel(AVLogger.Level.DEBUG);
AVOSCloud.initialize(this, YOUR_LC_APP_ID, YOUR_LC_APP_KEY, YOUR_LC_SERVER_URL);
}
}
是直接在java文件下创建这个文件吗?我创建了后调试时出现了一些乱码,也不知道什么原因。如果能解答真是谢谢了!

请问这个问题什么时候可以解决,如果已经解决麻烦告知,谢谢

这是因为 android sdk 要求在使用自定义消息类型的时候,先注册一下自定义消息类型,而 flutter sdk 使用上并没有注册这一步,所以导致消息解析时出现信息丢失,我们刚刚发布了 6.5.12 来解决这个问题。
可能大家等 1-2 个小时就可以从中央仓库下载到了,谢谢。

这边尝试更新版本后问题已解决。谢谢。