V2.3.5
This commit is contained in:
parent
4c540fbff5
commit
3b5f47c9f0
@ -1,3 +1,10 @@
|
|||||||
|
## 2.3.5
|
||||||
|
|
||||||
|
- Add setCustomBusinessListener method for MessageManager
|
||||||
|
- Add OnCustomBusinessListener listener
|
||||||
|
- Add message encryption config
|
||||||
|
- Add message compression config
|
||||||
|
|
||||||
## 2.3.4+6
|
## 2.3.4+6
|
||||||
|
|
||||||
- Add setAppBackgroundStatus method for IMManager
|
- Add setAppBackgroundStatus method for IMManager
|
||||||
|
@ -34,5 +34,5 @@ android {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
api 'io.openim:core-sdk:2.3.4-rc7@aar'
|
api 'io.openim:core-sdk:2.3.5@aar'
|
||||||
}
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
package io.openim.flutter_openim_sdk.listener;
|
||||||
|
|
||||||
|
import io.openim.flutter_openim_sdk.util.CommonUtil;
|
||||||
|
|
||||||
|
public class OnCustomBusinessListener implements open_im_sdk_callback.OnCustomBusinessListener {
|
||||||
|
@Override
|
||||||
|
public void onRecvCustomBusinessMessage(String s) {
|
||||||
|
CommonUtil.emitEvent("customBusinessListener", "onRecvCustomBusinessMessage", s);
|
||||||
|
}
|
||||||
|
}
|
@ -4,6 +4,7 @@ import io.flutter.plugin.common.MethodCall;
|
|||||||
import io.flutter.plugin.common.MethodChannel;
|
import io.flutter.plugin.common.MethodChannel;
|
||||||
import io.openim.flutter_openim_sdk.listener.OnAdvancedMsgListener;
|
import io.openim.flutter_openim_sdk.listener.OnAdvancedMsgListener;
|
||||||
import io.openim.flutter_openim_sdk.listener.OnBaseListener;
|
import io.openim.flutter_openim_sdk.listener.OnBaseListener;
|
||||||
|
import io.openim.flutter_openim_sdk.listener.OnCustomBusinessListener;
|
||||||
import io.openim.flutter_openim_sdk.listener.OnMsgSendListener;
|
import io.openim.flutter_openim_sdk.listener.OnMsgSendListener;
|
||||||
import io.openim.flutter_openim_sdk.util.CommonUtil;
|
import io.openim.flutter_openim_sdk.util.CommonUtil;
|
||||||
import open_im_sdk.Open_im_sdk;
|
import open_im_sdk.Open_im_sdk;
|
||||||
@ -477,4 +478,10 @@ public class MessageManager extends BaseManager {
|
|||||||
value(methodCall, "operationID"),
|
value(methodCall, "operationID"),
|
||||||
jsonValue(methodCall, "fileElem")));
|
jsonValue(methodCall, "fileElem")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setCustomBusinessListener(MethodCall methodCall, MethodChannel.Result result) {
|
||||||
|
Open_im_sdk.setCustomBusinessListener(new OnCustomBusinessListener());
|
||||||
|
|
||||||
|
result.success(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,7 @@ packages:
|
|||||||
path: ".."
|
path: ".."
|
||||||
relative: true
|
relative: true
|
||||||
source: path
|
source: path
|
||||||
version: "2.3.4+5"
|
version: "2.3.4+7"
|
||||||
flutter_test:
|
flutter_test:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description: flutter
|
description: flutter
|
||||||
|
@ -54,6 +54,7 @@ public class MessageManager: BaseServiceManager {
|
|||||||
self["createSoundMessageByURL"] = createSoundMessageByURL
|
self["createSoundMessageByURL"] = createSoundMessageByURL
|
||||||
self["createVideoMessageByURL"] = createVideoMessageByURL
|
self["createVideoMessageByURL"] = createVideoMessageByURL
|
||||||
self["createFileMessageByURL"] = createFileMessageByURL
|
self["createFileMessageByURL"] = createFileMessageByURL
|
||||||
|
self["setCustomBusinessListener"] = setCustomBusinessListener
|
||||||
}
|
}
|
||||||
|
|
||||||
func setAdvancedMsgListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
func setAdvancedMsgListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
@ -267,6 +268,12 @@ public class MessageManager: BaseServiceManager {
|
|||||||
func createFileMessageByURL(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
func createFileMessageByURL(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
callBack(result, Open_im_sdkCreateFileMessageByURL(methodCall[string: "operationID"], methodCall[jsonString: "fileElem"]))
|
callBack(result, Open_im_sdkCreateFileMessageByURL(methodCall[string: "operationID"], methodCall[jsonString: "fileElem"]))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func setCustomBusinessListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
|
Open_im_sdkSetCustomBusinessListener(CustomBusinessListener(channel: channel))
|
||||||
|
callBack(result)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SendMsgProgressListener: NSObject, Open_im_sdk_callbackSendMsgCallBackProtocol {
|
public class SendMsgProgressListener: NSObject, Open_im_sdk_callbackSendMsgCallBackProtocol {
|
||||||
@ -342,3 +349,15 @@ public class AdvancedMsgListener: NSObject, Open_im_sdk_callbackOnAdvancedMsgLis
|
|||||||
CommonUtil.emitEvent(channel: channel, method: "advancedMsgListener", type: "onNewRecvMessageRevoked", errCode: nil, errMsg: nil, data: values)
|
CommonUtil.emitEvent(channel: channel, method: "advancedMsgListener", type: "onNewRecvMessageRevoked", errCode: nil, errMsg: nil, data: values)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class CustomBusinessListener: NSObject, Open_im_sdk_callbackOnCustomBusinessListenerProtocol {
|
||||||
|
private let channel: FlutterMethodChannel
|
||||||
|
|
||||||
|
init(channel: FlutterMethodChannel) {
|
||||||
|
self.channel = channel
|
||||||
|
}
|
||||||
|
|
||||||
|
public func onRecvCustomBusinessMessage(_ s: String?) {
|
||||||
|
CommonUtil.emitEvent(channel: channel, method: "customBusinessListener", type: "onRecvCustomBusinessMessage", errCode: nil, errMsg: nil, data: s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -17,7 +17,7 @@ A new Flutter project.
|
|||||||
s.dependency 'Flutter'
|
s.dependency 'Flutter'
|
||||||
s.platform = :ios, '9.0'
|
s.platform = :ios, '9.0'
|
||||||
|
|
||||||
s.dependency 'OpenIMSDKCore','2.3.4'
|
s.dependency 'OpenIMSDKCore','2.3.5'
|
||||||
s.static_framework = true
|
s.static_framework = true
|
||||||
# s.vendored_frameworks = 'Framework/*.framework'
|
# s.vendored_frameworks = 'Framework/*.framework'
|
||||||
# Flutter.framework does not contain a i386 slice.
|
# Flutter.framework does not contain a i386 slice.
|
||||||
|
@ -13,6 +13,7 @@ export 'src/enum/sdk_error_code.dart';
|
|||||||
export 'src/listener/advanced_msg_listener.dart';
|
export 'src/listener/advanced_msg_listener.dart';
|
||||||
export 'src/listener/connect_listener.dart';
|
export 'src/listener/connect_listener.dart';
|
||||||
export 'src/listener/conversation_listener.dart';
|
export 'src/listener/conversation_listener.dart';
|
||||||
|
export 'src/listener/custom_business_listener.dart';
|
||||||
export 'src/listener/friendship_listener.dart';
|
export 'src/listener/friendship_listener.dart';
|
||||||
export 'src/listener/group_listener.dart';
|
export 'src/listener/group_listener.dart';
|
||||||
export 'src/listener/msg_send_progress_listener.dart';
|
export 'src/listener/msg_send_progress_listener.dart';
|
||||||
|
@ -11,4 +11,5 @@ class ListenerType {
|
|||||||
static final msgSendProgressListener = "msgSendProgressListener";
|
static final msgSendProgressListener = "msgSendProgressListener";
|
||||||
static final workMomentsListener = "workMomentsListener";
|
static final workMomentsListener = "workMomentsListener";
|
||||||
static final organizationListener = "organizationListener";
|
static final organizationListener = "organizationListener";
|
||||||
|
static final customBusinessListener = "customBusinessListener";
|
||||||
}
|
}
|
||||||
|
9
lib/src/listener/custom_business_listener.dart
Normal file
9
lib/src/listener/custom_business_listener.dart
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
class OnCustomBusinessListener {
|
||||||
|
Function(String s)? onRecvCustomBusinessMessage;
|
||||||
|
|
||||||
|
OnCustomBusinessListener({this.onRecvCustomBusinessMessage});
|
||||||
|
|
||||||
|
void recvCustomBusinessMessage(String s) {
|
||||||
|
onRecvCustomBusinessMessage?.call(s);
|
||||||
|
}
|
||||||
|
}
|
@ -313,6 +313,15 @@ class IMManager {
|
|||||||
organizationManager.listener.organizationUpdated();
|
organizationManager.listener.organizationUpdated();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
} else if (call.method == ListenerType.customBusinessListener) {
|
||||||
|
String type = call.arguments['type'];
|
||||||
|
String data = call.arguments['data'];
|
||||||
|
switch (type) {
|
||||||
|
case 'onRecvCustomBusinessMessage':
|
||||||
|
messageManager.customBusinessListener?.onRecvCustomBusinessMessage
|
||||||
|
?.call(data);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
print(
|
print(
|
||||||
@ -329,6 +338,8 @@ class IMManager {
|
|||||||
/// [dataDir] SDK数据库存储目录
|
/// [dataDir] SDK数据库存储目录
|
||||||
/// [objectStorage] 存储对象 cos/minio
|
/// [objectStorage] 存储对象 cos/minio
|
||||||
/// [logLevel] 日志 1不打印
|
/// [logLevel] 日志 1不打印
|
||||||
|
/// [enabledEncryption] true:加密
|
||||||
|
/// [enabledCompression] true:压缩
|
||||||
Future<dynamic> initSDK({
|
Future<dynamic> initSDK({
|
||||||
required int platform,
|
required int platform,
|
||||||
required String apiAddr,
|
required String apiAddr,
|
||||||
@ -339,6 +350,7 @@ class IMManager {
|
|||||||
String objectStorage = 'cos',
|
String objectStorage = 'cos',
|
||||||
String? encryptionKey,
|
String? encryptionKey,
|
||||||
bool enabledEncryption = false,
|
bool enabledEncryption = false,
|
||||||
|
bool enabledCompression = false,
|
||||||
String? operationID,
|
String? operationID,
|
||||||
}) {
|
}) {
|
||||||
this._connectListener = listener;
|
this._connectListener = listener;
|
||||||
@ -355,6 +367,7 @@ class IMManager {
|
|||||||
"object_storage": objectStorage,
|
"object_storage": objectStorage,
|
||||||
"encryption_key": encryptionKey,
|
"encryption_key": encryptionKey,
|
||||||
"is_need_encryption": enabledEncryption,
|
"is_need_encryption": enabledEncryption,
|
||||||
|
"is_compression ": enabledCompression,
|
||||||
"operationID": Utils.checkOperationID(operationID),
|
"operationID": Utils.checkOperationID(operationID),
|
||||||
},
|
},
|
||||||
));
|
));
|
||||||
|
@ -7,6 +7,7 @@ class MessageManager {
|
|||||||
// List<AdvancedMsgListener> advancedMsgListeners = List.empty(growable: true);
|
// List<AdvancedMsgListener> advancedMsgListeners = List.empty(growable: true);
|
||||||
OnMsgSendProgressListener? msgSendProgressListener;
|
OnMsgSendProgressListener? msgSendProgressListener;
|
||||||
late OnAdvancedMsgListener msgListener;
|
late OnAdvancedMsgListener msgListener;
|
||||||
|
OnCustomBusinessListener? customBusinessListener;
|
||||||
|
|
||||||
MessageManager(this._channel);
|
MessageManager(this._channel);
|
||||||
|
|
||||||
@ -874,6 +875,12 @@ class MessageManager {
|
|||||||
}))
|
}))
|
||||||
.then((value) => Utils.toObj(value, (map) => Message.fromJson(map)));
|
.then((value) => Utils.toObj(value, (map) => Message.fromJson(map)));
|
||||||
|
|
||||||
|
/// 用户资料改变监听
|
||||||
|
Future setCustomBusinessListener(OnCustomBusinessListener listener) {
|
||||||
|
this.customBusinessListener = listener;
|
||||||
|
return _channel.invokeMethod('setCustomBusinessListener', _buildParam({}));
|
||||||
|
}
|
||||||
|
|
||||||
static Map _buildParam(Map param) {
|
static Map _buildParam(Map param) {
|
||||||
param["ManagerName"] = "messageManager";
|
param["ManagerName"] = "messageManager";
|
||||||
return param;
|
return param;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
name: flutter_openim_sdk
|
name: flutter_openim_sdk
|
||||||
description: An instant messaging plug-in that supports Android and IOS. And the server is also all open source.
|
description: An instant messaging plug-in that supports Android and IOS. And the server is also all open source.
|
||||||
version: 2.3.4+6
|
version: 2.3.5
|
||||||
homepage: https://www.rentsoft.cn
|
homepage: https://www.rentsoft.cn
|
||||||
repository: https://github.com/OpenIMSDK/Open-IM-SDK-Flutter
|
repository: https://github.com/OpenIMSDK/Open-IM-SDK-Flutter
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user