Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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);
        }