Commit b466dcf7 authored by 王雪伟's avatar 王雪伟

加入上报方法

parent 6b344ded
...@@ -36,6 +36,17 @@ public class HcAdBean implements Serializable { ...@@ -36,6 +36,17 @@ public class HcAdBean implements Serializable {
private List<String> dpFailmonitorUrls; private List<String> dpFailmonitorUrls;
private boolean isShowReport; private boolean isShowReport;
private boolean isVideoStartReport;
private boolean isVideoCompleteReport;
private boolean isVideoResumeReport;
private boolean isVideoPauseReport;
private boolean isVideoSkipReport;
private boolean isVideoCloseReport;
private boolean isVideoPlay14Report;
private boolean isVideoPlay12Report;
private boolean isVideoPlay34Report;
private boolean isClickReport; private boolean isClickReport;
private boolean isClickDpLinkSucReport; private boolean isClickDpLinkSucReport;
private boolean isClickDpLinkfailReport; private boolean isClickDpLinkfailReport;
...@@ -95,6 +106,78 @@ public class HcAdBean implements Serializable { ...@@ -95,6 +106,78 @@ public class HcAdBean implements Serializable {
isClickReport = clickReport; isClickReport = clickReport;
} }
public boolean isVideoStartReport() {
return isVideoStartReport;
}
public void setVideoStartReport(boolean videoStartReport) {
isVideoStartReport = videoStartReport;
}
public boolean isVideoCompleteReport() {
return isVideoCompleteReport;
}
public void setVideoCompleteReport(boolean videoCompleteReport) {
isVideoCompleteReport = videoCompleteReport;
}
public boolean isVideoResumeReport() {
return isVideoResumeReport;
}
public void setVideoResumeReport(boolean videoResumeReport) {
isVideoResumeReport = videoResumeReport;
}
public boolean isVideoPauseReport() {
return isVideoPauseReport;
}
public void setVideoPauseReport(boolean videoPauseReport) {
isVideoPauseReport = videoPauseReport;
}
public boolean isVideoSkipReport() {
return isVideoSkipReport;
}
public void setVideoSkipReport(boolean videoSkipReport) {
isVideoSkipReport = videoSkipReport;
}
public boolean isVideoCloseReport() {
return isVideoCloseReport;
}
public void setVideoCloseReport(boolean videoCloseReport) {
isVideoCloseReport = videoCloseReport;
}
public boolean isVideoPlay14Report() {
return isVideoPlay14Report;
}
public void setVideoPlay14Report(boolean videoPlay14Report) {
isVideoPlay14Report = videoPlay14Report;
}
public boolean isVideoPlay12Report() {
return isVideoPlay12Report;
}
public void setVideoPlay12Report(boolean videoPlay12Report) {
isVideoPlay12Report = videoPlay12Report;
}
public boolean isVideoPlay34Report() {
return isVideoPlay34Report;
}
public void setVideoPlay34Report(boolean videoPlay34Report) {
isVideoPlay34Report = videoPlay34Report;
}
//下载 //下载
private long downLoadId; private long downLoadId;
private boolean isDownOver; private boolean isDownOver;
......
...@@ -3,9 +3,12 @@ package com.ym.zxhcsdk.ads; ...@@ -3,9 +3,12 @@ package com.ym.zxhcsdk.ads;
import android.app.Activity; import android.app.Activity;
import android.media.MediaPlayer; import android.media.MediaPlayer;
import android.util.Log; import android.util.Log;
import com.ym.zxhcsdk.HcAdBean; import com.ym.zxhcsdk.HcAdBean;
import com.ym.zxhcsdk.HttpClientUtils;
import com.ym.zxhcsdk.listener.RewardVideoAdShowListener; import com.ym.zxhcsdk.listener.RewardVideoAdShowListener;
import com.ym.zxhcsdk.listener.RewardVideoAdUpdateViewListener; import com.ym.zxhcsdk.listener.RewardVideoAdUpdateViewListener;
import java.io.IOException; import java.io.IOException;
/** /**
...@@ -22,10 +25,12 @@ public class RewardVideoMediaPlayer { ...@@ -22,10 +25,12 @@ public class RewardVideoMediaPlayer {
private boolean isShowVideo;//是否加载完成视频立即播放视频 private boolean isShowVideo;//是否加载完成视频立即播放视频
private HcAdBean mHcAdBean;//广告资源 private HcAdBean mHcAdBean;//广告资源
private RewardVideoMediaPlayer() {} private RewardVideoMediaPlayer() {
}
/** /**
* 单例 * 单例
*
* @return * @return
*/ */
public static RewardVideoMediaPlayer getInstance() { public static RewardVideoMediaPlayer getInstance() {
...@@ -39,6 +44,7 @@ public class RewardVideoMediaPlayer { ...@@ -39,6 +44,7 @@ public class RewardVideoMediaPlayer {
/** /**
* MediaPlayer实例化 * MediaPlayer实例化
*
* @return * @return
*/ */
public MediaPlayer getMediaPlayer() { public MediaPlayer getMediaPlayer() {
...@@ -122,6 +128,7 @@ public class RewardVideoMediaPlayer { ...@@ -122,6 +128,7 @@ public class RewardVideoMediaPlayer {
} }
if (null != updateViewListener) { if (null != updateViewListener) {
updateViewListener.OnShowListener(); updateViewListener.OnShowListener();
} }
getMediaPlayer().start(); getMediaPlayer().start();
} else {//资源加载未完成 } else {//资源加载未完成
...@@ -171,4 +178,189 @@ public class RewardVideoMediaPlayer { ...@@ -171,4 +178,189 @@ public class RewardVideoMediaPlayer {
public void setRewardVideoUpdateListener(RewardVideoAdUpdateViewListener updateListener) { public void setRewardVideoUpdateListener(RewardVideoAdUpdateViewListener updateListener) {
this.updateViewListener = updateListener; this.updateViewListener = updateListener;
} }
/**
* 开始播放上报
*/
public void StartPlayReport() {
if (mHcAdBean.getVideo_start() == null || mHcAdBean.isVideoStartReport()) {
return;
}
mHcAdBean.setVideoStartReport(true);
//开始播放上报
if (mHcAdBean.getVideo_start().size() > 0) {
for (int i = 0; i < mHcAdBean.getVideo_start().size(); i++) {
String startReport = mHcAdBean.getVideo_start().get(i);
HttpClientUtils.GetEvent(startReport);
}
}
}
/**
* 播放完成上报
*/
public void CompleteReport() {
if (mHcAdBean.getVideo_complete() == null || mHcAdBean.isVideoCompleteReport()) {
return;
}
mHcAdBean.setVideoCompleteReport(true);
//播放完成上报
if (mHcAdBean.getVideo_complete().size() > 0) {
for (int i = 0; i < mHcAdBean.getVideo_complete().size(); i++) {
String completeReport = mHcAdBean.getVideo_complete().get(i);
HttpClientUtils.GetEvent(completeReport);
}
}
}
/**
* 恢复播放上报
*/
public void VideoOnResumeReport() {
if (mHcAdBean.getVideo_resume() == null || mHcAdBean.isVideoResumeReport()) {
return;
}
mHcAdBean.setVideoResumeReport(true);
//恢复播放上报
if (mHcAdBean.getVideo_resume().size() > 0) {
for (int i = 0; i < mHcAdBean.getVideo_resume().size(); i++) {
String resumeReport = mHcAdBean.getVideo_resume().get(i);
HttpClientUtils.GetEvent(resumeReport);
}
}
}
/**
* 播放暂停上报
*/
public void VideoOnPauseReport() {
if (mHcAdBean.getVideo_pause() == null || mHcAdBean.isVideoPauseReport()) {
return;
}
mHcAdBean.setVideoPauseReport(true);
//播放暂停上报
if (mHcAdBean.getVideo_pause().size() > 0) {
for (int i = 0; i < mHcAdBean.getVideo_pause().size(); i++) {
String pauseReport = mHcAdBean.getVideo_pause().get(i);
HttpClientUtils.GetEvent(pauseReport);
}
}
}
/**
* 播放跳过上报
*/
public void VideoSkipReport() {
if (mHcAdBean.getVideo_skip() == null || mHcAdBean.isVideoSkipReport()) {
return;
}
mHcAdBean.setVideoSkipReport(true);
if (mHcAdBean.getVideo_skip().size() > 0) {
for (int i = 0; i < mHcAdBean.getVideo_skip().size(); i++) {
String skipReport = mHcAdBean.getVideo_skip().get(i);
HttpClientUtils.GetEvent(skipReport);
}
}
}
/**
* 播放关闭上报
*/
public void VideoCloseReport() {
if (mHcAdBean.getVideo_close() == null || mHcAdBean.isVideoCloseReport()) {
return;
}
mHcAdBean.setVideoCloseReport(true);
if (mHcAdBean.getVideo_close().size() > 0) {
for (int i = 0; i < mHcAdBean.getVideo_close().size(); i++) {
String closeReport = mHcAdBean.getVideo_close().get(i);
HttpClientUtils.GetEvent(closeReport);
}
}
}
/**
* 播放1/4上报
*/
public void VideoShowOneQuarterReport() {
if (mHcAdBean.getVideo_one_quarter() == null || mHcAdBean.isVideoPlay14Report()) {
return;
}
mHcAdBean.setVideoPlay14Report(true);
if (mHcAdBean.getVideo_one_quarter().size() > 0) {
for (int i = 0; i < mHcAdBean.getVideo_one_quarter().size(); i++) {
String oneQuarterReport = mHcAdBean.getVideo_one_quarter().get(i);
HttpClientUtils.GetEvent(oneQuarterReport);
}
}
}
/**
* 播放1/2上报
*/
public void VideoShowOneHalfReport() {
if (mHcAdBean.getVideo_one_half() == null || mHcAdBean.isVideoPlay12Report()) {
return;
}
mHcAdBean.setVideoPlay12Report(true);
if (mHcAdBean.getVideo_one_half().size() > 0) {
for (int i = 0; i < mHcAdBean.getVideo_one_half().size(); i++) {
String oneHalfReport = mHcAdBean.getVideo_one_half().get(i);
HttpClientUtils.GetEvent(oneHalfReport);
}
}
}
/**
* 播放3/4上报
*/
public void VideoShowThreeQuarterReport() {
if (mHcAdBean.getVideo_three_quarter() == null || mHcAdBean.isVideoPlay34Report()) {
return;
}
mHcAdBean.setVideoPlay34Report(true);
if (mHcAdBean.getVideo_three_quarter().size() > 0) {
for (int i = 0; i < mHcAdBean.getVideo_three_quarter().size(); i++) {
String threeQuarterReport = mHcAdBean.getVideo_three_quarter().get(i);
HttpClientUtils.GetEvent(threeQuarterReport);
}
}
}
/**
* 点击上报
*/
public void VideoClickReport() {
if (mHcAdBean.getClickUrl() == null || mHcAdBean.isClickReport()) {
return;
}
mHcAdBean.setClickReport(true);
//点击上报
if (mHcAdBean.getClickUrl().size() > 0) {
for (int i = 0; i < mHcAdBean.getClickUrl().size(); i++) {
String clickReport = mHcAdBean.getClickUrl().get(i);
HttpClientUtils.GetEvent(clickReport);
}
}
}
/**
* 曝光上报
*/
public void VideoShowReport() {
if (mHcAdBean.getMonitorUrl() == null || mHcAdBean.isShowReport()) {
return;
}
mHcAdBean.setShowReport(true);
//曝光上报
if (mHcAdBean.getMonitorUrl().size() > 0) {
for (int i = 0; i < mHcAdBean.getMonitorUrl().size(); i++) {
String showReport = mHcAdBean.getMonitorUrl().get(i);
HttpClientUtils.GetEvent(showReport);
}
}
}
} }
...@@ -114,10 +114,6 @@ public class RewardVideoPortraitADActivity extends Activity implements SurfaceHo ...@@ -114,10 +114,6 @@ public class RewardVideoPortraitADActivity extends Activity implements SurfaceHo
} }
}); });
//初始化SurfaceHolder类,SurfaceView的控制器 //初始化SurfaceHolder类,SurfaceView的控制器
surfaceHolder = sfv_reward_show.getHolder(); surfaceHolder = sfv_reward_show.getHolder();
surfaceHolder.addCallback(this); surfaceHolder.addCallback(this);
...@@ -156,6 +152,7 @@ public class RewardVideoPortraitADActivity extends Activity implements SurfaceHo ...@@ -156,6 +152,7 @@ public class RewardVideoPortraitADActivity extends Activity implements SurfaceHo
} }
}; };
private void RewardVideoAdClick() { private void RewardVideoAdClick() {
boolean IsSuccess = true; boolean IsSuccess = true;
if (TextUtils.isEmpty(RewardVideoMediaPlayer.getInstance().getHcAdBean().getDeeplink())) { if (TextUtils.isEmpty(RewardVideoMediaPlayer.getInstance().getHcAdBean().getDeeplink())) {
......
...@@ -2,6 +2,7 @@ package com.ym.zxhcsdk.view; ...@@ -2,6 +2,7 @@ package com.ym.zxhcsdk.view;
import android.app.Activity; import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import com.ym.zxhcsdk.HcAdBean; import com.ym.zxhcsdk.HcAdBean;
import com.ym.zxhcsdk.HttpClientUtils; import com.ym.zxhcsdk.HttpClientUtils;
import com.ym.zxhcsdk.PhoneUtils; import com.ym.zxhcsdk.PhoneUtils;
...@@ -10,6 +11,7 @@ import com.ym.zxhcsdk.ads.RewardVideoMediaPlayer; ...@@ -10,6 +11,7 @@ import com.ym.zxhcsdk.ads.RewardVideoMediaPlayer;
import com.ym.zxhcsdk.ads.RewardVideoPortraitADActivity; import com.ym.zxhcsdk.ads.RewardVideoPortraitADActivity;
import com.ym.zxhcsdk.listener.RewardVideoAdLoadListener; import com.ym.zxhcsdk.listener.RewardVideoAdLoadListener;
import com.ym.zxhcsdk.listener.RewardVideoAdShowListener; import com.ym.zxhcsdk.listener.RewardVideoAdShowListener;
import java.io.Serializable; import java.io.Serializable;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -28,6 +30,7 @@ public class ZXHCRewardVideoAD implements Serializable { ...@@ -28,6 +30,7 @@ public class ZXHCRewardVideoAD implements Serializable {
/** /**
* 缓存激励视频 * 缓存激励视频
*
* @param mlistener * @param mlistener
*/ */
public void loadRewardAD(RewardVideoAdLoadListener mlistener) { public void loadRewardAD(RewardVideoAdLoadListener mlistener) {
...@@ -35,31 +38,42 @@ public class ZXHCRewardVideoAD implements Serializable { ...@@ -35,31 +38,42 @@ public class ZXHCRewardVideoAD implements Serializable {
map.put("pid", codeId); map.put("pid", codeId);
map.put("type", "api"); map.put("type", "api");
map.put("ad_type", "3"); map.put("ad_type", "3");
map.put("ad_w",PhoneUtils.getInstance().getScreenWidth(context)+""); map.put("ad_w", PhoneUtils.getInstance().getScreenWidth(context) + "");
map.put("ad_h",PhoneUtils.getInstance().getScreenHeight(context)+""); map.put("ad_h", PhoneUtils.getInstance().getScreenHeight(context) + "");
HttpClientUtils.get(ZXHCConstant.BASE_URL, map, new HttpClientUtils.OnRequestCallBack() { HttpClientUtils.get(ZXHCConstant.BASE_URL, map, new HttpClientUtils.OnRequestCallBack() {
@Override @Override
public void onSuccess(String json) { public void onSuccess(String json) {
adBean = PhoneUtils.getInstance().jsonToObj(json); adBean = PhoneUtils.getInstance().jsonToObj(json);
adBean.setShowReport(false); adBean.setShowReport(false);
adBean.setClickReport(false); adBean.setClickReport(false);
adBean.setVideoStartReport(false);
adBean.setVideoCompleteReport(false);
adBean.setVideoPauseReport(false);
adBean.setVideoResumeReport(false);
adBean.setVideoPlay34Report(false);
adBean.setVideoPlay12Report(false);
adBean.setVideoPlay14Report(false);
adBean.setVideoCloseReport(false);
adBean.setVideoSkipReport(false);
adBean.setClickDpLinkSucReport(false); adBean.setClickDpLinkSucReport(false);
adBean.setClickDpLinkfailReport(false); adBean.setClickDpLinkfailReport(false);
if (null==adBean.getVideo_url()||adBean.getVideo_url().equals("")){ if (null == adBean.getVideo_url() || adBean.getVideo_url().equals("")) {
context.runOnUiThread(new Runnable() { context.runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
if (mlistener!=null){ if (mlistener != null) {
mlistener.OnLoadError("没有视频资源"); mlistener.OnLoadError("没有视频资源");
} }
} }
}); });
}else { } else {
RewardVideoMediaPlayer.getInstance().setHcAdBean(adBean);//将广告资源加载到MediaPlayer RewardVideoMediaPlayer.getInstance().setHcAdBean(adBean);//将广告资源加载到MediaPlayer
context.runOnUiThread(new Runnable() { context.runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
if (mlistener!=null){ if (mlistener != null) {
mlistener.OnAdLoaded(); mlistener.OnAdLoaded();
} }
} }
...@@ -72,7 +86,7 @@ public class ZXHCRewardVideoAD implements Serializable { ...@@ -72,7 +86,7 @@ public class ZXHCRewardVideoAD implements Serializable {
context.runOnUiThread(new Runnable() { context.runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
if (mlistener!=null){ if (mlistener != null) {
mlistener.OnLoadError(errorMsg); mlistener.OnLoadError(errorMsg);
} }
//listener.OnError(errorMsg); //listener.OnError(errorMsg);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment