Commit 817d3b71 authored by 王雪伟's avatar 王雪伟

广告回调放置主线程

parent eefe0692
...@@ -34,8 +34,8 @@ public class MainActivity extends Activity { ...@@ -34,8 +34,8 @@ public class MainActivity extends Activity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);
// ZXHCADManager.getInstance().InitAd(this, "1000127", true);
ZXHCADManager.getInstance().InitAd(this, "1000127", true); ZXHCADManager.getInstance().InitAd(this, "1000127", true);
// ZXHCADManager.getInstance().InitAd(this, "1000298", true);
String url = "http://sspv2test.zhangxinhuichuan.com/ssp/v1/ads?pid=2100154&type=api&ad_type=3&ad_w=480&ad_h=720&app_package=com.popcap.pvz2cthd&app_id=1000127&app_name=com.popcap.pvz2cthd&app_versionid=1005&device_geo_lat=&device_geo_lon=&device_imei=X6GNU17524105082&device_adid=d0cf1c3d5280f16b&device_mac=F0:C8:50:A1:4E:8E&device_width=1920&device_height=1132&device_imsi=460000501365163&device_carrier=&device_network=1&device_os=Android&device_os_version=24&device_density=2.0&device_ppi=2.0&device_ip=183.211.87.156&device_ua=Dalvik%2F2.1.0+%28Linux%3B+U%3B+Android+9%3B+Redmi+Note+8+Pro+MIUI%2FV10.4.9.0.PGGCNXM%29&device_type=0&is_mobile=1&device_model=FLA-AL10&device_brand=HUAWEI"; String url = "http://sspv2test.zhangxinhuichuan.com/ssp/v1/ads?pid=2100154&type=api&ad_type=3&ad_w=480&ad_h=720&app_package=com.popcap.pvz2cthd&app_id=1000127&app_name=com.popcap.pvz2cthd&app_versionid=1005&device_geo_lat=&device_geo_lon=&device_imei=X6GNU17524105082&device_adid=d0cf1c3d5280f16b&device_mac=F0:C8:50:A1:4E:8E&device_width=1920&device_height=1132&device_imsi=460000501365163&device_carrier=&device_network=1&device_os=Android&device_os_version=24&device_density=2.0&device_ppi=2.0&device_ip=183.211.87.156&device_ua=Dalvik%2F2.1.0+%28Linux%3B+U%3B+Android+9%3B+Redmi+Note+8+Pro+MIUI%2FV10.4.9.0.PGGCNXM%29&device_type=0&is_mobile=1&device_model=FLA-AL10&device_brand=HUAWEI";
String BaseUrl = "http://sspv2test.zhangxinhuichuan.com/ssp/v1/ads"; String BaseUrl = "http://sspv2test.zhangxinhuichuan.com/ssp/v1/ads";
new OaidUtils().GetOaid(MainActivity.this, new IOaidListener() { new OaidUtils().GetOaid(MainActivity.this, new IOaidListener() {
...@@ -55,7 +55,7 @@ public class MainActivity extends Activity { ...@@ -55,7 +55,7 @@ public class MainActivity extends Activity {
findViewById(R.id.test_Feed).setOnClickListener(new View.OnClickListener() { findViewById(R.id.test_Feed).setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
feedAD1 = new ZXHCFeedAD(MainActivity.this, "2100156", 1080, 720, new FeedAdListener() { feedAD1 = new ZXHCFeedAD(MainActivity.this, "2100154", 1080, 720, new FeedAdListener() {
@Override @Override
public void OnAdLoaded() { public void OnAdLoaded() {
vp = ZXHCAdViewManager.getInstance().newFrameLayout(MainActivity.this); vp = ZXHCAdViewManager.getInstance().newFrameLayout(MainActivity.this);
...@@ -65,22 +65,22 @@ public class MainActivity extends Activity { ...@@ -65,22 +65,22 @@ public class MainActivity extends Activity {
@Override @Override
public void OnError(String error) { public void OnError(String error) {
Log.d("wxw", "OnError"+error);
} }
@Override @Override
public void OnAdClicked() { public void OnAdClicked() {
Log.d("wxw", "OnAdClicked");
} }
@Override @Override
public void OnAdShow() { public void OnAdShow() {
Log.d("wxw", "OnAdShow");
} }
@Override @Override
public void OnAdClosed() { public void OnAdClosed() {
Log.d("wxw", "OnAdClosed");
} }
}); });
feedAD1.loadAD(); feedAD1.loadAD();
...@@ -92,7 +92,7 @@ public class MainActivity extends Activity { ...@@ -92,7 +92,7 @@ public class MainActivity extends Activity {
//2100154 落地页 //2100154 落地页
//2100155 下载 //2100155 下载
//2100156 跳转链接 //2100156 跳转链接
zxhcSplashAD = new ZXHCSplashAD(MainActivity.this, "1100028", new SplashAdListener() { zxhcSplashAD = new ZXHCSplashAD(MainActivity.this, "2100154", new SplashAdListener() {
@Override @Override
public void OnAdLoaded() { public void OnAdLoaded() {
ViewGroup vp = ZXHCAdViewManager.getInstance().newFrameLayout(MainActivity.this); ViewGroup vp = ZXHCAdViewManager.getInstance().newFrameLayout(MainActivity.this);
......
...@@ -72,30 +72,50 @@ public class ZXHCFeedAD { ...@@ -72,30 +72,50 @@ public class ZXHCFeedAD {
@Override @Override
public void onSuccess(Bitmap bitmap) { public void onSuccess(Bitmap bitmap) {
mBitmap = bitmap; mBitmap = bitmap;
context.runOnUiThread(new Runnable() {
@Override
public void run() {
listener.OnAdLoaded(); listener.OnAdLoaded();
} }
});
}
@Override @Override
public void onError(String errorMsg) { public void onError(String errorMsg) {
context.runOnUiThread(new Runnable() {
@Override
public void run() {
listener.OnError(errorMsg); listener.OnError(errorMsg);
} }
}); });
} }
});
}
} }
@Override @Override
public void onError(String errorMsg) { public void onError(String errorMsg) {
context.runOnUiThread(new Runnable() {
@Override
public void run() {
listener.OnError(errorMsg); listener.OnError(errorMsg);
} }
}); });
} }
});
}
// private ViewGroup feedVp; // private ViewGroup feedVp;
public void destroyFeedAd(ViewGroup feedVp) { public void destroyFeedAd(ViewGroup feedVp) {
if (feedVp != null) { if (feedVp != null) {
context.runOnUiThread(new Runnable() {
@Override
public void run() {
listener.OnAdClosed(); listener.OnAdClosed();
}
});
ZXHCAdViewManager.getInstance().removeAdView(context, feedVp); ZXHCAdViewManager.getInstance().removeAdView(context, feedVp);
} else { } else {
Log.d("wxw", "feedAd null"); Log.d("wxw", "feedAd null");
...@@ -176,8 +196,6 @@ public class ZXHCFeedAD { ...@@ -176,8 +196,6 @@ public class ZXHCFeedAD {
layoutParams.height = height; layoutParams.height = height;
Log.d("wxw", "width" + width + "height" + height); Log.d("wxw", "width" + width + "height" + height);
view.setLayoutParams(layoutParams); view.setLayoutParams(layoutParams);
} }
}); });
} }
......
...@@ -5,6 +5,7 @@ import android.app.Activity; ...@@ -5,6 +5,7 @@ import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.net.Uri; import android.net.Uri;
import android.os.CountDownTimer;
import android.os.Handler; import android.os.Handler;
import android.os.Message; import android.os.Message;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
...@@ -93,57 +94,67 @@ public class ZXHCSplashAD { ...@@ -93,57 +94,67 @@ public class ZXHCSplashAD {
@Override @Override
public void onError(String errorMsg) { public void onError(String errorMsg) {
context.runOnUiThread(new Runnable() {
@Override
public void run() {
listener.OnError(errorMsg); listener.OnError(errorMsg);
Log.d("wxw", "bitmaperrorMsg" + errorMsg); }
});
} }
}); });
} else { } else {
context.runOnUiThread(new Runnable() {
@Override
public void run() {
listener.OnError("广告数据为0"); listener.OnError("广告数据为0");
} }
});
}
} }
@Override @Override
public void onError(String errorMsg) { public void onError(String errorMsg) {
context.runOnUiThread(new Runnable() {
@Override
public void run() {
listener.OnError(errorMsg); listener.OnError(errorMsg);
Log.d("wxw", "errorMsg" + errorMsg); }
});
} }
}); });
} }
CountDownTimer countDownTimer = null;
private void countDown(int time, TextView textView) {
long times = time*1000;
//时间 倒计时 入参long类型
countDownTimer = new CountDownTimer(time, 1000) {
private int SPLASH_CODE = 1000;
private int delayTime;
private TextView jumpTv;
private Handler mHandler = new Handler(new Handler.Callback() {
@Override @Override
public boolean handleMessage(@NonNull Message msg) { public void onTick(long millisUntilFinished) {
if (msg.what == SPLASH_CODE) { int delayTime = (int) millisUntilFinished/1000;
delayTime--; textView.setText(delayTime+"");
context.runOnUiThread(new Runnable() { }
@Override @Override
public void run() { public void onFinish() {
if (delayTime > 0) { textView.setText("");
mHandler.sendEmptyMessageDelayed(SPLASH_CODE, 1000);
jumpTv.setText(delayTime + "");
} else {
jumpTv.setText("跳过");
if (delayTime <= 0) {
listener.OnAdClosed(); listener.OnAdClosed();
if (splashView != null) { if (splashView != null) {
ZXHCAdViewManager.getInstance().removeAdView(context, splashView); ZXHCAdViewManager.getInstance().removeAdView(context, splashView);
} }
mHandler.removeMessages(SPLASH_CODE); countDownTimer.cancel();
countDownTimer = null;
} }
};
countDownTimer.start();
} }
}
});
return true;
}
return false;
}
});
private int delayTime;
private TextView jumpTv;
private ViewGroup splashView; private ViewGroup splashView;
public void showAd(ViewGroup vp) { public void showAd(ViewGroup vp) {
...@@ -157,14 +168,14 @@ public class ZXHCSplashAD { ...@@ -157,14 +168,14 @@ public class ZXHCSplashAD {
ImageView splashImg = view.findViewById(R.id.ad_id_hc_Splash_img); ImageView splashImg = view.findViewById(R.id.ad_id_hc_Splash_img);
jumpTv = view.findViewById(R.id.ad_id_jump_text); jumpTv = view.findViewById(R.id.ad_id_jump_text);
splashImg.setImageBitmap(bitmapImg); splashImg.setImageBitmap(bitmapImg);
delayTime = fetchDelay + 1; delayTime = fetchDelay;
jumpTv.setOnClickListener(new View.OnClickListener() { jumpTv.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
if (delayTime <= 0) { if (delayTime <= 0) {
//listener.OnAdClosed(); //listener.OnAdClosed();
ZXHCAdViewManager.getInstance().removeAdView(context, vp); ZXHCAdViewManager.getInstance().removeAdView(context, vp);
mHandler.removeMessages(SPLASH_CODE); // mHandler.removeMessages(SPLASH_CODE);
} }
} }
}); });
...@@ -199,8 +210,7 @@ public class ZXHCSplashAD { ...@@ -199,8 +210,7 @@ public class ZXHCSplashAD {
return false; return false;
} }
}); });
mHandler.sendEmptyMessage(SPLASH_CODE); countDown(delayTime,jumpTv);
view.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() { view.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
@Override @Override
public void onViewAttachedToWindow(View v) { public void onViewAttachedToWindow(View v) {
......
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