Init
功能介绍
初始化IM SDK
在使用ImSDK进一步操作之前,需要先初始化ImSDK,准备 SDKAppID。
json_sdk_config 可以为 NULL 空字符串指针或者""空字符串,在此情况下SdkConfig均为默认值。
json_sdk_config 里面的每个Json key都是选填的,详情请参考SdkConfig
sdk_config_config_file_path 和 sdk_config_log_file_path 的值要求是 UTF-8 编码
sdk_config_config_file_path 和 sdk_config_log_file_path 路径需要应用有可读写权限。
在 SDK 初始化成功后,请立即添加需要用到的事件监听,以免消息遗漏。
参数详解
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
sdk_app_id | long | 是 | 应用ID,可在控制台中获取 |
json_sdk_config | SdkConfig | 是 | 初始化ImSDK的配置 |
返回模板
TIMResult
返回值详解
名称 | 数值类型 | 描述 |
---|---|---|
TIMResult | TIMResult | 调用接口的返回值 |
代码示例
using UnityEngine;
using UnityEngine.UI;
using com.tencent.im.unity.demo.types;
using com.tencent.imsdk.unity;
using com.tencent.imsdk.unity.types;
using com.tencent.imsdk.unity.enums;
using com.tencent.im.unity.demo.utils;
using EasyUI.Toast;
public class InitSDK : MonoBehaviour
{
public Text Header;
public Text Result;
public Button Submit;
public Button Copy;
void Start()
{
Result = GameObject.Find("ResultText").GetComponent<Text>();
Header = GameObject.Find("HeaderText").GetComponent<Text>();
Submit = GameObject.Find("Submit").GetComponent<Button>();
if (CurrentSceneInfo.info != null)
{
Header.text = Utils.IsCn() ? CurrentSceneInfo.info.apiText + " " + CurrentSceneInfo.info.apiName : CurrentSceneInfo.info.apiName;
Submit.GetComponentInChildren<Text>().text = CurrentSceneInfo.info.apiName;
}
Copy = GameObject.Find("Copy").GetComponent<Button>();
Copy.GetComponentInChildren<Text>().text = Utils.t("Copy");
Submit.onClick.AddListener(Init);
Copy.onClick.AddListener(CopyText);
}
public void Init()
{
var sdkappid = PlayerPrefs.GetString("Sdkappid", "");
SdkConfig sdkConfig = new SdkConfig();
sdkConfig.sdk_config_config_file_path = Application.persistentDataPath + "/TIM-Config";
sdkConfig.sdk_config_log_file_path = Application.persistentDataPath + "/TIM-Log";
if (sdkappid == "")
{
Toast.Show("Input sdkappid first");
return;
}
TIMResult res = TencentIMSDK.Init(long.Parse(sdkappid), sdkConfig);
Result.text = Utils.SynchronizeResult(res);
}
void CopyText()
{
Utils.Copy(Result.text);
}
void OnApplicationQuit()
{
TencentIMSDK.Uninit();
}
}