Documentation

Support

Vivox Core SDK

Vivox Core SDK

Retrieve channel-based chat history

How to retrieve channel-based chat history.
Read time 1 minuteLast updated 20 hours ago

To retrieve the channel-based chat history, you need to sign in and connect to at least one channel. You can then use
vx_req_session_chat_history_query
to make a request.
vx_req_session_chat_history_query
will return 10 messages by default. You can increase the number of messages that are returned by increasing the max value in the request. The maximum number of messages that we store per channel is 5000, with a maximum age of 7 days.
You will receive a
vx_evt_account_archive_message
event for every message.
The following code is an example of how to retrieve the last 20 messages for the specific channel:
vx_req_session_chat_history_query *req;vx_req_session_chat_history_query_create(&req);req->session_handle = vx_strdup("mychannel");req->max = 20;vx_issue_request2(&req->base);
After you get these messages, the game must then process two types of event messages:
  • vx_evt_session_archive_message
  • vx_evt_session_archive_query_end_t
void HandleSessionChatHistoryMessage(vx_evt_session_archive_message *evt){ // Use information in events to display messages} void HandleSessionChatHistoryEnd(vx_evt_session_archive_query_end_t *resp){ if (resp != nullptr && resp->return_code == 0) { // Ended abnormally } else { // Ended properly }}