flutter_wukongim_sdk 0.0.6 copy "flutter_wukongim_sdk: ^0.0.6" to clipboard
flutter_wukongim_sdk: ^0.0.6 copied to clipboard

A Flutter plugin for WuKongIM instant messaging system. Provides real-time messaging, channel management, and connection handling with end-to-end encryption support.

Flutter WuKongIM SDK #

pub package License

Flutter WuKongIM SDK 是一个高性能的即时通讯Flutter插件,基于WuKongIM即时通讯系统构建。提供完整的聊天功能,包括消息发送接收、频道管理、会话管理等核心功能。

✨ 特性 #

  • 🚀 高性能: 支持大量并发连接和消息处理
  • 🔒 安全可靠: 端到端加密,支持x25519密钥交换
  • 🔄 自动重连: 完善的网络重连机制和消息重发保障
  • 📱 跨平台: 支持iOS和Android平台
  • 🎯 多消息类型: 文本、图片、语音、视频、卡片等
  • 💾 本地存储: 基于SQLite的消息持久化存储
  • 🌍 多环境: 支持开发、测试、预发布、生产环境配置

📦 安装 #

pubspec.yaml 文件中添加依赖:

dependencies:
  flutter_wukongim_sdk: ^0.0.1

然后运行:

flutter pub get

🚀 快速开始 #

1. 初始化SDK #

import 'package:flutter_wukongim_sdk/flutter_wukongim_sdk.dart';

// 配置选项
final options = Options()
  ..uid = 'your_user_id'
  ..token = 'your_token'
  ..addr = 'your_server_address:port'
  ..environment = WKEnvironment.development;

// 初始化SDK
await WKIM.shared.setup(options);

2. 连接服务器 #

// 连接到WuKongIM服务器
WKIM.shared.connectionManager.connect();

// 监听连接状态
WKIM.shared.connectionManager.addOnConnectionStatusListener('demo', (status) {
  print('连接状态: $status');
});

3. 发送消息 #

// 创建文本消息
final textContent = WKTextContent('Hello, World!');

// 发送消息
WKIM.shared.messageManager.sendMessage(
  WKMsg()
    ..channelID = 'channel_id'
    ..channelType = WKChannelType.person
    ..content = textContent,
);

4. 接收消息 #

// 监听新消息
WKIM.shared.messageManager.addOnNewMsgListener('demo', (messages) {
  for (var msg in messages) {
    print('收到新消息: ${msg.content}');
  }
});

📚 核心功能 #

消息管理 #

// 注册自定义消息类型
WKIM.shared.messageManager.registerMsgContent(
  CustomMessageType.custom,
  (data) => CustomMessageContent().decodeJson(data),
);

// 发送图片消息
final imageContent = WKImageContent(width, height)
  ..localPath = imagePath;

WKIM.shared.messageManager.sendMessage(
  WKMsg()
    ..channelID = channelId
    ..channelType = channelType
    ..content = imageContent,
);

频道管理 #

// 获取频道信息
final channel = await WKIM.shared.channelManager.getChannel(
  channelId, 
  channelType,
);

// 加入频道
await WKIM.shared.channelManager.joinChannel(channelId, channelType);

会话管理 #

// 获取会话列表
final conversations = await WKIM.shared.conversationManager.getConversations();

// 删除会话
await WKIM.shared.conversationManager.deleteConversation(
  channelId, 
  channelType,
);

⚙️ 配置选项 #

环境配置 #

final options = Options()
  ..environment = WKEnvironment.production  // 生产环境
  ..debug = false;  // 关闭调试日志

网络配置 #

final options = Options()
  ..useWebSocket = true  // 使用WebSocket连接
  ..networkConfig = NetworkConfig()
    ..maxReconnectAttempts = 10
    ..reconnectInterval = Duration(seconds: 5);

消息同步配置 #

final options = Options()
  ..messageSyncConfig = MessageSyncConfig()
    ..syncInterval = Duration(minutes: 1)
    ..maxSyncMessages = 100;

🔧 高级用法 #

自定义消息类型 #

class CustomMessageContent extends WKMessageContent {
  String customData;
  
  CustomMessageContent(this.customData);
  
  @override
  WKMessageContent decodeJson(Map<String, dynamic> json) {
    return CustomMessageContent(json['custom_data'] ?? '');
  }
  
  @override
  Map<String, dynamic> encodeJson() {
    return {'custom_data': customData};
  }
}

消息加密 #

// SDK内置端到端加密,无需额外配置
// 支持x25519密钥交换算法

离线消息处理 #

// 监听离线消息同步
WKIM.shared.messageSyncManager.addOnSyncListener('demo', (syncResult) {
  print('同步了 ${syncResult.messages.length} 条离线消息');
});

🐛 错误处理 #

// 设置全局错误回调
final options = Options()
  ..onError = (url, error, stack, code) {
    print('SDK错误: $error');
    // 处理错误逻辑
  };

// 强制重置连接(解决连接问题)
WKIM.shared.forceResetConnection();

📱 平台支持 #

平台 支持版本
iOS 9.0+
Android API 16+
Flutter 3.3.0+

🔗 相关链接 #

📞 支持 #

如果您在使用过程中遇到问题,可以通过以下方式获取帮助:

1
likes
140
points
426
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin for WuKongIM instant messaging system. Provides real-time messaging, channel management, and connection handling with end-to-end encryption support.

Repository (GitHub)
View/report issues

Topics

#messaging #chat #websocket #real-time #instant-messaging

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

connectivity_plus, crypto, cupertino_icons, dio, encrypt, flutter, hex, path, plugin_platform_interface, shared_preferences, sqflite, uuid, web_socket_channel, x25519

More

Packages that depend on flutter_wukongim_sdk