hyphenate_SDK3.0 3.9.9.2
hyphenate java IM SDK
| Public 成员函数 | 所有成员列表
com.hyphenate.chat.EMStatisticsManager类 参考

继承自 com.hyphenate.chat.EMBase< T > .

enum  EMSearchMessageDirect
 
enum  EMSearchMessageType
 

Public 成员函数

EMMessageStatistics getMessageStatistics (String messageId)
 
int getMessageCount (long startTimestamp, long endTimestamp, EMSearchMessageDirect direct, EMSearchMessageType type)
 
long getMessageSize (long startTimestamp, long endTimestamp, EMSearchMessageDirect direct, EMSearchMessageType type)
 

详细描述

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

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

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

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

注意

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

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

\english The class for traffic statistics management of local messages.

This class contains methods that are used to calculate the number of local messages of certain types sent and/or received in a specified period, as well as their traffic.

This traffic statistics function is disabled by default. To use this function, you need to enable it by setting EMOptions#setEnableStatistics(boolean) prior to the SDK initialization.

The SDK only calculates the traffic of messages that are sent and received within the last 30 days after the traffic statistics function is enabled.

The message traffic is calculated as follows:

Note

  1. For messages with attachments, the traffic will be calculated only if the download is successful. If an attachment is downloaded multiple times, its download traffic will be accumulated.
  2. For roaming messages pulled from the server, if they already exist in the local database, the SDK ignores them during traffic calculation.

The SDK only measures the traffic of local messages, but not the actual message traffic. Generally, the calculated traffic volume is smaller than the actual traffic because of the following:

成员函数说明

◆ getMessageCount()

int com.hyphenate.chat.EMStatisticsManager.getMessageCount ( long  startTimestamp,
long  endTimestamp,
EMSearchMessageDirect  direct,
EMSearchMessageType  type 
)

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

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

◆ getMessageSize()

long com.hyphenate.chat.EMStatisticsManager.getMessageSize ( long  startTimestamp,
long  endTimestamp,
EMSearchMessageDirect  direct,
EMSearchMessageType  type 
)

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

流量单位为字节。

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

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

◆ getMessageStatistics()

EMMessageStatistics com.hyphenate.chat.EMStatisticsManager.getMessageStatistics ( String  messageId)

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

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

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