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

激励视频布局

parent a1e942ef
...@@ -17,6 +17,7 @@ import com.ym.zxhcsdk.ads.RewardVideoPlayerUtils; ...@@ -17,6 +17,7 @@ import com.ym.zxhcsdk.ads.RewardVideoPlayerUtils;
import com.ym.zxhcsdk.ads.RewardvideoPortraitADActivity; import com.ym.zxhcsdk.ads.RewardvideoPortraitADActivity;
import com.ym.zxhcsdk.listener.FeedAdListener; import com.ym.zxhcsdk.listener.FeedAdListener;
import com.ym.zxhcsdk.listener.RewardVideoAdLoadListener; import com.ym.zxhcsdk.listener.RewardVideoAdLoadListener;
import com.ym.zxhcsdk.listener.RewardVideoAdShowListener;
import com.ym.zxhcsdk.listener.SplashAdListener; import com.ym.zxhcsdk.listener.SplashAdListener;
import com.ym.zxhcsdk.manager.ZXHCADManager; import com.ym.zxhcsdk.manager.ZXHCADManager;
import com.ym.zxhcsdk.manager.ZXHCAdViewManager; import com.ym.zxhcsdk.manager.ZXHCAdViewManager;
...@@ -140,6 +141,7 @@ public class MainActivity extends Activity { ...@@ -140,6 +141,7 @@ public class MainActivity extends Activity {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
startActivity(new Intent(MainActivity.this, RewardvideoPortraitADActivity.class)); startActivity(new Intent(MainActivity.this, RewardvideoPortraitADActivity.class));
} }
}); });
...@@ -191,6 +193,37 @@ public class MainActivity extends Activity { ...@@ -191,6 +193,37 @@ public class MainActivity extends Activity {
@Override @Override
public void OnAdLoaded() { public void OnAdLoaded() {
RewardVideoPlayerUtils.getInstance().setVideo(zxhcRewardVideoAD); RewardVideoPlayerUtils.getInstance().setVideo(zxhcRewardVideoAD);
zxhcRewardVideoAD.showRewardAD(MainActivity.this, new RewardVideoAdShowListener() {
@Override
public void OnAdShow() {
}
@Override
public void OnRewardVerify() {
}
@Override
public void OnAdClicked() {
}
@Override
public void OnVideoCompleted() {
}
@Override
public void OnAdClosed() {
}
@Override
public void OnVideoError(String error) {
}
});
} }
@Override @Override
......
package com.ym.zxhcsdk; package com.ym.zxhcsdk;
import java.io.Serializable;
import java.util.List; import java.util.List;
public class HcAdBean { public class HcAdBean implements Serializable {
private int height; private int height;
private int width; private int width;
private List<String> monitorUrl; private List<String> monitorUrl;
......
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.media.MediaPlayer; import android.media.MediaPlayer;
import android.os.Bundle; import android.os.Bundle;
import android.os.CountDownTimer; import android.os.CountDownTimer;
...@@ -13,9 +15,14 @@ import android.widget.FrameLayout; ...@@ -13,9 +15,14 @@ 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.HcAdBean;
import com.ym.zxhcsdk.HttpClientUtils;
import com.ym.zxhcsdk.R; import com.ym.zxhcsdk.R;
import com.ym.zxhcsdk.view.ZXHCRewardVideoAD; import com.ym.zxhcsdk.view.ZXHCRewardVideoAD;
import java.io.Serializable;
public class RewardvideoPortraitADActivity extends Activity implements SurfaceHolder.Callback { public class RewardvideoPortraitADActivity extends Activity implements SurfaceHolder.Callback {
private MediaPlayer mPlayer = null; private MediaPlayer mPlayer = null;
...@@ -30,17 +37,18 @@ public class RewardvideoPortraitADActivity extends Activity implements SurfaceHo ...@@ -30,17 +37,18 @@ public class RewardvideoPortraitADActivity extends Activity implements SurfaceHo
private TextView TopTimeTv; private TextView TopTimeTv;
private ImageView TopClose; private ImageView TopClose;
public ZXHCRewardVideoAD mZxhcRewardVideoAD; // public ZXHCRewardVideoAD mZxhcRewardVideoAD;
private HcAdBean zxRewardAdBean;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rewardvideo_portrait_a_d); setContentView(R.layout.activity_rewardvideo_portrait_a_d);
mZxhcRewardVideoAD = RewardVideoPlayerUtils.getInstance().getVideo(); // mZxhcRewardVideoAD = RewardVideoPlayerUtils.getInstance().getVideo();
if (null != mZxhcRewardVideoAD) {
mPlayer = RewardVideoMediaPlayer.getInstance(); mPlayer = RewardVideoMediaPlayer.getInstance();
}
zxRewardAdBean = (HcAdBean) getIntent().getSerializableExtra("ZXRewardAdBean");
bindViews(); bindViews();
} }
...@@ -59,6 +67,29 @@ public class RewardvideoPortraitADActivity extends Activity implements SurfaceHo ...@@ -59,6 +67,29 @@ 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);
//设置底部信息
bottomTitle.setText(zxRewardAdBean.getVideo_title());
bottomDesc.setText(zxRewardAdBean.getVideo_desc());
bottomBtnTv.setText(zxRewardAdBean.getVideo_iconbuttontext());
HttpClientUtils.LoadImg(zxRewardAdBean.getVideo_icon_url(), new HttpClientUtils.OnRequestImgCallBack() {
@Override
public void onSuccess(Bitmap bitmap) {
runOnUiThread(new Runnable() {
@Override
public void run() {
bottomIcon.setImageBitmap(bitmap);
}
});
}
@Override
public void onError(String errorMsg) {
}
});
SetAdVideo(); SetAdVideo();
// mPlayer = new MediaPlayer(); // mPlayer = new MediaPlayer();
...@@ -74,9 +105,48 @@ public class RewardvideoPortraitADActivity extends Activity implements SurfaceHo ...@@ -74,9 +105,48 @@ public class RewardvideoPortraitADActivity extends Activity implements SurfaceHo
}); });
} }
private void SetAdVideo(){ private void SetAdVideo(){
TopClose.setVisibility(View.GONE); TopClose.setVisibility(View.GONE);
TopTimeTv.setVisibility(View.VISIBLE); TopTimeTv.setVisibility(View.VISIBLE);
//网络流媒体播放结束监听
mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Log.d("wxw", "MediaPlayer onCompletion");
TopClose.setVisibility(View.VISIBLE);
TopTimeTv.setVisibility(View.GONE);
}
});
//设置错误信息监听
mPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.d("wxw", "MediaPlayer error " + what + " extra " + extra);
TopClose.setVisibility(View.VISIBLE);
TopTimeTv.setVisibility(View.GONE);
return false;
}
});
//视频尺寸监听
mPlayer.setOnVideoSizeChangedListener(new MediaPlayer.OnVideoSizeChangedListener() {
@Override
public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
// int phoneWidth = PhoneUtils.getInstance().getScreenWidth(RewardvideoPortraitADActivity.this);
// float pro = height / (float) width;
// ViewGroup.LayoutParams layoutParams = frameView.getLayoutParams();
// layoutParams.width = phoneWidth;
// layoutParams.height = (int) (phoneWidth * pro);
// frameView.setLayoutParams(layoutParams);
Log.d("wxw", "mp.getCurrentPosition() " + mp.getCurrentPosition());
}
});
} }
@Override @Override
...@@ -88,39 +158,6 @@ public class RewardvideoPortraitADActivity extends Activity implements SurfaceHo ...@@ -88,39 +158,6 @@ public class RewardvideoPortraitADActivity extends Activity implements SurfaceHo
} }
//网络流媒体播放结束监听
mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Log.d("wxw", "MediaPlayer onCompletion");
TopClose.setVisibility(View.VISIBLE);
TopTimeTv.setVisibility(View.GONE);
}
});
//设置错误信息监听
mPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.d("wxw", "MediaPlayer error " + what + " extra " + extra);
TopClose.setVisibility(View.VISIBLE);
TopTimeTv.setVisibility(View.GONE);
return false;
}
});
//视频尺寸监听
mPlayer.setOnVideoSizeChangedListener(new MediaPlayer.OnVideoSizeChangedListener() {
@Override
public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
// int phoneWidth = PhoneUtils.getInstance().getScreenWidth(RewardvideoPortraitADActivity.this);
// float pro = height / (float) width;
// ViewGroup.LayoutParams layoutParams = frameView.getLayoutParams();
// layoutParams.width = phoneWidth;
// layoutParams.height = (int) (phoneWidth * pro);
// frameView.setLayoutParams(layoutParams);
Log.d("wxw", "mp.getCurrentPosition() " + mp.getCurrentPosition());
}
});
//mPlayer.start(); //mPlayer.start();
} }
......
...@@ -9,6 +9,7 @@ import com.ym.zxhcsdk.HttpClientUtils; ...@@ -9,6 +9,7 @@ import com.ym.zxhcsdk.HttpClientUtils;
import com.ym.zxhcsdk.PhoneUtils; import com.ym.zxhcsdk.PhoneUtils;
import com.ym.zxhcsdk.ZXHCConstant; import com.ym.zxhcsdk.ZXHCConstant;
import com.ym.zxhcsdk.ads.RewardVideoMediaPlayer; import com.ym.zxhcsdk.ads.RewardVideoMediaPlayer;
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;
...@@ -61,26 +62,26 @@ public class ZXHCRewardVideoAD implements Serializable { ...@@ -61,26 +62,26 @@ public class ZXHCRewardVideoAD implements Serializable {
} }
try { // try {
isLoadFinish = false; // isLoadFinish = false;
RewardVideoMediaPlayer.getInstance().setDataSource("https://zx-cdn.zhangxinhulian.com/file/2020/5/8447fa5488ee19a54d2adbe8d127693045540211.mp4"); // RewardVideoMediaPlayer.getInstance().setDataSource("https://zx-cdn.zhangxinhulian.com/file/2020/5/8447fa5488ee19a54d2adbe8d127693045540211.mp4");
// mPlayer.setDisplay(surfaceHolder); // // mPlayer.setDisplay(surfaceHolder);
RewardVideoMediaPlayer.getInstance().prepareAsync(); // RewardVideoMediaPlayer.getInstance().prepareAsync();
//网络流媒体的缓冲监听 // //网络流媒体的缓冲监听
RewardVideoMediaPlayer.getInstance().setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() { // RewardVideoMediaPlayer.getInstance().setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
@Override // @Override
public void onBufferingUpdate(MediaPlayer mp, int percent) { // public void onBufferingUpdate(MediaPlayer mp, int percent) {
Log.d("wxw", "percent" + percent); // Log.d("wxw", "percent" + percent);
if (percent==100){ // if (percent==100){
// mp.start(); //// mp.start();
isLoadFinish = true; // isLoadFinish = true;
} // }
Log.d("wxw", "mp.getCurrentPosition() " + mp.getCurrentPosition()); // Log.d("wxw", "mp.getCurrentPosition() " + mp.getCurrentPosition());
} // }
}); // });
} catch (IOException e) { // } catch (IOException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
} }
@Override @Override
...@@ -102,6 +103,11 @@ public class ZXHCRewardVideoAD implements Serializable { ...@@ -102,6 +103,11 @@ public class ZXHCRewardVideoAD implements Serializable {
* 播放激励视频 * 播放激励视频
*/ */
public void showRewardAD(Activity context, RewardVideoAdShowListener listener) { public void showRewardAD(Activity context, RewardVideoAdShowListener listener) {
if (adBean!=null){
Intent intent = new Intent(context, RewardvideoPortraitADActivity.class);
intent.putExtra("ZXRewardAdBean",adBean);
context.startActivity(intent);
}
} }
} }
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00a1a3a6" />
<padding
android:top="10dp"
android:bottom="10dp"
android:left="20dp"
android:right="20dp"
/>
<stroke
android:width="2dp"
android:color="#f2eada" />
<corners android:radius="25dp"/>
</shape>
\ No newline at end of file
...@@ -26,32 +26,32 @@ ...@@ -26,32 +26,32 @@
<ImageView <ImageView
android:id="@+id/reward_ad_Voice" android:id="@+id/reward_ad_Voice"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp" android:layout_marginLeft="20dp"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:layout_height="wrap_content"
android:src="@mipmap/arrow_left" /> android:src="@mipmap/arrow_left" />
<View <View
android:layout_width="0dp" android:layout_width="0dp"
android:layout_weight="1" android:layout_height="0dp"
android:layout_height="0dp"/> android:layout_weight="1" />
<TextView <TextView
android:id="@+id/reward_ad_time" android:id="@+id/reward_ad_time"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginRight="20dp" android:layout_marginRight="20dp"
android:textSize="20dp"
android:textColor="#000000"
android:text="" android:text=""
android:layout_marginTop="20dp" /> android:textColor="#000000"
android:textSize="20dp" />
<ImageView <ImageView
android:id="@+id/reward_ad_close" android:id="@+id/reward_ad_close"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginRight="20dp"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:layout_marginRight="20dp"
android:src="@mipmap/feedad_close" /> android:src="@mipmap/feedad_close" />
...@@ -67,10 +67,10 @@ ...@@ -67,10 +67,10 @@
<ImageView <ImageView
android:id="@+id/reward_ad_app_icon" android:id="@+id/reward_ad_app_icon"
android:layout_width="80dp" android:layout_width="70dp"
android:layout_height="80dp" android:layout_height="70dp"
android:layout_marginLeft="10dp" android:scaleType="fitCenter"
android:background="#ffff00" /> android:layout_marginLeft="10dp" />
<LinearLayout <LinearLayout
android:id="@+id/reward_ad_desc_view" android:id="@+id/reward_ad_desc_view"
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:ellipsize="end" android:ellipsize="end"
android:lines="1" android:lines="1"
android:text="拼多多" android:text=""
android:textColor="#000000" android:textColor="#000000"
android:textSize="20dp" android:textSize="20dp"
android:textStyle="bold" /> android:textStyle="bold" />
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:ellipsize="end" android:ellipsize="end"
android:lines="1" android:lines="1"
android:text="拼拼多多拼多多拼多多拼多多拼多多多多" android:text=""
android:textSize="15dp" /> android:textSize="15dp" />
...@@ -107,11 +107,13 @@ ...@@ -107,11 +107,13 @@
<TextView <TextView
android:id="@+id/reward_video_ad_btn" android:id="@+id/reward_video_ad_btn"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="50dp"
android:layout_marginRight="10dp" android:layout_marginRight="10dp"
android:background="@mipmap/btn" android:textColor="#000000"
android:textSize="20dp"
android:background="@drawable/btn_bg"
android:gravity="center" android:gravity="center"
android:text="下载" /> android:text="11" />
</LinearLayout> </LinearLayout>
......
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