Android

全局配置

更新时间: 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);   // 外放模式
此文档是否对你有帮助?
有帮助
去反馈
  • 配置中心
  • 配置时机
  • 配置方法
  • 方法一:Application 的 onCreate(推荐)
  • 方法二:Activity 的 onCreate
  • 常用全局设置
  • 设置消息已读未读状态
  • 设置语音消息播放模式