即时通讯 IM API 参考 v1.3.2
Agora Java IM SDK
| Public 成员函数 | 所有成员列表
io.agora.chat.ChatStatisticsManager类 参考

继承自 io.agora.chat.EMBase< T > .

enum  SearchMessageDirect
 
enum  SearchMessageType
 

Public 成员函数

MessageStatistics getMessageStatistics (String messageId)
 
int getMessageCount (long startTimestamp, long endTimestamp, SearchMessageDirect direct, SearchMessageType type)
 
long getMessageSize (long startTimestamp, long endTimestamp, SearchMessageDirect direct, SearchMessageType type)
 

详细描述

本地消息流量统计管理类。

该类中的方法可用于统计一定时间段内发送和/接收的指定类型的本地消息数量及其流量。

本地消息的流量统计功能默认关闭。若要使用该功能,需在 SDK 初始化前设置 ChatOptions#setEnableStatistics(boolean) 开启。

SDK 只支持统计该功能开启后最近 30 天内发送和接收的消息。各类消息的流量计算方法如下:

注解
  1. 对于携带附件的消息,下载成功后 SDK 才统计附件的流量。若附件下载多次,则会对下载的流量进行累加。
  2. 对于从服务器拉取的漫游消息,如果本地数据库中已经存在,则不进行统计。

SDK 仅统计本地消息的流量,而非消息的实际流量。一般而言,该统计数据小于实际流量,原因如下:

成员函数说明

◆ getMessageCount()

int io.agora.chat.ChatStatisticsManager.getMessageCount ( long  startTimestamp,
long  endTimestamp,
SearchMessageDirect  direct,
SearchMessageType  type 
)

获取一定时间段内发送和/或接收的指定类型的消息条数。

参数
startTimestamp起始时间戳,单位为毫秒。
endTimestamp结束时间戳,单位为毫秒。
direct消息方向。
type消息类型。
返回
返回符合条件的消息条数。调用失败时返回 0

◆ getMessageSize()

long io.agora.chat.ChatStatisticsManager.getMessageSize ( long  startTimestamp,
long  endTimestamp,
SearchMessageDirect  direct,
SearchMessageType  type 
)

获取一定时间段内发送和/或接收的指定类型的消息的总流量。

流量单位为字节。

消息流量的计算方法如下:

  • 对于文本、透传、位置和自定义消息消息,消息流量为消息体的流量;
  • 对于图片和视频消息,消息流量为消息体、图片或视频文件以及缩略图的流量之和;
  • 对于文件和语音消息,消息流量为消息体和附件的流量。
参数
startTimestamp起始时间戳。
endTimestamp结束时间戳。
direct消息方向。
type消息类型。
返回
返回符合条件的消息流量大小。调用失败时返回 0

◆ getMessageStatistics()

MessageStatistics io.agora.chat.ChatStatisticsManager.getMessageStatistics ( String  messageId)

根据消息 ID 获取消息流量统计信息。

参数
messageId消息 ID。
返回
返回消息的流量统计信息。统计数据详见 MessageStatistics

该类的文档由以下文件生成: