/// <summary> /// NIM SDK初始化 /// </summary> /// <param name="appKey">AppKey,必填</param> /// <param name="appDataDir">使用默认路径时只需传入单个目录名(不以反斜杠结尾),使用自定义路径时需传入完整路径(以反斜杠结尾,并确保有正确的读写权限!).</param> /// <param name="appInstallDir">目前不需要传入(SDK可以自动获取).</param> /// <param name="config">The config.</param> /// <returns><c>true</c> 成功, <c>false</c> 失败</returns> public static bool Init(string appKey, string appDataDir, string appInstallDir = "", NimUtility.NimConfig config = null) { if (_sdkInitialized) { RegisterSdkCallbacks();//需要重新注册; return(true); } string configJson = null; if (config != null && config.IsValiad()) { if (string.IsNullOrEmpty(appKey)) { config.AppKey = appKey; } configJson = config.Serialize(); } else { config = new NimConfig(); config.AppKey = appKey; configJson = config.Serialize(); } _sdkInitialized = ClientNativeMethods.nim_client_init(appDataDir, appInstallDir, configJson); if (_sdkInitialized) { RegisterSdkCallbacks(); } //调用com.netease.nimlib.SystemUtil的初始化接口 InitSystemUtil(); return(_sdkInitialized); }
private static bool InitIM() { //读取配置信息,用户可以自己定义配置文件格式和读取方式,使用默认配置项config设置为null即可 var config = ConfigReader.GetSdkConfig(); if (config == null) { config = new NimConfig(); } if (config.CommonSetting == null) { config.CommonSetting = new SdkCommonSetting(); } //群消息已读功能,如需开启请提前咨询技术支持或销售 config.CommonSetting.TeamMsgAckEnabled = true; if (String.IsNullOrEmpty(config.AppKey)) { MessageBox.Show("请设置app key"); return(false); } if (!NIM.ClientAPI.Init(config.AppKey, "NIMCSharpDemo", null, config)) { MessageBox.Show("NIM init failed!"); return(false); } return(true); }