请以Conviva开发者社区作为主要参考源。
集成之前,请前往官网下载对应播放器类型的Demo,参考进行集成。
一 下载SDK
如果在Conviva开发者社区存在要集成的播放器类型,需要下载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启动第一次调用即可,可以写在Application,测试阶段的mGateWayUrl一般是https://testonly.conviva.com或ClientSettings.defaultDevelpomentGatewayUrl,测试没问题替换成pulse的url。
ConvivaSessionManager.initClient(this, mGateWayUrl);
3.创建Session。表示对一段视频检测的开始(位置在播放器开始请求视频数据之前即可,进行到这一步Touchstone就会有数据的,尽管可能状态不准确)。
//mStateManager需要在createSession和创建Proxy之前实例化
mStateManager = ConvivaSessionManager.getPlayerManager();
//创建Session
ConvivaSessionManager.createConvivaSession(videoUri.toString);
4.创建Proxy对象,该类是每个播放器独有的,比如MediaPlayer是CVMediaplayerInterface。这个过程是对视频的状态开始监听。Proxy对象需要在mStateManager和mPlayer不为null的地方进行实例化。

//创建proxy对象,传递的参数是PlayerStateManager和播放器Player对象。
mPlayerInterface = new CVMediaPlaterInterface(mStateManager,mPlayer);
5.对广告,比特率,分辨率,自定义错误,自定义事件,配置元数据的操作。(可选)
A:在广告的监听中设置:
//广告开始
ConvivaSessionManager.adStart();
//广告开始自定义事件(可选,作为广告开始的补充,可传递一些信息)
ConvivaSessionManager.podEvent(ConvivaSessionManager.POS_EVENT_POD_START);
//广告结束
ConvivaSessionManager.adEnd();
//广告结束自定义事件(可选,作为广告结束的补充,可传递一些信息)
ConvivaSessionManager.podEvent(ConvivaSessionManager.POS_EVENT_POD_END);
B:在可监测比特率变化的监听中设置:
mPlayeStateManager.setBitrateKbps(…);
C:在系统检测不到的错误,需要自定义的时候调用:
mPlayeStateManager.sendError(…);
D:在分辨率变化的监听中设置:
mPlayeStateManager.setVideoWidth(…);
mPlayeStateManager.setVideoHeight(…);
E:Demo中元数据的配置在ConvivaSessionManager文件中依赖于ContentMetadata,可以按需求置于合适位置。

6. 销毁Session,表示对一段视频的检测结束。一般是在back退出时或进入下个视频等结束该视频时调用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时调用即可
ConvivaSessionManager.deinitClient();
• 测试
完成上述步骤,conviva对视频的检测就开始了,详细测试步骤参见《TouchStone的使用及测试流程》
网友评论