初始化SDK

在使用SDK提供的功能之前 必须 调用 NIM.ClientAPI.Init 函数进行初始化,函数声明如下:

public static bool Init(string appDataDir, string appInstallDir = "", NimUtility.NimConfig config = null)

函数执行成功且返回true才能执行登录等操作。

数据缓存目录

数据缓存目录可以使用单独目录名或者完整路径,SDK会自动生成目录。使用目录名在Windows下最终目录位于当前用户C:\Users\XXX\AppData\Local目录中,Android和iOS平台推荐使用完整路径,方便查看数据。

Unity demo AppData 目录设置:

public static string AppDataPath
{
    get
    {
        if (string.IsNullOrEmpty(_appDataPath))
        {
            if (Application.platform == RuntimePlatform.IPhonePlayer)
            {
                _appDataPath = Application.persistentDataPath + "/NimUnityDemo";
            }
            else if (Application.platform == RuntimePlatform.Android)
            {
                string androidPathName = "com.netease.nim_unity_android_demo";
                if (System.IO.Directory.Exists("/sdcard"))
                    _appDataPath = Path.Combine("/sdcard", androidPathName);
                else
                    _appDataPath = Path.Combine(Application.persistentDataPath, androidPathName);
            }
            else if (Application.platform == RuntimePlatform.WindowsEditor ||
            Application.platform == RuntimePlatform.WindowsPlayer)
            {
                _appDataPath = "NimUnityDemo";
            }
            Debug.Log("AppDataPath:" + _appDataPath);
        }
        return _appDataPath;
    }
}

NimConfig 参数说明

SDK通用配置项

SdkCommonSetting类包含SDK通用配置项,如下所示:

参数 说明
DataBaseEncryptKey 数据库秘钥,加密用户本地缓存数据,目前只支持最多32个字符的加密密钥!建议使用32个字符
PredownloadAttachmentThumbnail 是否需要预下载附件缩略图,默认为true
PreloadImageQuality 预下载图片质量,范围:0-100
PreloadImageResize 预下载图片基于长宽做内缩略,选填,比如宽100高50,则赋值为100x50,中间为字母小写x
LogLevel 设置SDK log级别,级别越高log越详细,SDK默认级别为Pro
CustomTimeout 设置登录超时时间,单位秒,默认30秒
MaxLoginRetry 由于网络原因导致登录失败时最大重试次数
SyncSessionAck 设置是否已读未读状态多端同步,默认true
NotNeedSaveCustomMsg 设置是否不保存自定义(kNIMMessageTypeCustom)消息,默认false
UsePriviteServer 是否使用私有服务器,默认false

私有服务器配置

SdkPrivateServerSetting类提供使用私有服务器时需要提供的配置项,在使用云信公共服务器时不需要配置该项,参数说明如下:

参数 说明
LbsAddress 服务器LBS地址
NOSLbsAddress 私有化NOS LBS地址
LinkServerList 默认云信Link服务器地址列表
UploadServerList 默认NOS上服务器地址列表
DownloadServerList 默认NOS下载服务器地址列表
AccessServerList 默认NOS Access 服务器地址
RSAPublicKey RSA公共秘钥
RsaVersion RSA秘钥版本

SDK清理

在程序退出时需要调用Cleanup清理SDK释放资源,Cleanup需要与Init配对使用。