ConvGetTotalUnreadMessageCount
introduction
Get total unread message count
Unread messages are messages that have not been reported as read by users. This does not indicate whether the recipient has actually read the messages.
To display the correct unread count, developers need to explicitly call read reports to notify the IM SDK whether the messages in a conversation are read.
For example, you can mark all messages as read when the user enters the chat UI.
Parameter details
overload1
Parameter name | Parameter type | Required | Description |
---|---|---|---|
callback | ValueCallback< GetTotalUnreadNumberResult > | Required | Asynchronous callback The format of json_param in the return value is json |
overload2
Parameter name | Parameter type | Required | Description |
---|---|---|---|
callback | ValueCallback< string > | Required | Asynchronous callback The format of json_param in the return value is string |
Returned template
TIMResult
The parameters of the callback function after successfully calling the API:
code:int
desc:string
json_param:'{"conv_get_total_unread_message_count_result_unread_count":4}' //json key please check [GetTotalUnreadNumberResult]
user_data:string
Return value details
name | type | description |
---|---|---|
TIMResult | TIMResult | Return value of calling API |
code | int | Result error code: Error Codes |
desc | string | The description of the error. |
json_param | string | Json string. Calling different API will get different Json strings. json key please check GetTotalUnreadNumberResult |
user_data | string | User-defined data transfered by ImSDK without any processing |
Code example
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;
public class ConvGetTotalUnreadMessageCount : 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(ConvGetTotalUnreadMessageCountSDK);
Copy.onClick.AddListener(CopyText);
}
void ConvGetTotalUnreadMessageCountSDK()
{
TIMResult res = TencentIMSDK.ConvGetTotalUnreadMessageCount(Utils.addAsyncStringDataToScreen(GetResult));
Result.text = Utils.SynchronizeResult(res);
}
void GetResult(params object[] parameters)
{
Result.text += (string)parameters[0];
}
void CopyText()
{
Utils.Copy(Result.text);
}
void OnApplicationQuit()
{
TencentIMSDK.Uninit();
}
}