請以Conviva開發(fā)者社區(qū)作為主要參考源蚕涤。
集成之前癞揉,請前往官網(wǎng)下載對應播放器類型的Demo,參考進行集成纸肉。
一 下載SDK
如果在Conviva開發(fā)者社區(qū)存在要集成的播放器類型,需要下載Conviva_SDK_Android和播放器對應的SDK(下面稱為proxy)烧董;如果沒有毁靶,只下載Conviva_SDK_Android,參考《Android自定義播放器集成文檔》自己寫一個proxy類逊移。
二 集成步驟
??導入SDK
將Conviva_SDK_Android和對應播放器SDK復制到工程的app下libs文件夾中预吆,右鍵SDK-----Add As Library。找到Demo的helper文件夾胳泉,復制ConvivaSessionManager文件到項目中合適位置拐叉。
??使用SDK
1.在ConvivaSessionManager中替換customerKey岩遗;
2.初始化SDK,app啟動第一次調(diào)用即可凤瘦,可以寫在Application宿礁,測試階段的mGateWayUrl一般是https://testonly.conviva.com或ClientSettings.defaultDevelpomentGatewayUrl,測試沒問題替換成pulse的url。
ConvivaSessionManager.initClient(this,?mGateWayUrl);
3.創(chuàng)建Session蔬芥。表示對一段視頻檢測的開始(位置在播放器開始請求視頻數(shù)據(jù)之前即可梆靖,進行到這一步Touchstone就會有數(shù)據(jù)的,盡管可能狀態(tài)不準確)笔诵。
//mStateManager需要在createSession和創(chuàng)建Proxy之前實例化
mStateManager?=?ConvivaSessionManager.getPlayerManager();
//創(chuàng)建Session
ConvivaSessionManager.createConvivaSession(videoUri.toString);
4.創(chuàng)建Proxy對象返吻,該類是每個播放器獨有的,比如MediaPlayer是CVMediaplayerInterface乎婿。這個過程是對視頻的狀態(tài)開始監(jiān)聽测僵。Proxy對象需要在mStateManager和mPlayer不為null的地方進行實例化。
//創(chuàng)建proxy對象谢翎,傳遞的參數(shù)是PlayerStateManager和播放器Player對象捍靠。
mPlayerInterface?=?new?CVMediaPlaterInterface(mStateManager,mPlayer);
5.對廣告,比特率森逮,分辨率榨婆,自定義錯誤,自定義事件,配置元數(shù)據(jù)的操作吊宋。(可選)
A:在廣告的監(jiān)聽中設置:
//廣告開始
ConvivaSessionManager.adStart();
//廣告開始自定義事件(可選纲辽,作為廣告開始的補充颜武,可傳遞一些信息)
ConvivaSessionManager.podEvent(ConvivaSessionManager.POS_EVENT_POD_START);
//廣告結(jié)束
ConvivaSessionManager.adEnd();
//廣告結(jié)束自定義事件(可選璃搜,作為廣告結(jié)束的補充,可傳遞一些信息)
ConvivaSessionManager.podEvent(ConvivaSessionManager.POS_EVENT_POD_END);
B:在可監(jiān)測比特率變化的監(jiān)聽中設置:
mPlayeStateManager.setBitrateKbps(…);
C:在系統(tǒng)檢測不到的錯誤鳞上,需要自定義的時候調(diào)用:
mPlayeStateManager.sendError(…);
D:在分辨率變化的監(jiān)聽中設置:? ? ? ? ??
mPlayeStateManager.setVideoWidth(…);
mPlayeStateManager.setVideoHeight(…);
E:Demo中元數(shù)據(jù)的配置在ConvivaSessionManager文件中依賴于ContentMetadata这吻,可以按需求置于合適位置。
6. 銷毀Session篙议,表示對一段視頻的檢測結(jié)束唾糯。一般是在back退出時或進入下個視頻等結(jié)束該視頻時調(diào)用releasePlayer()。復制Demo-playerActivity的下面代碼到player:
private?void?releasePlayer()?{
????if?(mPlayer?!=?null)?{
????????releaseAnalytics();
????}
}
private?void?releaseAnalytics()?{
????if?(mPlayer?!=?null)?{
????????if?(mPlayerInterface?!=?null)?{
????????????mPlayerInterface.cleanup();
????????????mPlayerInterface?=?null;
????????}
????????ConvivaSessionManager.releasePlayerStateManager();
????????ConvivaSessionManager.cleanupConvivaSession();
????}
}
7. 釋放Client鬼贱,退出app時調(diào)用即可
ConvivaSessionManager.deinitClient();
??測試
完成上述步驟移怯,conviva對視頻的檢測就開始了,詳細測試步驟參見《TouchStone的使用及測試流程》