Commit 393e0658 authored by 王雪伟's avatar 王雪伟

点击事件

parent 2d72d162
package com.ym.zxhcsdk.ads; package com.ym.zxhcsdk.ads;
import android.app.Activity; import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.CountDownTimer; import android.os.CountDownTimer;
import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.SurfaceHolder; import android.view.SurfaceHolder;
...@@ -13,9 +16,13 @@ import android.widget.FrameLayout; ...@@ -13,9 +16,13 @@ import android.widget.FrameLayout;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import com.ym.zxhcsdk.HcDownLoadUtils;
import com.ym.zxhcsdk.HttpClientUtils; import com.ym.zxhcsdk.HttpClientUtils;
import com.ym.zxhcsdk.PhoneUtils;
import com.ym.zxhcsdk.R; import com.ym.zxhcsdk.R;
import com.ym.zxhcsdk.listener.RewardVideoAdUpdateViewListener; import com.ym.zxhcsdk.listener.RewardVideoAdUpdateViewListener;
import com.ym.zxhcsdk.webview.HcWebActivity;
public class RewardvideoPortraitADActivity extends Activity implements SurfaceHolder.Callback, RewardVideoAdUpdateViewListener { public class RewardvideoPortraitADActivity extends Activity implements SurfaceHolder.Callback, RewardVideoAdUpdateViewListener {
...@@ -96,6 +103,8 @@ public class RewardvideoPortraitADActivity extends Activity implements SurfaceHo ...@@ -96,6 +103,8 @@ public class RewardvideoPortraitADActivity extends Activity implements SurfaceHo
@Override @Override
public void onClick(View v) { public void onClick(View v) {
RewardVideoMediaPlayer.getInstance().clickVideoAd(); RewardVideoMediaPlayer.getInstance().clickVideoAd();
RewardVideoAdClick();
} }
}); });
//初始化SurfaceHolder类,SurfaceView的控制器 //初始化SurfaceHolder类,SurfaceView的控制器
...@@ -111,6 +120,94 @@ public class RewardvideoPortraitADActivity extends Activity implements SurfaceHo ...@@ -111,6 +120,94 @@ public class RewardvideoPortraitADActivity extends Activity implements SurfaceHo
}); });
} }
//TODO 点击按钮,跳转的落地页, 或者是软件下载地
//址。(可通过 target_type 字段判断是到普通
//落地页还是下载 app,唤醒则通过 deeplink 是
//否为空判断) 确认video_endbutoonurl 具体含义 以及跳转Web的路径
private void RewardVideoAdClick() {
boolean IsSuccess = true;
if (TextUtils.isEmpty(RewardVideoMediaPlayer.getInstance().getHcAdBean().getDeeplink())) {
if (!TextUtils.isEmpty(RewardVideoMediaPlayer.getInstance().getHcAdBean().getTarget_type())) {
if (RewardVideoMediaPlayer.getInstance().getHcAdBean().getTarget_type().equals("0")) {//0:网页跳转 1:下载类应用(默认值 0)
if (RewardVideoMediaPlayer.getInstance().getHcAdBean().getDUrl() != null && RewardVideoMediaPlayer.getInstance().getHcAdBean().getDUrl().size() > 0) {
try {
Intent intent = new Intent(RewardvideoPortraitADActivity.this, HcWebActivity.class);
intent.putExtra("url",RewardVideoMediaPlayer.getInstance().getHcAdBean().getDUrl().get(0));
startActivity(intent);
}catch (ClassCastException exception){
exception.printStackTrace();
}
}
} else if (RewardVideoMediaPlayer.getInstance().getHcAdBean().getTarget_type().equals("1")) {
new HcDownLoadUtils(this).downloadAPK(RewardVideoMediaPlayer.getInstance().getHcAdBean());
}
}
} else {
try {
Uri uri = Uri.parse(RewardVideoMediaPlayer.getInstance().getHcAdBean().getDeeplink().trim());
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
} catch (Exception e) {
IsSuccess=false;
if (!TextUtils.isEmpty(RewardVideoMediaPlayer.getInstance().getHcAdBean().getTarget_type())) {
if (RewardVideoMediaPlayer.getInstance().getHcAdBean().getTarget_type().equals("0")) {//0:网页跳转 1:下载类应用(默认值 0)
if (RewardVideoMediaPlayer.getInstance().getHcAdBean().getDUrl() != null && RewardVideoMediaPlayer.getInstance().getHcAdBean().getDUrl().size() > 0) {
try {
Intent intent = new Intent(RewardvideoPortraitADActivity.this, HcWebActivity.class);
intent.putExtra("url",RewardVideoMediaPlayer.getInstance().getHcAdBean().getDUrl().get(0));
startActivity(intent);
}catch (ClassCastException exception){
exception.printStackTrace();
}
}
} else if (RewardVideoMediaPlayer.getInstance().getHcAdBean().getTarget_type().equals("1")) {
new HcDownLoadUtils(this).downloadAPK(RewardVideoMediaPlayer.getInstance().getHcAdBean());
}
}
}
if (IsSuccess) {
dpLinkSuccessReport();
} else {
if (PhoneUtils.getInstance().IsInstallApp(this,RewardVideoMediaPlayer.getInstance().getHcAdBean().getApp_name())){
dpLinkFailReport("3");
}else {
dpLinkFailReport("2");
}
}
}
}
private void dpLinkSuccessReport() {
if (RewardVideoMediaPlayer.getInstance().getHcAdBean().isClickDpLinkSucReport()) {
return;
}
RewardVideoMediaPlayer.getInstance().getHcAdBean().setClickDpLinkSucReport(true);
//唤醒成功上报
if (RewardVideoMediaPlayer.getInstance().getHcAdBean().getDpSuccmonitorUrls() != null && RewardVideoMediaPlayer.getInstance().getHcAdBean().getDpSuccmonitorUrls().size() > 0) {
for (int i = 0; i < RewardVideoMediaPlayer.getInstance().getHcAdBean().getDpSuccmonitorUrls().size(); i++) {
HttpClientUtils.GetEvent(RewardVideoMediaPlayer.getInstance().getHcAdBean().getDpSuccmonitorUrls().get(i));
}
}
}
private void dpLinkFailReport(String reason) {
if (RewardVideoMediaPlayer.getInstance().getHcAdBean().isClickDpLinkfailReport()) {
return;
}
RewardVideoMediaPlayer.getInstance().getHcAdBean().setClickDpLinkfailReport(true);
//唤醒失败上报
if (RewardVideoMediaPlayer.getInstance().getHcAdBean().getDpFailmonitorUrls() != null && RewardVideoMediaPlayer.getInstance().getHcAdBean().getDpFailmonitorUrls().size() > 0) {
for (int i = 0; i < RewardVideoMediaPlayer.getInstance().getHcAdBean().getDpFailmonitorUrls().size(); i++) {
String url = RewardVideoMediaPlayer.getInstance().getHcAdBean().getDpFailmonitorUrls().get(i);
url = url.replace("__DP_REASON__", reason);//1-被拦截,2-应用未安装,3-调起异常 (vivo广告必须替换)
HttpClientUtils.GetEvent(url);
}
}
}
private void SetAdVideo(){ private void SetAdVideo(){
TopClose.setVisibility(View.GONE); TopClose.setVisibility(View.GONE);
TopTimeTv.setVisibility(View.VISIBLE); TopTimeTv.setVisibility(View.VISIBLE);
......
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