package com.letv.ads.util;
import java.util.HashMap;
import java.util.Map;
import android.content.Context;
import com.letv.adlib.apps.types.LetvAppsType;
import com.letv.adlib.managers.status.ad.IPlayerStatusDelegate;
import com.letv.adlib.model.video.MobileAppClientInfo;
import com.letv.ads.AdsManager;
/**
* 广告请求配置类
* */
public class ClientInfoUtil {
/**
* 生成简单的客户端信息。一般的界面中的广告,不需要正片相关信息
* @return
*/
public static MobileAppClientInfo getClientInfo(Context context) {
MobileAppClientInfo cInfo = new MobileAppClientInfo();
// cInfo.appContext = context.getApplicationContext();// SDK需要这个,以实现更丰富的功能
cInfo.appContext = context;// SDK需要这个,以实现更丰富的功能
cInfo.isDisableAd = !AdsManager.getInstance().isShowAd();// 是否禁用广告。这个移动端是有个开关来管理广告的,暂时我们也用这个开关的值。同样不播广告,我也得上报。
LogInfo.log("ads", "isShowAd=" + !AdsManager.getInstance().isShowAd());
cInfo.isVIP = AdsManager.getInstance().isVip();// 是否为VIP。一般情况下,我们知道是VIP,就不会请求广告系统了,但需要发上报。
cInfo.macAddr = Commons.MAC ;
// 以下参数一般是上报需要的,为了方便,直接用动态方式传入。注意,这些参数必须与上报文档中要求的完全一致
Map<String, String> dynamicParams = new HashMap<String, String>();
dynamicParams.put("ch", "");// 传空
dynamicParams.put("p1", Commons.P1);// 一级产品线代码
dynamicParams.put("p2", Commons.P2);// 二级产品线代码
dynamicParams.put("p3", Commons.P3);// 三级产品线代码
dynamicParams.put("pv", Commons.PVERSION);// 客户端代码
dynamicParams.put("pcode", Commons.PCODE);// pcode
dynamicParams.put("lc", Commons.DEVICE_ID);// 唯一ID
// dynamicParams.put("macAddr", Commons.MAC);// mac地址
cInfo.dynamicParams = dynamicParams;
cInfo.appType = LetvAppsType.LETV_SPORT;
return cInfo;
}
/**
* 播放器内广告,需要与正片相关的信息
* @return
*/
public static MobileAppClientInfo getBeginInfo(Context context) {
MobileAppClientInfo vInfo = getClientInfo(context);
return vInfo;
}
/**
* 播放器内广告,需要与正片相关的信息
* @return
*/
public static MobileAppClientInfo getFocusInfo(Context context) {
MobileAppClientInfo vInfo = getClientInfo(context);
return vInfo;
}
/**
* 播放器内广告,需要与正片相关的信息
* @return
*/
public static MobileAppClientInfo getBannerInfo(Context context, String cid, String pid) {
MobileAppClientInfo vInfo = getClientInfo(context);
vInfo.cid = cid;
vInfo.pid = pid;
return vInfo;
}
/**
* 点播播放器内广告,需要与正片相关的信息
* @return
*/
public static MobileAppClientInfo getVideoPlayerInfo(Context context , String cid , String pid ,String vid ,String mmsid , String uuid , String uid , String vlen , String py , String ty , IPlayerStatusDelegate iPlayerStatusDelegate) {
MobileAppClientInfo vInfo = getClientInfo(context);
vInfo.cid = cid;// 电视剧频道
vInfo.pid = pid;// 上阵父子兵
vInfo.vid = vid;// 上阵父子兵第3集
vInfo.mmsid = mmsid;// 媒资ID
vInfo.playerStatusDelegate = iPlayerStatusDelegate ;
if (vInfo.dynamicParams != null) {
vInfo.dynamicParams.put("py", py);
vInfo.dynamicParams.put("uid", uid);
vInfo.dynamicParams.put("uuid", uuid);// 播放器生成的,用户一次播放视频的唯一标识
vInfo.dynamicParams.put("vlen", vlen);// 正片时长
vInfo.dynamicParams.put("ty", ty);
}
return vInfo;
}
/**
* 点播播放器内广告,需要与正片相关的信息 带有影片付费信息
* @return
*/
public static MobileAppClientInfo getVideoPlayerInfo(Context context , String cid , String pid ,String vid ,String mmsid , String uuid , String uid , String vlen , String py , String ty , IPlayerStatusDelegate iPlayerStatusDelegate, boolean isVipVideo) {
MobileAppClientInfo vInfo = getClientInfo(context);
vInfo.cid = cid;// 电视剧频道
vInfo.pid = pid;// 上阵父子兵
vInfo.vid = vid;// 上阵父子兵第3集
vInfo.mmsid = mmsid;// 媒资ID
vInfo.isVipMovie = isVipVideo;
vInfo.playerStatusDelegate = iPlayerStatusDelegate ;
if (vInfo.dynamicParams != null) {
vInfo.dynamicParams.put("py", py);
vInfo.dynamicParams.put("uid", uid);
vInfo.dynamicParams.put("uuid", uuid);// 播放器生成的,用户一次播放视频的唯一标识
vInfo.dynamicParams.put("vlen", vlen);// 正片时长
vInfo.dynamicParams.put("ty", ty);
}
return vInfo;
}
/**
* 直播播放器内广告,需要与正片相关的信息
* @return
*/
public static MobileAppClientInfo getLivePlayerInfo(Context context , String streamUrl ,String uuid , String uid , String ty ,IPlayerStatusDelegate iPlayerStatusDelegate) {
MobileAppClientInfo vInfo = getClientInfo(context);
vInfo.streamURL = streamUrl ;
vInfo.playerStatusDelegate = iPlayerStatusDelegate ;
if (vInfo.dynamicParams != null) {
vInfo.dynamicParams.put("py", "");
vInfo.dynamicParams.put("uid", uid);
vInfo.dynamicParams.put("uuid", uuid);// 播放器生成的,用户一次播放视频的唯一标识
vInfo.dynamicParams.put("ty", ty);
}
return vInfo;
}
}