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();
  }
}

results matching ""

    No results matching ""