UIKit 配置指南
Global IM UIKit 全局配置旨在提供易于使用的功能配置,帮助 您快速构建聊天应用程序。
配置说明
Global IM UIKit 全局配置按照以下模块进行划分。您可以在相应的文件中了解 Global IM UIKit 提供的所有全局配置。
类别 | 描述 | API 文档 | 配置入口 |
---|---|---|---|
特性配置 | 控制配置主题模式、语言类型、图片加载引擎、用户最大缓存、群组最大缓存、组成员缓存、权限拦截器等。 | FeatureConfig | ConfigCenter.getFeatureConfig() |
会话列表页面配置 | 控制设置支持的会话类型、会话列表条目Provider、进入会话是否删除通知消息等。 | ChatListConfig | ConfigCenter.getChatListConfig() |
会话页面配置 | 控制是否显示头像、昵称, 设置聊天气泡样式、撤回时间等。 | ChatConfig | ConfigCenter.getChatConfig() |
用户信息配置 | 设置当前用户信息、用户信息提供者、群组信息提供者、群组@信息提供者等。 | UserInfoConfig | ConfigCenter.getUserInfoConfig() |
通知配置 | 控制前台非会话页面接收到消息是否静默、通知的标题类型本地通知的分类(Category)、设置通知拦截器等。 | NotificationConfig | ConfigCenter.getNotificationConfig() |
其他全局配置 | 控制是否开启断网提示、消息已发已读状态等。 | ConfigCenter | ConfigCenter |
修改 Global IM UIKit 配置
Global IM UIKit 提供了 ConfigCenter
类,作为修改 SDK 全局配置的入口。
// 设置语言(支持:英文、中 文、跟随系统,默认:跟随系统,参考:详情可参考 FeatureConfig.LanguageType)
ConfigCenter.getFeatureConfig().setLanguage(FeatureConfig.LanguageType.ENGLISH);
// 设置主题类型(支持:浅色模式、深色模式、跟随系统,默认:跟随系统,参考:详情可参考 FeatureConfig.ThemeMode)
ConfigCenter.getFeatureConfig().setThemeMode(FeatureConfig.ThemeMode.THEME_LIGHT_MODE);
// 断网提示 (默认:开)
ConfigCenter.setShowConnectingStatus(false);
// 消息 已发送&已读 状态 (默认:开)
ConfigCenter.setSentReadStatus(false);
// 设置会话列表延时刷新时间(防止消息量过大导致卡顿)
ConfigCenter.getChatListConfig().setSupportedTypes(new Conversation.ConversationType[] { Conversation.ConversationType.PRIVATE,
Conversation.ConversationType.GROUP });
// 是否在私聊中显示自己的头像(默认关)
ConfigCenter.getChatConfig().setDisplayOwnAvatarInPrivateChat(true);
// 会话列表中每个条目的头像显示默认为圆形,可修改为矩形显示。
ConfigCenter.getFeatureConfig().setKitImageEngine(new GlideKitImageEngine() {
@Override
public void loadConversationListPortrait(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, Conversation conversation) {
Glide.with(context).load(url)
.into(imageView);
}
});
// 会话页面中每条消息的头像显示默认为圆形,可修改为矩形显示。
ConfigCenter.getFeatureConfig().setKitImageEngine(new GlideKitImageEngine() {
@Override
public void loadConversationPortrait(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, Message message) {
Glide.with(context).load(url)
.into(imageView);
}
});
// 设置前台处于非会话页面时,接收到消息后不通知。
ConfigCenter.getNotificationConfig().setForegroundOtherPageAction(ForegroundOtherPageAction.Silent);
// 设置当前用户信息
ConfigCenter.getUserInfoConfig().setCurrentUserInfo(new UserInfo("userId", "userName", Uri.parse("https:image")));
检查 Global IM UIKit 配置
Global IM UIKit 配置是实时应用的,修改后的配置将在下一次 UI 刷新或者操作时生效。建议在初始化 Global IM UIKit 后完成所有配置。