全局配置
更新时间: 2025/09/11 14:15:56
通过合理配置全局设置,您可以为用户提供一个更加个性化、符合业务需求的即时通讯体验。
配置中心
IMKitConfigCenter
是 NIM UIKit 的全局功能配置中心,它提供了丰富的配置开关,让您可以根据业务需求灵活控制各项功能的启用状态。通过这些配置,您可以定制个性化的即时通讯体验,如@功能、消息收藏、PIN 消息等功能。
主要配置参数:
参数 | 类型 | 说明 | 默认值 |
---|---|---|---|
enableAIUser |
Boolean | 控制是否启用 AI 数字人功能。启用后,应用将支持 AI 数字人相关功能。 | true |
enableAtMessage |
Boolean | 控制是否启用@提及功能。启用后,用户可以在消息中@其他用户。 | true |
enableCollectionMessage |
Boolean | 控制是否启用消息收藏功能。启用后,用户可以收藏重要消息以便日后查看。 | true |
enableDismissTeamDeleteConversation |
Boolean | 控制是否在解散群或被踢出群聊后自动删除对应的会话。 | true |
enableOnlyFriendCall |
Boolean | 控制是否仅允许好友之间进行通话。启用后,只有好友关系的用户才能互相发起通话。 | true |
enablePinMessage |
Boolean | 控制是否启用消息固定(Pin)功能。启用后,用户可以固定重要消息在会话顶部。 | true |
enableTeam |
Boolean | 控制是否启用群聊功能。如果设为 false,所有与群相关的功能将会被隐藏。 | true |
enableTopMessage |
Boolean | 控制是否启用消息置顶功能。启用后,用户可以将重要会话置顶。 | true |
enableTypingStatus |
Boolean | 控制是否显示 正在输入 状态提示。启用后,当聊天对象正在输入消息时会显示相应状态。 | true |
enableOnlineStatus |
Boolean | 控制是否显示用户在线状态。启用后,可以查看用户是否在线。 | true |
enableAIChatHelper |
Boolean | 控制是否启用 AI 助聊功能。启用后,AI 将辅助用户聊天。 | true |
enableRichTextMessage |
Boolean | 控制是否支持富文本消息,包括换行等高级文本格式。 | true |
配置时机
为确保配置能够正确生效,您需要在 NIM UIKit 功能或页面加载之前进行配置。以下是一些建议的配置时机:
- 建议在应用启动时统一配置所有全局设置,便于管理和调试。
- 某些设置如语音播放模式可以记住用户的偏好,保存到 SharedPreferences 中。
- 某些功能可以根据用户权限、VIP 级别等条件动态调整。
配置方法
方法一:Application 的 onCreate(推荐)
在 Application 的 onCreate
方法中可以确保配置在应用启动时就已经完成,适用于全局一致的配置需求。
Javapublic class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// 初始化 SDK 前配置 NIM UIKit
IMKitConfigCenter.setEnableAIUser(false); // 禁用 AI 数字人功能
IMKitConfigCenter.setEnableAtMessage(true); // 启用@功能
IMKitConfigCenter.setEnableTeam(true); // 启用群组功能
IMKitConfigCenter.setEnableOnlineStatus(true); // 启用在线状态显示
// 之后再初始化 SDK
// SDKInitializer.initialize(...);
}
}
方法二:Activity 的 onCreate
如果您需要针对特定页面或功能区域进行不同的配置,可以在对应 Activity 初始化时进行设置。
Javapublic class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 针对本页面进行特定配置
IMKitConfigCenter.setEnableTypingStatus(true); // 启用"正在输入"状态
IMKitConfigCenter.setEnablePinMessage(true); // 启用消息固定功能
}
}
常用全局设置
除了功能开关配置外,NIM UIKit 还提供了一些常用的全局设置,以下是两个典型示例:
设置消息已读未读状态
调用 SettingRepo.setShowReadStatus
方法,您可以控制是否在全局范围内显示消息的已读和未读状态指示。
Java// 参数为 true 表示显示已读/未读状态,false 表示隐藏
SettingRepo.setShowReadStatus(true);
// 查询当前的已读状态显示设置
boolean isShowingReadStatus = SettingRepo.getShowReadStatus();
启用后,消息会显示如下状态指示图标:

设置语音消息播放模式
调用 SettingRepo.setHandsetMode
方法,您可以控制语音消息的播放方式,选择通过听筒播放(适合私密场合)或外放播放(适合共享场合)。
Java// 设置语音播放模式
// true - 听筒模式,适合私密内容
// false - 外放模式,适合公开场合
SettingRepo.setHandsetMode(ConfigRepo.AUDIO_PLAY_EARPIECE); // 听筒模式
// 或
SettingRepo.setHandsetMode(ConfigRepo.AUDIO_PLAY_OUTSIDE); // 外放模式
此文档是否对你有帮助?