初始化

在调用任何功能前 必须 先进行初始化,传入数据缓存目录和SDK的配置信息。

void VchatInit()
{
    string path = Application.dataPath + @"/Plugins/";
    IntPtr ptr = IntPtr.Zero;
    #if UNITY_ANDROID
    jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
    jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
    context = jo.Call<AndroidJavaObject>("getApplicationContext");
    ptr = context.GetRawObject();
    VChatAPI.Init(path, ptr);
    #else
    VChatAPI.Init(path,ptr);
    #endif
}
void foo()
{
    //SDK 配置,不需要自定义设置为NULL即可
     NimConfig config = null;
    //初始化SDK
    var ret = NIM.ClientAPI.Init(app_data_path, "", config);
    //初始化音视频模块
    VchatInit();
}

在程序退出前,先调用VChatAPI.Cleanup();进行音视频模块的清理工作,然后调用接口 ClientAPI.Cleanup();进行NIM SDK 的清理工作,ClientAPI.Cleanup()需要与NIM.ClientAPI.Init配对执行,通常在程序启动时调用NIM.ClientAPI.Init进行初始化,在程序退出时调用ClientAPI.Cleanup()释放资源。对于清理工作的注意事项请查看后续的"登出/退出和清理SDK"章节。