Compare commits

..

2 Commits
0.0.30 ... main

Author SHA1 Message Date
gem
cdc12e513c 增加配置支持35 2025-06-30 14:30:52 +08:00
cpdl
ee0cea6c2b no message 2025-05-07 17:35:06 +08:00
5 changed files with 26 additions and 5 deletions

View File

@ -42,6 +42,7 @@ rootProject.allprojects {
apply plugin: 'com.android.library' apply plugin: 'com.android.library'
android { android {
namespace 'io.openim.flutter_openim_sdk'
compileSdkVersion 34 compileSdkVersion 34
defaultConfig { defaultConfig {

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android">
package="io.openim.flutter_openim_sdk">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest> </manifest>

View File

@ -18,6 +18,20 @@ class MyApp extends StatefulWidget {
} }
class _MyAppState extends State<MyApp> { class _MyAppState extends State<MyApp> {
Future<void> send() async {
OpenIM.iMManager.messageManager
.sendMessage(
userID: "724f91aceb434a28a1cd10f5564b2c68",
message: await OpenIM.iMManager.messageManager
.createTextMessage(text: 'hello openim'),
offlinePushInfo: OfflinePushInfo(title: 'title', desc: 'desc'))
.then((value) {
print('send success');
}).catchError((error) {
print('send error');
});
}
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@ -39,6 +53,7 @@ class _MyAppState extends State<MyApp> {
.then((value) { .then((value) {
List<String> list = []; List<String> list = [];
OpenIM.iMManager.userManager.subscribeUsersStatus(list); OpenIM.iMManager.userManager.subscribeUsersStatus(list);
send();
OpenIM.iMManager.conversationManager OpenIM.iMManager.conversationManager
.getAllConversationList() .getAllConversationList()
.then((value) { .then((value) {

View File

@ -32,5 +32,5 @@ ZFMap zego_value_get_map(flutter::EncodableValue value);
ZFArray zego_value_get_list(flutter::EncodableValue value); ZFArray zego_value_get_list(flutter::EncodableValue value);
std::string map_2_json(const flutter::EncodableMap& map); std::string map_2_json(const flutter::EncodableMap& map);
std::string value_2_json(flutter::EncodableValue value); std::string value_2_json(flutter::EncodableValue value);
nlohmann::json EncodableValueToJson(const flutter::EncodableValue& value);

View File

@ -131,7 +131,10 @@ void MessageManagerService::sendMessage(
auto channelID = zego_value_get_string(arguments->at(flutter::EncodableValue("channelID"))); auto channelID = zego_value_get_string(arguments->at(flutter::EncodableValue("channelID")));
auto offlinePushInfo = value_2_json(arguments->at(flutter::EncodableValue("offlinePushInfo"))); auto offlinePushInfo = value_2_json(arguments->at(flutter::EncodableValue("offlinePushInfo")));
auto isOnlineOnly = zego_value_get_bool(arguments->at(flutter::EncodableValue("isOnlineOnly"))); auto isOnlineOnly = zego_value_get_bool(arguments->at(flutter::EncodableValue("isOnlineOnly")));
auto clientMsgID = zego_value_get_string(arguments->at(flutter::EncodableValue("clientMsgID"))); auto json = EncodableValueToJson(arguments->at(flutter::EncodableValue("message")));
auto clientMsgID = json["clientMsgID"].get<std::string>();
char* operationID_cs = const_cast<char*>(operationID.c_str()); char* operationID_cs = const_cast<char*>(operationID.c_str());
char* message_cs = const_cast<char*>(message.c_str()); char* message_cs = const_cast<char*>(message.c_str());
@ -780,8 +783,11 @@ void MessageManagerService::sendMessageNotOss(
auto groupID = zego_value_get_string(arguments->at(flutter::EncodableValue("groupID"))); auto groupID = zego_value_get_string(arguments->at(flutter::EncodableValue("groupID")));
auto channelId = zego_value_get_string(arguments->at(flutter::EncodableValue("channelId"))); auto channelId = zego_value_get_string(arguments->at(flutter::EncodableValue("channelId")));
auto offlinePushInfo = value_2_json(arguments->at(flutter::EncodableValue("offlinePushInfo"))); auto offlinePushInfo = value_2_json(arguments->at(flutter::EncodableValue("offlinePushInfo")));
auto clientMsgID = zego_value_get_string(arguments->at(flutter::EncodableValue("clientMsgID")));
auto isOnlineOnly = zego_value_get_bool(arguments->at(flutter::EncodableValue("isOnlineOnly"))); auto isOnlineOnly = zego_value_get_bool(arguments->at(flutter::EncodableValue("isOnlineOnly")));
auto json = EncodableValueToJson(arguments->at(flutter::EncodableValue("message")));
auto clientMsgID = json["clientMsgID"].get<std::string>();
char* operationID_cs = const_cast<char*>(operationID.c_str()); char* operationID_cs = const_cast<char*>(operationID.c_str());
char* message_cs = const_cast<char*>(message.c_str()); char* message_cs = const_cast<char*>(message.c_str());
char* userID_cs = const_cast<char*>(userID.c_str()); char* userID_cs = const_cast<char*>(userID.c_str());