初始化

更新时间: 2023/07/17 10:57:26

初始化SDK

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

csharppublic static bool Init(string appDataDir, string appInstallDir = "", NimUtility.NimConfig config = null)
  • appDataDir: 用户数据缓存目录, 必须具有读写权限,SDK数据都存储在这个目录中
  • appInstallDir: 程序安装目录,暂时未使用
  • config: SDK配置,通过设置这个参数可以自定义sdk的一些行为,不需要修改默认行为保持 null 即可

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

数据缓存目录

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

Unity demo AppData 目录设置:

csharppublic static string AppDataPath
{
    get
    {
        if (string.IsNullOrEmpty(_appDataPath))
        {
            _appDataPath = Application.persistentDataPath + "/NimUnityDemo";
            Debug.Log("AppDataPath:" + _appDataPath);
        }
        return _appDataPath;
    }
}
  • appInstallDir 程序安装目录,暂时未使用
  • config sdk配置,通过设置这个参数可以自定义sdk的一些行为,不需要修改默认行为保持 null 即可

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配对使用。

C#private void OnApplicationQuit()
{
    //You Must call `logout` and `cleanup` to release resources.
    //In this,you should call synchronous method.
    // `Cleanup` should be called once only 
    NIM.ClientAPI.Logout(NIMLogoutType.kNIMLogoutAppExit);
    NIM.ClientAPI.Cleanup();
}

此文档是否对你有帮助?
有帮助
去反馈
  • 初始化SDK
  • 数据缓存目录
  • NimConfig 参数说明
  • SDK通用配置项
  • 私有服务器配置
  • SDK清理