flutter_ytim

概要

YouTeacher IM 快速开发SDK。 支持两种集成方式:

  1. 快速集成。几行代码完成所有功能接入,使用内置UI界面。
  2. 自定义集成。使用核心功能API,自定义联系人列表和聊天界面。

功能

  • IM账号自动注册/登陆
  • 联系人列表
  • 未读消息红点显示
  • 最后一条消息展示
  • 1v1聊天
  • 未读/已读状态显示
  • 自己的消息撤回
  • 被踢下线回调
  • 内置UI组件国际化支持

TODO

  • UI定制

截屏

联系人列表1v1聊天

使用方法

一、快速集成

  1. 内置界面国际化配置
MaterialApp(
  localizationsDelegates: [
    // 这一行很重要,YTIM内置界面的文字国际化。
    YTIMLocalizations.delegate,
  ],
  home: HomePage(),
)
  1. 初始化
YTIM().init(
  imAppID: '8C5FA707436E824363ECF0172F408F2D',
  imAppSecret: '42C213D8A378EDA8034598CDF840823D',
  imAccount: 'and2long@gmail.com',
  imUsername: 'and2long',
  imUserCreatedCallback: (IMUser value) {
    print(value);
    // 创建IM用户成功,将IM用户信息与你自己的用户系统关联起来。
  },
  imLoginSuccessCallback: (IMUser value) {
    // IM用户登陆成功,取联系人列表。
    YTIM().getUserList(order: '4');
  },
);
  1. 在程序回到前台时,检查IM连接状态。
YTIM().checkConnectStatus();
  1. 断开连接,释放资源。
YTIM().release();

二、自定义集成。

聊天功能核心API:

功能方法
初始化YTIM().init
检查连接状态YTIM().checkConnectStatus
释放连接YTIM().release
被踢回调YTIM().addKickOutCallback
发送IM消息YTIM().send
发送已读回执YTIM().sendACK
撤销消息YTIM().revokeMessage
获取联系人列表YTIM().getUserList
获取未读消息YTIM().getUnreadMessage
获取历史消息列表YTIM().getHistoryMessage
获取用户资料YTIM().getProfile

YTIM使用Dart Streams来跟踪侦听器。 为特定事件注册监听器:

YTIM().on<IMMessage>().listen((event) { });

为所有事件注册监听器

YTIM().on().listen((event) {
    print(event.runtimeType);
});

一些事件类型

事件类名
消息IMMessage
用户信息IMUser
用户列表IMUserList
历史消息列表IMHistoryMsgList
未读消息列表IMUnreadMsgList
未读消息个数IMUnreadCount
IM指令类型IMCommand

可用的全局变量

功能方法
streamControllerYTIM().streamController
自己的IM用户信息YTIM().mUser
当前正在与之聊天的用户idYTIM().currentChatUserId

用户信息操作接口

功能方法
创建用户YTIM().addUser
编辑用户YTIM().editUser
删除用户YTIM().deleteUser
获取未读消息数量YTIM().getUnreadMessageCount

示例代码

example project

Libraries

flutter_ytim