Commit ae631a04 authored by mengcuiguang's avatar mengcuiguang

添加穿山甲广告

parent 7af44bbb
...@@ -150,7 +150,7 @@ public class MintsApplication extends MultiDexApplication { ...@@ -150,7 +150,7 @@ public class MintsApplication extends MultiDexApplication {
bindLogger(); bindLogger();
// 中文在线 听读 // 中文在线 听读
ReaderManager.init(this); ReaderManager.INSTANCE.init(this);
// 子线程初始化三方SDK // 子线程初始化三方SDK
......
package com.mints.goodmoney.manager; package com.mints.goodmoney.manager;
import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.os.SystemClock; import android.os.SystemClock;
import android.widget.Toast; import android.widget.Toast;
import com.bytedance.sdk.openadsdk.TTAppDownloadListener;
import com.bytedance.sdk.openadsdk.TTRewardVideoAd;
import com.chineseall.reader.lib.reader.callbacks.OnAdViewReceiver; import com.chineseall.reader.lib.reader.callbacks.OnAdViewReceiver;
import com.chineseall.reader17ksdk.utils.LogUtils;
import com.mints.goodmoney.common.AppConfig; import com.mints.goodmoney.common.AppConfig;
import com.mints.goodmoney.common.Constant; import com.mints.goodmoney.common.Constant;
import com.mints.goodmoney.utils.LogUtil; import com.mints.goodmoney.utils.LogUtil;
...@@ -16,19 +12,23 @@ import com.qq.e.ads.rewardvideo.RewardVideoAD; ...@@ -16,19 +12,23 @@ import com.qq.e.ads.rewardvideo.RewardVideoAD;
import com.qq.e.ads.rewardvideo.RewardVideoADListener; import com.qq.e.ads.rewardvideo.RewardVideoADListener;
import com.qq.e.comm.util.AdError; import com.qq.e.comm.util.AdError;
/**
* 中文在线 听读 优量汇广告
*/
public class ReadYlhAd { public class ReadYlhAd {
private Context context; private Context context;
private RewardVideoAD rewardVideoAD; private RewardVideoAD rewardVideoAD;
private boolean isClickScreen = true; // 是否点击屏幕跳转广告 private boolean isClickScreen = true; // 是否点击屏幕跳转广告
private OnVideoCloseCallBack callBack;
public void loadVideoAd(Context context, OnAdViewReceiver receiver,OnVideoCloseCallBack callBack) { public void loadVideoAd(Context context, OnAdViewReceiver receiver) {
this.context = context; this.context = context;
initVedioAD(context, receiver,callBack); initVedioAD(context, receiver);
} }
private void initVedioAD(final Context context, OnAdViewReceiver receiver,OnVideoCloseCallBack callBack) { private void initVedioAD(final Context context, OnAdViewReceiver receiver) {
rewardVideoAD = new RewardVideoAD(context, YlhAdManager.INSTANCE.getYLH_AD_VEDIO_DRINK_POSTID(), new RewardVideoADListener() { rewardVideoAD = new RewardVideoAD(context, YlhAdManager.INSTANCE.getYLH_AD_VEDIO_DRINK_POSTID(), new RewardVideoADListener() {
@Override @Override
public void onADLoad() {//广告加载成功,可在此回调后进行广告展示,此时广告过期时间确定,可通过RewardVideoAD.getExpireTimestamp()获取 public void onADLoad() {//广告加载成功,可在此回调后进行广告展示,此时广告过期时间确定,可通过RewardVideoAD.getExpireTimestamp()获取
...@@ -89,6 +89,7 @@ public class ReadYlhAd { ...@@ -89,6 +89,7 @@ public class ReadYlhAd {
@Override @Override
public void onError(AdError adError) {//广告流程出错,AdError中包含错误码和错误描述 public void onError(AdError adError) {//广告流程出错,AdError中包含错误码和错误描述
receiver.onReceive(false, null); receiver.onReceive(false, null);
Toast.makeText(context, "视频播放错误", Toast.LENGTH_SHORT).show();
if (adError != null) { if (adError != null) {
LogUtil.d("YlhVideoAdManager", "onError " + adError.getErrorCode() + adError.getErrorMsg()); LogUtil.d("YlhVideoAdManager", "onError " + adError.getErrorCode() + adError.getErrorMsg());
...@@ -102,7 +103,8 @@ public class ReadYlhAd { ...@@ -102,7 +103,8 @@ public class ReadYlhAd {
rewardVideoAD.loadAD(); rewardVideoAD.loadAD();
} }
public void showVideo() { public void showVideo(Context context,OnVideoCloseCallBack callBack) {
this.callBack = callBack;
try { try {
if (!rewardVideoAD.hasShown()) {//广告展示检查2:当前广告数据还没有展示过 if (!rewardVideoAD.hasShown()) {//广告展示检查2:当前广告数据还没有展示过
long delta = 1000;//建议给广告过期时间加个buffer,单位ms,这里demo采用1000ms的buffer long delta = 1000;//建议给广告过期时间加个buffer,单位ms,这里demo采用1000ms的buffer
...@@ -124,8 +126,4 @@ public class ReadYlhAd { ...@@ -124,8 +126,4 @@ public class ReadYlhAd {
public interface OnVideoCloseCallBack { public interface OnVideoCloseCallBack {
void onClose(); void onClose();
} }
public interface OnClickListener {
void onClick();
}
} }
...@@ -21,9 +21,16 @@ import com.chineseall.reader17ksdk.utils.book.ScreenUtils ...@@ -21,9 +21,16 @@ import com.chineseall.reader17ksdk.utils.book.ScreenUtils
* 邮箱:mengcga@163.com * 邮箱:mengcga@163.com
*/ */
object ReaderManager { object ReaderManager {
@JvmStatic private val csjAd by lazy { ReadToutiaoAD() }
private val ylhAd by lazy { ReadYlhAd() }
private const val csjVedioAD: String = "CSJ"
private const val ylhVedioAD: String = "Ylh"
private var curVedioAd: String = ""
private var isCsjAd: Boolean = true
fun init(applicationContext: Application) { fun init(applicationContext: Application) {
val csjAd = ReadToutiaoAD()
install(applicationContext, "1242", "hzq@1242", "32", "0", object : AdProvider { install(applicationContext, "1242", "hzq@1242", "32", "0", object : AdProvider {
/** /**
* 阅读⻚弹窗广告确认按钮的点击回调-激励视频 * 阅读⻚弹窗广告确认按钮的点击回调-激励视频
...@@ -35,10 +42,13 @@ object ReaderManager { ...@@ -35,10 +42,13 @@ object ReaderManager {
AlertDialog.Builder(ActivityStackManager.getInstance().topActivity) AlertDialog.Builder(ActivityStackManager.getInstance().topActivity)
.setTitle("温馨提示") .setTitle("温馨提示")
.setMessage("当前处于移动网络,播放视频会消耗流量,确定播放?") .setMessage("当前处于移动网络,播放视频会消耗流量,确定播放?")
.setPositiveButton("观看视频") { dialog, which -> csjAd.showVideo(ActivityStackManager.getInstance().topActivity) { function0.invoke() } }.setNegativeButton("取消") { dialog, which -> dialog.dismiss() }.create().show() .setPositiveButton("观看视频") { dialog, which ->
onAdDialogInvoke(function0)
}.setNegativeButton("取消") { dialog, which -> dialog.dismiss() }
.create().show()
return return
} else { } else {
csjAd.showVideo(ActivityStackManager.getInstance().topActivity) { function0.invoke() } onAdDialogInvoke(function0)
} }
} }
...@@ -61,8 +71,26 @@ object ReaderManager { ...@@ -61,8 +71,26 @@ object ReaderManager {
* 阅读⻚定时弹窗广告 (激励视频) * 阅读⻚定时弹窗广告 (激励视频)
*/ */
override fun getReaderDialogAd(view: View, receiver: OnAdViewReceiver, dialog: Dialog?) { override fun getReaderDialogAd(view: View, receiver: OnAdViewReceiver, dialog: Dialog?) {
csjAd.loadVideoAd(ActivityStackManager.getInstance().topActivity, receiver) if (isCsjAd) {
curVedioAd = csjVedioAD
csjAd.loadVideoAd(ActivityStackManager.getInstance().topActivity, receiver)
} else {
curVedioAd = ylhVedioAD
ylhAd.loadVideoAd(ActivityStackManager.getInstance().topActivity, receiver)
}
// isCsjAd = !isCsjAd
} }
}) })
} }
private fun onAdDialogInvoke(function0: () -> Unit) {
when(curVedioAd){
csjVedioAD ->{
csjAd.showVideo(ActivityStackManager.getInstance().topActivity) {function0.invoke()}
}
ylhVedioAD ->{
ylhAd.showVideo(ActivityStackManager.getInstance().topActivity) { function0.invoke() }
}
}
}
} }
\ No newline at end of file
...@@ -32,13 +32,13 @@ class ReaderFragment : LazyLoadBaseFragment(), BookView, OnReadCallBack { ...@@ -32,13 +32,13 @@ class ReaderFragment : LazyLoadBaseFragment(), BookView, OnReadCallBack {
override fun onFragmentFirstVisible() { override fun onFragmentFirstVisible() {
bookPresenter.attachView(this) bookPresenter.attachView(this)
// val transaction: FragmentTransaction = supportFragmentManager.beginTransaction() val transaction: FragmentTransaction = supportFragmentManager.beginTransaction()
// transaction.add(R.id.fragment, wellChosenFragment, ReaderFragment::class.java.simpleName) transaction.add(R.id.fragment, wellChosenFragment, ReaderFragment::class.java.simpleName)
// transaction.show(wellChosenFragment) transaction.show(wellChosenFragment)
// transaction.commitAllowingStateLoss() transaction.commitAllowingStateLoss()
//
// //间隔30秒 回调一次 间隔任意设置 //间隔30秒 回调一次 间隔任意设置
// ChineseAllReaderApplication.setOnReadCallBack(this, 30 * 1000) ChineseAllReaderApplication.setOnReadCallBack(this, 30 * 1000)
} }
override fun onFragmentResume() { override fun onFragmentResume() {
......
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