IM 即时通讯
Windows/macOS
开发指南

内置系统通知未读数

更新时间: 2022/10/10 11:47:42

内置系统通知未读数,指在云信系统中,用户接收到的内置系统通知未读总数。本文介绍如何获取内置系统通知未读数和标记已读并提供相应的示例代码。

前提条件

已监听系统通知接收事件的回调,具体请参见监听系统通知

查询内置系统通知未读数

C++

通过调用 QueryUnreadCount 方法查询内置系统通知未读总数。

示例代码:

void OnQuerySysmsgUnreadCb(nim::NIMResCode res_code, int unread_count)
{
	if (res_code == 200)
		···
}

void foo()
{
	nim::SystemMsg::QueryUnreadCount(&OnQuerySysmsgUnreadCb);
}

仅在本地数据库中进行查询。

:::

C

通过调用 nim_sysmsg_query_unread_count 方法查询内置系统通知未读总数。

示例代码:

void CallbackNotifySysmsgRes(int res_code, int unread_count, const char *json_extension, const void *callback)
{
	
}

typedef void(*nim_sysmsg_query_unread_count)(const char *json_extension, nim_sysmsg_res_cb_func cb, const void *user_data);
void foo()
{
	nim_sysmsg_query_unread_count func = (nim_sysmsg_query_unread_count) GetProcAddress(hInst, "nim_sysmsg_query_unread_count");
	func("", &CallbackNotifySysmsgRes, nullptr);
}
C#

通过调用 QueryUnreadCount 方法查询内置系统通知未读总数。

示例代码:

NIM.SysMessage.SysMsgAPI.QueryUnreadCount((response, count) =>
{

});

标记所有内置系统通知已读

C++

通过调用 ReadAllAsync 方法将所有的内置系统通知标记为已读,即调用后内置系统通知未读数为零。

示例代码:

void SysMsgReadAllCb(nim::NIMResCode code, int unread)
{

}
void foo()
{
	nim::SystemMsg::ReadAllAsync(&SysMsgReadAllCb);
}
C

通过调用 nim_sysmsg_read_all_async 方法将所有的内置系统通知标记为已读,即调用后内置系统通知未读数为零。

示例代码:

void CallbackNotifySysmsgRes(int res_code, int unread_count, const char *json_extension, const void *callback)
{
	
}

typedef void(*nim_sysmsg_read_all_async)(const char *json_extension, nim_sysmsg_res_cb_func cb, const void* user_data);
void foo()
{
	nim_sysmsg_read_all_async func = (nim_sysmsg_read_all_async) GetProcAddress(hInst, "nim_sysmsg_read_all_async");
	func("", &CallbackNotifySysmsgRes, nullptr);
}
C#

通过调用 SetAllMsgRead 方法将所有的内置系统通知标记为已读,即调用后内置系统通知未读数为零。

示例代码:

void foo()
{
	NIM.SysMessage.SysMsgAPI.SetAllMsgRead(
		(res_code, unread_count, json_extension, user_data) =>
	{

	});
}

API 参考

C++
API
说明
QueryUnreadCount 查询内置系统通知未读总数
ReadAllAsync 将所有的内置系统通知标记为已读,即调用后内置系统通知未读数为零
C
API
说明
nim_sysmsg_query_unread_count 查询内置系统通知未读总数
nim_sysmsg_read_all_async 将所有的内置系统通知标记为已读,即调用后内置系统通知未读数为零
C#
API
说明
QueryUnreadCount 查询内置系统通知未读总数
SetAllMsgRead 将所有的内置系统通知标记为已读,即调用后内置系统通知未读数为零
此文档是否对你有帮助?
有帮助
去反馈
  • 前提条件
  • 查询内置系统通知未读数
  • 标记所有内置系统通知已读
  • API 参考