保利威文档中心

幫助中心

channelViewdata

更新時間:2026-04-17 12:02:09

1、取得頻道特定時間範圍內的歷史最高並發人數

描述

获取频道一定时间范围之内的历史最高并发人数,粒度可以支持到分钟
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/statistics/get-max-history-concurrent

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetMaxChannelHistoryConcurrent() throws Exception, NoSuchAlgorithmException {
        LiveChannelMaxHistoryConcurrentRequest liveChannelMaxHistoryConcurrentRequest =
                new LiveChannelMaxHistoryConcurrentRequest();
        Integer liveChannelMaxHistoryConcurrentResponse;
        try {
            long nowTime = System.currentTimeMillis();
            long startTime = nowTime - 30 * 24 * 60 * 60 * 1000l;
            liveChannelMaxHistoryConcurrentRequest.setChannelId(createChannel())
                    .setStartTime(super.getDate(startTime))
                    .setEndTime(super.getDate(nowTime));
            liveChannelMaxHistoryConcurrentResponse =
                    new LiveChannelViewdataServiceImpl().getMaxChannelHistoryConcurrent(
                    liveChannelMaxHistoryConcurrentRequest);
            Assert.assertNotNull(liveChannelMaxHistoryConcurrentResponse);
            if (liveChannelMaxHistoryConcurrentResponse != null) {
                //to do something ......
                log.debug("测试获取频道一定时间范围之内的历史最高并发人数成功,并发人数为:{}", liveChannelMaxHistoryConcurrentResponse);
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 Integer 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參描述

參數名 必選 類型 說明
channelId true String 頻道號
startTime true Date 開始時間
endTime true Date 結束時間
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

返回時間區間內的最高並發人數




2、分頁取得連線麥克風情況使用詳情

描述

分页获取连麦情况使用详情
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/statistics/mic/list

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testListChannelMic() throws Exception, NoSuchAlgorithmException {
        LiveListChannelMicRequest liveListChannelMicRequest = new LiveListChannelMicRequest();
        LiveListChannelMicResponse liveListChannelMicResponse;
        try {
            liveListChannelMicRequest.setChannelIds("1951952,1958888")
                    .setStartDay(getDate(2020, 1, 1))
                    .setEndDay(getDate(2020, 11, 11));
            liveListChannelMicResponse = new LiveChannelViewdataServiceImpl().listChannelMic(liveListChannelMicRequest);
            Assert.assertNotNull(liveListChannelMicResponse);
            if (liveListChannelMicResponse != null) {
                //to do something ......
                log.debug("测试分页获取连麦情况使用详情成功,{}", JSON.toJSONString(liveListChannelMicResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveListChannelMicResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求參數說明

參數名稱 必填 類型 說明
channelIds String 頻道號,使用英文逗號分隔,例如:100000,100001
startDay Date 開始時間,格式:yyyy-MM-dd
endDay Date 結束時間,格式:yyyy-MM-dd
currentPage Integer 頁碼,預設為1【對應 API 文件的 page 欄位】
pageSize Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料【對應 API 文件的 size 欄位】
appId String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
contents Array 列表資訊【詳見ChannelMic參數描述
pageSize Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
currentPage Integer 目前頁面【對應API文件的pageNumber欄位】
totalItems Integer 記錄總筆數
totalPage Integer 總頁數【對應API文件的totalPages欄位】
ChannelMic參數描述
參數名稱 類型 說明
userId String 使用者 userId
channelId String 頻道號碼
currentDay Date 當天,例如:2019-10-25
history Integer 使用連線分鐘數,單位:分鐘






3、分頁查詢頻道觀看紀錄

描述

分页查询频道观看日志
接口地址(仅做说明使用):https://api.polyv.net/live/v2/statistics/%s/viewlog

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

2、如果要查詢一段時間的記錄,可以傳入:startTime、endTime(startTime 和 endTime 必須在同一個月內);如果要查詢某一天的記錄,則傳入 currentDay。

3、startTimeendTimecurrentDay 不能都不傳

4、若同時傳遞 currentDay 與 startTime、endTime,將採用 startTime、endTime 的值

單元測試

    @Test
    public void testListChannelViewlog() throws Exception, NoSuchAlgorithmException {
        LiveListChannelViewlogRequest liveListChannelViewlogRequest = new LiveListChannelViewlogRequest();
        LiveListChannelViewlogResponse liveListChannelViewlogResponse;
        try {
            liveListChannelViewlogRequest.setChannelId(createChannel()).setCurrentDay(getDate(2020, 11, 3));
            liveListChannelViewlogResponse = new LiveChannelViewdataServiceImpl().listChannelViewlog(
                    liveListChannelViewlogRequest);
            Assert.assertNotNull(liveListChannelViewlogResponse);
            if (liveListChannelViewlogResponse != null) {
                //to do something ......
                log.debug("测试分页查询频道观看日志成功,{}", JSON.toJSONString(liveListChannelViewlogResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確時,回傳 LiveListChannelViewlogResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]

請求參數說明

參數名 必選 類型 說明
channelId true String 頻道號
currentDay false Date 查詢日期,格式:yyyy-MM-dd
startTime false Date 查詢開始時間
endTime false Date 查詢結束時間
viewerId false String 觀看用戶ID【對應API文件的param1欄位】
viewerName false String 觀看用戶名稱【對應API文件的param2欄位】
logType false String 觀看日誌類型,取值 vod 表示觀看重播,取值live 表示直播【對應API文件的param3欄位】
viewLogType false String 直播點播日誌類型,預設為live
vod:查詢點播列表觀看資料
live:查詢直播或重播列表觀看資料
sessionIds false String 場次ID,多個場次使用,分隔
param4 false String 自訂參數
currentPage false Integer 頁數,預設為1【對應API文件的page欄位】
pageSize false Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
appId false String POLYV用戶APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
contents Array 頻道觀看日誌【詳見LiveChannelViewlog參數描述
pageSize Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
currentPage Integer 目前頁面【對應API文件的pageNumber欄位】
totalItems Integer 記錄總筆數
totalPage Integer 總頁數【對應API文件的totalPages欄位】
LiveChannelViewlog參數描述
參數名 類型 說明
playId String 表示此次播放動作的ID
userId String 使用者ID
channelId String 頻道號
playDuration Integer 播放時長,單位:秒
stayDuration Integer 停留時長,單位:秒
flowSize Long 流量大小
sessionId String 直播的場次ID
viewerId String 觀眾ID【對應API文件的param1欄位】
viewerName String 觀眾名稱,最多支援64個字元【對應API文件的param2欄位】
logType String 觀看類型:取值vod 表示觀看重播,取值live 表示直播【對應API文件的param3欄位】
param4 String POLYV系統參數
param5 String POLYV系統參數
ipAddress String IP位址
country String 國家
province String 省份
city String 城市
isp String ISP運營商
referer String 播放影片頁面位址
userAgent String 使用者裝置
operatingSystem String 作業系統
browser String 瀏覽器
isMobile String 是否為行動端,Y:行動端,N:非行動端
currentDay Date 日誌查詢日期
createdTime Date 日誌建立日期,近似觀眾觀看直播的開始時間,會比實際觀看時間略慢一點點,觀看時長建議使用 createdTime + playDuration 取得
lastModified Date 日誌更新日期
firstActiveTime Date 進入時間
lastActiveTime Date 退出時間






4、查詢多個頻道彙整的統計資料

描述

查询多个频道汇总的统计数据
接口地址(仅做说明使用):https://api.polyv.net/live/v2/statistics/%s/channel_summary

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testListChannelSummary() throws Exception, NoSuchAlgorithmException {
        LiveListChannelSummaryRequest liveListChannelSummaryRequest = new LiveListChannelSummaryRequest();
        LiveListChannelSummaryResponse liveListChannelSummaryResponse;
        try {
            liveListChannelSummaryRequest.setStartDate(getDate(2020, 01, 01))
                    .setEndDate(getDate(2020, 11, 11))
                    .setChannelIds("1951952,1958888");
            liveListChannelSummaryResponse = new LiveChannelViewdataServiceImpl().listChannelSummary(
                    liveListChannelSummaryRequest);
            Assert.assertNotNull(liveListChannelSummaryResponse);
            if (liveListChannelSummaryResponse != null) {
                //to do something ......
                log.debug("测试查询多个频道汇总的统计数据成功,{}", JSON.toJSONString(liveListChannelSummaryResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveListChannelSummaryResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求返回資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參描述

參數名 必選 類型 說明
userId false String POLYV 用戶 ID,多帳號調用時此參數必填(即呼叫了 initMultiAccount() 設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
startDate true Date 查詢的開始日期,格式為 yyyy-MM-dd
endDate true Date 查詢的結束日期,格式為 yyyy-MM-dd
channelIds false String 要查詢的頻道號,不提交預設為查詢所有頻道,多個頻道號以英文逗號「,」分開,如:105420,104400
appId false String POLYV 用戶 APP_ID,多帳號調用時此參數必填(即呼叫了 initMultiAccount() 設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 用戶 APP_SECRET,多帳號調用時此參數必填(即呼叫了 initMultiAccount() 設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名稱 類型 說明
channelSummarys Array 統計資料【詳見ChannelSummary參數描述
ChannelSummary參數描述
參數名 類型 說明
channelId String 頻道號
name String 頻道名稱
pcPlayDuration Integer PC端播放時長,單位:分鐘
pcFlowSize Long PC端播放流量,單位為Byte
pcVideoView Integer PC影片播放量
pcUniqueViewer Integer PC端唯一觀眾數
mobilePlayDuration Long 行動端播放時長,單位:分鐘
mobileFlowSize Long 行動端播放流量,單位為Byte
mobileVideoView Integer 行動端播放量
mobileUniqueViewer Integer 行動端唯一觀眾數
livePcPlayDuration Integer PC直播播放時長,單位為分鐘
playbackPcPlayDuration Long PC回放播放時長,單位為分鐘
liveMobilePlayDuration Integer 行動端直播播放時長,單位為分鐘
playbackMobilePlayDuration Long 行動端回放播放時長,單位為分鐘
unknownPcPlayDuration Integer PC其他播放時長,單位為分鐘
unknownMobilePlayDuration Integer 行動端其他播放時長,單位為分鐘






5、查詢多個頻道的即時線上人數

描述

查询多个频道的实时在线人数
接口地址(仅做说明使用):https://api.polyv.net/live/v2/statistics/get-realtime-viewers

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testListChannelViewerCount() throws Exception, NoSuchAlgorithmException {
        LiveListChannelViewerCountRequest liveListChannelViewerCountRequest = new LiveListChannelViewerCountRequest();
        LiveListChannelViewerCountResponse liveListChannelViewerCountResponse;
        try {
            liveListChannelViewerCountRequest.setChannelIds("1951952,1958888");
            liveListChannelViewerCountResponse = new LiveChannelViewdataServiceImpl().listChannelViewerCount(
                    liveListChannelViewerCountRequest);
            Assert.assertNotNull(liveListChannelViewerCountResponse);
            if (liveListChannelViewerCountResponse != null) {
                //to do something ......
                log.debug("测试查询多个频道的实时在线人数成功,{}", JSON.toJSONString(liveListChannelViewerCountResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveListChannelViewerCountResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求參數說明

參數名 必選 類型 說明
channelIds true String 頻道號,使用英文逗號分隔,例如:100000,100001
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
channelViewerCounts Array 頻道即時線上人數【詳見ChannelViewerCount參數描述
ChannelViewerCount參數描述
參數名 類型 說明
channelId String 頻道號碼
time String 統計的時間點(時間格式:24H),例如:15:39:10
count String 某個時間點的即時觀看人數






6、查詢頻道的歷史並發人數

描述

查询频道的历史并发人数
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/statistics/concurrence

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetChannelViewerConcurrence() throws Exception, NoSuchAlgorithmException {
        LiveChannelViewerConcurrenceRequest liveChannelViewerConcurrenceRequest =
                new LiveChannelViewerConcurrenceRequest();
        LiveChannelViewerConcurrenceResponse liveChannelViewerConcurrenceResponse;
        try {
            liveChannelViewerConcurrenceRequest.setChannelId(createChannel())
                    .setStartDate(getDate(2020, 10, 01))
                    .setEndDate(getDate(2020, 11, 11));
            liveChannelViewerConcurrenceResponse = new LiveChannelViewdataServiceImpl().getChannelViewerConcurrence(
                    liveChannelViewerConcurrenceRequest);
            Assert.assertNotNull(liveChannelViewerConcurrenceResponse);
            if (liveChannelViewerConcurrenceResponse != null) {
                //to do something ......
                log.debug("测试查询频道的历史并发人数成功,{}", JSON.toJSONString(liveChannelViewerConcurrenceResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveChannelViewerConcurrenceResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參說明

參數名 必填 類型 說明
channelId true String 頻道號
startDate true Date 開始日期格式,yyyy-MM-dd,開始日期與結束日期的時間跨度:最多查詢兩個月內的資料
endDate true Date 結束日期格式,yyyy-MM-dd,開始日期與結束日期的時間跨度:最多查詢兩個月內的資料
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
channelViewerConcurrences Array 頻道並發線上人數【詳見ChannelViewerConcurrence參數描述
ChannelViewerConcurrence參數描述
參數名 類型 說明
day Date 統計的日期(時間格式:yyyy-MM-dd,範例:2019-04-10)
minute String 統計的時間點(時間格式:12H,範例:10:30)
viewers String 某個時間點即時觀看人數






7、查詢時間內直播場次資料

描述

查询时间内直播场次数据
接口地址(仅做说明使用):https://api.polyv.net/live/v4/statistics/session-stats/list

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

2、若未填寫查詢時間區段,預設查詢目前時間至前一小時內產生的場次報表資料;查詢時間區段最大間隔為24小時

單元測試

    @Test
    public void testGetLiveSession() throws IOException, NoSuchAlgorithmException {
        LiveGetLiveSessionRequest liveGetLiveSessionRequest = new LiveGetLiveSessionRequest();
        LiveGetLiveSessionResponse liveGetLiveSessionResponse;
        try {
            liveGetLiveSessionRequest.setStartTime(super.getDate(2021, 10, 16, 0, 31, 15));
            liveGetLiveSessionRequest.setEndTime(super.getDate(2021, 10, 16, 20, 31, 15));
            liveGetLiveSessionResponse = new LiveChannelViewdataServiceImpl().getLiveSession(liveGetLiveSessionRequest);
            Assert.assertNotNull(liveGetLiveSessionResponse);
            if (liveGetLiveSessionResponse != null) {
                //to do something ......
                log.debug("测试查询时间内直播场次数据成功{}", JSON.toJSONString(liveGetLiveSessionResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳LiveGetLiveSessionResponse物件,B端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求參數說明

參數名稱 必填 類型 說明
startTime false Date 開始時間
endTime false Date 結束時間
currentPage false Integer 頁碼,預設為1【對應 API 文件的 pageNumber 欄位】
pageSize false Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
contents Array 直播場次資料【詳見ChannelLiveSession參數描述
pageSize Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
currentPage Integer 當前頁【對應API文件的pageNumber欄位】
totalItems Integer 記錄總筆數
totalPage Integer 總頁數【對應API文件的totalPages欄位】
ChannelLiveSession參數描述
參數名 類型 說明
channelId String 頻道ID
sessionId String 直播場次ID
name String 場次名稱
startTime Date 直播開始時間,時間格式 yyyy-MM-dd HH:mm:ss
endTime Date 直播結束時間,時間格式 yyyy-MM-dd HH:mm:ss
userId String 用戶ID






8、分頁查詢帳號直播觀看詳情資料

描述

分页获取账号下所有频道观看详情数据
接口地址(仅做说明使用):https://api.polyv.net/live/v3/user/statistics/viewlog

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetChannelViewLog() throws IOException, NoSuchAlgorithmException {
        LiveGetChannelViewLogRequest liveGetChannelViewLogRequest = new LiveGetChannelViewLogRequest();
        LiveGetChannelViewLogResponse liveGetChannelViewLogResponse;
        try {
            String channelId = super.createChannel();
            liveGetChannelViewLogRequest.setChannelId(channelId)
                    .setStartDate(super.getDate(1606924800000L))
                    .setEndDate(super.getDate(1607011200000L));
            liveGetChannelViewLogResponse = new LiveChannelViewdataServiceImpl().getChannelViewLog(
                    liveGetChannelViewLogRequest);
            Assert.assertNotNull(liveGetChannelViewLogResponse);
            if (liveGetChannelViewLogResponse != null) {
                //to do something ......
                log.debug("测试分页查询账号直播观看详情数据成功 {}", JSON.toJSONString(liveGetChannelViewLogResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveGetChannelViewLogResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求參數說明

參數名 必選 類型 說明
startDate true Date 查詢開始時間,格式:yyyy-MM-dd HH:mm:ss
endDate true Date 查詢結束時間,格式:yyyy-MM-dd HH:mm:ss
channelId false String 頻道ID,不傳則查詢所有頻道
watchType false String 觀看類型, live:直播, vod:回放
currentPage false Integer 頁數,預設為1【對應API文件的page欄位】
pageSize false Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
appId false String POLYV用戶APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
contents Array 觀看詳情資料列表【詳見ViewLogList參數描述
pageSize Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
currentPage Integer 當前頁【對應API文件的pageNumber欄位】
totalItems Integer 記錄總筆數
totalPage Integer 總頁數【對應API文件的totalPages欄位】
ViewLogList參數描述
參數名 類型 說明
playId String 表示此次播放動作的ID
userId String POLYV用戶ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定)
channelId String 頻道號
playDuration Integer 播放時長,單位:秒
stayDuration Integer 停留時長,單位:秒
flowSize Long 流量大小,單位:bytes
sessionId String 直播場次ID
viewerId String 使用POLYV觀看頁的觀眾ID【對應API文件的param1欄位】
viewerName String 使用POLYV觀看頁的觀眾暱稱【對應API文件的param2欄位】
logType String 觀看日誌類型,預設為live vod:觀看重播 live:直播【對應API文件的param3欄位】
param4 String POLYV系統參數
param5 String POLYV系統參數
ipAddress String IP位址
country String 國家
province String 省份
city String 城市
isp String ISP運營商
referer String 播放影片頁面位址
userAgent String 用戶設備
operatingSystem String 作業系統
browser String 瀏覽器
isMobile String 是否為行動端
currentDay Date 查詢日期,格式:yyyy-MM-dd
createdTime Date 日誌建立日期,13位毫秒級時間戳
lastModified Date 日誌更新日期,13位毫秒級時間戳
pType Integer 1:無延遲觀看 0:一般觀看【對應API文件的ptype欄位】
firstActiveTime Date 進入頁面時間,部分情況回傳為null,非特殊說明,請使用createdTime替代
lastActiveTime Date 離開頁面時間,部分情況回傳為null,非特殊說明,請使用createdTime+stayDuration替代






9、查詢頻道多場次概覽統計資料

描述

接口用于统计直播间内多场次的直播的观看数据,数据会根据场次号进行汇总,返回观看UV、观看PV等。
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/statistics/get-session-stats

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetSessionStats() throws IOException, NoSuchAlgorithmException {
        LiveGetSessionStatsRequest liveGetSessionStatsRequest = new LiveGetSessionStatsRequest();
        LiveGetSessionStatsResponse liveGetSessionStatsResponse;
        try {
            String channelId = super.createChannel();
            liveGetSessionStatsRequest.setChannelId(channelId)
                    .setStartTime(getDate(1610273359000L))
                    .setEndTime(getDate(1612001359000L));
            liveGetSessionStatsResponse = new LiveChannelViewdataServiceImpl().getSessionStats(
                    liveGetSessionStatsRequest);
            Assert.assertNotNull(liveGetSessionStatsResponse);
            if (liveGetSessionStatsResponse != null) {
                //to do something ......
                log.debug("测试查询频道多场次概览统计数据成功 {}", JSON.toJSONString(liveGetSessionStatsResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveGetSessionStatsResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]

請求參數說明

參數名 必選 類型 說明
channelId true String 頻道號
sessionIds false String 場次ID,多個場次使用逗號分隔,如:fw82mayhuy,fvipafupmh,場次ID與直播開始結束時間必填一項,場次ID與直播開始結束時間同時存在時,使用場次ID進行查詢
startTime false Date 直播開始時間,開始時間與結束時間相隔不可超過30天
endTime false Date 直播結束時間,場次ID與直播開始結束時間必填一項
appId false String POLYV用戶APP_ID,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
list Array 直播間內多場次的觀看數據列表【詳見ChannelSessionStats參數描述
ChannelSessionStats參數描述
參數名 類型 說明
channelId String 頻道號
sessionId String 場次ID
name String 場次名稱
startTime Date 場次開始時間
endTime Date 場次結束時間
duration Integer 直播時長,單位秒
liveUV Integer 直播觀看用戶數
livePV Integer 直播觀看次數
playbackUV Integer 回放觀看用戶數
playbackPV Integer 回放觀看次數
totalPlayDuration Integer 觀看直播總時長,單位秒
totalPlaybackDuration Integer 觀看回放總時長,單位秒






10、查詢時間範圍內頻道直播觀看詳情資料

描述

通过频道号获取该频道某段时间的直播观看的统计数据
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/statistics/daily/summary

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetDailySummary() throws IOException, NoSuchAlgorithmException {
        LiveDailySummaryRequest liveDailySummaryRequest = new LiveDailySummaryRequest();
        List<LiveDailySummaryResponse> liveDailySummaryResponse;
        try {
            String channelId = super.createChannel();
            liveDailySummaryRequest.setChannelId(channelId);
            liveDailySummaryRequest.setStartDay(super.getDate(2021, 3, 01));
            liveDailySummaryRequest.setEndDay(super.getDate(2021, 3, 30));
            liveDailySummaryResponse = new LiveChannelViewdataServiceImpl().getDailySummary(liveDailySummaryRequest);
            Assert.assertNotNull(liveDailySummaryResponse);
            if (liveDailySummaryResponse != null) {
                //to do something ......
                log.debug("测试查询时间范围内频道直播观看详情数据成功 {}", JSON.toJSONString(liveDailySummaryResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveDailySummaryResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參說明

參數名 必選 類型 說明
channelId true String 頻道號
startDay true Date 開始日期,格式:yyyy-MM-dd
endDay true Date 結束日期,格式:yyyy-MM-dd
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

回傳物件是List<LiveDailySummaryResponse>,LiveDailySummaryResponse具體元素內容如下:

參數名 類型 說明
currentDay Date 查詢日期
channelId String 頻道號
userId String 直播帳號ID
pcPlayDuration Integer PC端播放時長,單位:分鐘
pcVideoView Integer PC端總播放量,類似PV
pcUniqueViewer Integer PC端唯一觀眾數,類似UV
mobilePlayDuration Integer 行動端播放時長,單位:分鐘
mobileVideoView Integer 行動端總播放量,類似PV
mobileUniqueViewer Integer 行動端唯一觀眾數,類似UV
createdTime Date 記錄新增的時間
lastModified Date 記錄修改的時間
creatorId String 建立帳號的子帳號用戶ID(為空則為主帳號建立)
creatorName String 建立頻道的子帳號名稱(主帳號建立的則顯示「主帳號」)






11、查詢頻道連麥詳情資料

描述

接口用于查询某个频道的一段时间区间内的连麦详情数据,支持分页
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/mic/log/list-detail

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testListLinkMicDetail() throws IOException, NoSuchAlgorithmException {
        LiveListLinkMicDetailRequest liveListLinkMicDetailRequest = new LiveListLinkMicDetailRequest();
        LiveListLinkMicDetailResponse liveListLinkMicDetailResponse;
        try {
            String channelId = super.createChannel();
            liveListLinkMicDetailRequest.setChannelId(channelId);
            liveListLinkMicDetailRequest.setStartDate(super.getDate(2020, 11, 1));
            liveListLinkMicDetailRequest.setEndDate(super.getDate(2020, 11, 03));
            liveListLinkMicDetailResponse = new LiveChannelViewdataServiceImpl().listLinkMicDetail(
                    liveListLinkMicDetailRequest);
            Assert.assertNotNull(liveListLinkMicDetailResponse);
            if (liveListLinkMicDetailResponse != null) {
                //to do something ......
                log.debug("测试查询频道连麦详情数据成功 {}", JSON.toJSONString(liveListLinkMicDetailResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveListLinkMicDetailResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求參數說明

參數名 必填 類型 說明
channelId true String 頻道號
startDate true Date 開始日期,格式:yyyy-MM-dd,如2020-10-01,時間範圍不能超過30天
endDate true Date 結束日期,格式:yyyy-MM-dd,如2020-10-01,時間範圍不能超過30天
page false Integer 當前頁碼,預設為1
pageSize false Integer 每頁資料大小,預設500筆,最大5000筆,超過5000筆可以分多批拉取,每次page加1,直到返回列表contents為空為止
appId false String POLYV用戶APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
page Integer 目前頁碼,預設為1
contents Array 查詢結果列表【詳見MicDetail參數描述
pageSize Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
currentPage Integer 目前頁【對應API文件的pageNumber欄位】
totalItems Integer 記錄總筆數
totalPage Integer 總頁數【對應API文件的totalPages欄位】
MicDetail參數描述
參數名 類型 說明
channelId String 頻道號
sessionId String 場次號
viewerId String 觀眾ID
identity String 身份 guest:嘉賓 student:學員
nickname String 暱稱
joinTime Date 進入 rtc 的時間,13位毫秒時間戳
leaveTime Date 離開 rtc 的時間,13位毫秒時間戳
duration Integer 連麥時長(分鐘數)






12、查詢頻道即時並發數據

描述

在直播中,查询频道实时在线人数
接口地址(仅做说明使用):https://api.polyv.net/live/v1/statistics/%s/realtime

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetRealviewers() throws IOException, NoSuchAlgorithmException {
        LiveRealviewersRequest liveRealviewersRequest = new LiveRealviewersRequest();
        List<LiveRealviewersResponse> liveRealviewersResponse;
        try {
            String channelId = super.createChannel();
            liveRealviewersRequest.setChannelId(channelId);
            liveRealviewersRequest.setUserId(LiveGlobalConfig.getUserId());
            liveRealviewersResponse = new LiveChannelViewdataResultServiceImpl().getRealviewers(liveRealviewersRequest);
            Assert.assertNotNull(liveRealviewersResponse);
            if (liveRealviewersResponse != null) {
                //to do something ......
                log.debug("测试查询频道实时并发数据成功 {}", JSON.toJSONString(liveRealviewersResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveRealviewersResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求參數說明

參數名 必選 類型 說明
userId true String 直播帳號 ID
channelId true String 直播頻道 ID
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

回傳物件是List<LiveRealviewersResponse>,LiveRealviewersResponse具體元素內容如下:

參數名 類型 說明
time String 統計的時間,格式:HH:mm:ss
count String 某個時間,即時觀看人數






13、查詢後台頻道統計資訊

描述

查询后台频道统计信息
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/statistics/channel-statistic

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetChannelStatistic() throws IOException, NoSuchAlgorithmException {
        LiveChannelStatisticRequest liveChannelStatisticRequest = new LiveChannelStatisticRequest();
        LiveChannelStatisticResponse liveChannelStatisticResponse;
        try {
            String channelId = super.createChannel();
            liveChannelStatisticRequest.setChannelId(channelId)
                    .setStartDate(super.getDate(2023, 10, 1))
                    .setEndDate(super.getDate(2023, 10, 30));
            liveChannelStatisticResponse = new LiveChannelViewdataServiceImpl().getChannelStatistic(
                    liveChannelStatisticRequest);
            Assert.assertNotNull(liveChannelStatisticResponse);
            if (liveChannelStatisticResponse != null) {
                log.info("uniqueVisitor is "+ liveChannelStatisticResponse.getUniqueVisitor());
                //to do something ......
                log.debug("测试查询后台频道统计信息成功 {}", JSON.toJSONString(liveChannelStatisticResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveChannelStatisticResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參描述

參數名 必填 類型 說明
channelId true String 頻道號
startDate true Date 查詢的開始日期,格式為 yyyy-MM-dd
endDate true Date 查詢的結束日期,格式為 yyyy-MM-dd
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定)

回傳物件描述

參數名 類型 說明
averagePlayDuration Integer 人均觀看時長,為(觀看時長/觀看人數)無條件捨去,單位:分鐘
averageTime Float 人均觀看次數,為(觀看次數/觀看人數)*10 後無條件捨去再除以 10,所以有一位小數,單位:次
ips Integer 觀看人數(根據 IP 位址去重)
viewers Integer 觀看人數(根據 viewerId 計算)
playDuration Integer 觀看時長,單位:分鐘
plays Integer 觀看次數
uniqueVisitor Integer 訪問人數






14、查詢帳號觀看記錄

描述

查询账号观看记录
接口地址(仅做说明使用):https://api.polyv.net/live/v4/user/viewlog/list

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetViewLogList() throws IOException, NoSuchAlgorithmException {
        LiveListAccountViewlogRequest liveListAccountViewlogRequest = new LiveListAccountViewlogRequest();
        LiveListAccountViewlogResponse liveListAccountViewlogResponse;
        try {
            liveListAccountViewlogRequest
                    .setStartDate(super.getDate(2023, 10, 1))
                    .setEndDate(super.getDate(2023, 10, 30));
            liveListAccountViewlogResponse = new LiveChannelViewdataServiceImpl().listAccountViewlog(
                    liveListAccountViewlogRequest);
            Assert.assertNotNull(liveListAccountViewlogResponse);
            if (liveListAccountViewlogResponse != null) {
                //to do something ......
                log.debug("测试查询账号观看记录成功 {}", JSON.toJSONString(liveListAccountViewlogResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveListAccountViewlogResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參描述

參數名 必選 類型 說明
startDate false Date 查詢的開始日期,不傳則查詢當月,格式為 yyyy-MM-dd
endDate false Date 查詢的結束日期,必須與開始日期在同一個月,格式為 yyyy-MM-dd
viewerId false String 觀眾 ID
channelId false String 頻道 ID
currentPage false Integer 頁數,預設為 1【對應 API 文件的 page 欄位】
pageSize false Integer 每頁顯示的資料筆數,預設每頁顯示 20 筆資料
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
contents Array 查詢的結果列表【詳見ViewlogDetail參數說明
pageSize Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
currentPage Integer 當前頁【對應API文件的pageNumber欄位】
totalItems Integer 記錄總筆數
totalPage Integer 總頁數【對應API文件的totalPages欄位】
ViewlogDetail參數描述
參數名 類型 說明
avgDuration String 平均觀看時長
nick String 暱稱
totalDuration String 總觀看時長
viewCount Integer 觀看次數
viewerId String 用戶Id
param4 String 自訂參數param4
param5 String 自訂參數param5

联系客服,在线咨询