Commit 9c6f453d authored by mengcuiguang's avatar mengcuiguang

添加闪电盒子

parent 1c13d8ef
...@@ -9,8 +9,8 @@ android { ...@@ -9,8 +9,8 @@ android {
applicationId "com.mints.goodmoney" applicationId "com.mints.goodmoney"
minSdkVersion rootProject.ext.androidMinSdkVersion minSdkVersion rootProject.ext.androidMinSdkVersion
targetSdkVersion rootProject.ext.androidTargetSdkVersion targetSdkVersion rootProject.ext.androidTargetSdkVersion
versionCode 3 versionCode 4
versionName "1.0.2" versionName "1.0.3"
flavorDimensions "default" flavorDimensions "default"
// dex突破65535的限制 // dex突破65535的限制
...@@ -233,6 +233,8 @@ dependencies { ...@@ -233,6 +233,8 @@ dependencies {
implementation 'androidx.fragment:fragment:1.0.0' implementation 'androidx.fragment:fragment:1.0.0'
// 变现猫 // 变现猫
implementation(name: 'bxmsdk-release-3.0.0-csj3300', ext: 'aar') implementation(name: 'bxmsdk-release-3.0.0-csj3300', ext: 'aar')
// 闪电盒子
implementation(name: 'wannuosili_ad_2.0.0', ext: 'aar')
// testImplementation 'junit:junit:4.13' // testImplementation 'junit:junit:4.13'
......
...@@ -480,4 +480,13 @@ ...@@ -480,4 +480,13 @@
-keep class android.support.v4.app.NotificationCompat**{ -keep class android.support.v4.app.NotificationCompat**{
public *; public *;
} }
# ======================= 变现猫 END ================ # ======================= 变现猫 END ================
\ No newline at end of file
# ===================== 闪电盒子 START ================
-keep class com.wannuosili.sdk.** {*;}
-dontwarn com.wannuosili.sdk.**
# ======================= 闪电盒子 END ================
\ No newline at end of file
...@@ -311,6 +311,18 @@ ...@@ -311,6 +311,18 @@
android:configChanges="keyboard|keyboardHidden|orientation|screenSize" android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:screenOrientation="landscape" android:screenOrientation="landscape"
tools:replace="android:screenOrientation" /> tools:replace="android:screenOrientation" />
<!-- 闪电盒子广告 -->
<provider
android:name="com.wannuosili.sdk.ad.component.WNFileProvider"
android:authorities="${applicationId}.WNFileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/wn_file_paths" />
</provider>
</application> </application>
</manifest> </manifest>
\ No newline at end of file
...@@ -16,6 +16,7 @@ import com.mints.goodmoney.common.Constant; ...@@ -16,6 +16,7 @@ import com.mints.goodmoney.common.Constant;
import com.mints.goodmoney.manager.LiebaoManager; import com.mints.goodmoney.manager.LiebaoManager;
import com.mints.goodmoney.manager.MiitHelper; import com.mints.goodmoney.manager.MiitHelper;
import com.mints.goodmoney.manager.TtCsjAdManager; import com.mints.goodmoney.manager.TtCsjAdManager;
import com.mints.goodmoney.manager.WnManager;
import com.mints.goodmoney.manager.YlVideoManager; import com.mints.goodmoney.manager.YlVideoManager;
import com.mints.goodmoney.manager.YlhAdManager; import com.mints.goodmoney.manager.YlhAdManager;
import com.mints.goodmoney.net.LoanService; import com.mints.goodmoney.net.LoanService;
...@@ -118,6 +119,9 @@ public class MintsApplication extends MultiDexApplication { ...@@ -118,6 +119,9 @@ public class MintsApplication extends MultiDexApplication {
// 穿山甲 // 穿山甲
TtCsjAdManager.init(this); TtCsjAdManager.init(this);
// 闪电盒子
WnManager.INSTANCE.initWn(this);
// 一览视频 // 一览视频
YlVideoManager.INSTANCE.init(this); YlVideoManager.INSTANCE.init(this);
......
...@@ -5,12 +5,14 @@ import android.content.DialogInterface ...@@ -5,12 +5,14 @@ import android.content.DialogInterface
import android.text.TextUtils import android.text.TextUtils
import android.view.KeyEvent import android.view.KeyEvent
import com.mints.goodmoney.MintsApplication import com.mints.goodmoney.MintsApplication
import com.mints.goodmoney.common.Constant
import com.mints.goodmoney.mvp.views.BaseView import com.mints.goodmoney.mvp.views.BaseView
import com.mints.goodmoney.ui.widgets.LoadingDialog import com.mints.goodmoney.ui.widgets.LoadingDialog
import com.mints.goodmoney.utils.ToastUtil import com.mints.goodmoney.utils.ToastUtil
import java.util.HashMap
open class BaseVideoAd(activity: Activity) : BaseView { open class BaseVideoAd(activity: Activity) : BaseView {
var activity: Activity open var activity: Activity? = null
var progressDialog: LoadingDialog? = null var progressDialog: LoadingDialog? = null
init { init {
...@@ -18,7 +20,7 @@ open class BaseVideoAd(activity: Activity) : BaseView { ...@@ -18,7 +20,7 @@ open class BaseVideoAd(activity: Activity) : BaseView {
} }
override fun getBaseApplication(): MintsApplication { override fun getBaseApplication(): MintsApplication {
return activity.getApplication() as MintsApplication return activity?.getApplication() as MintsApplication
} }
/** /**
...@@ -27,15 +29,18 @@ open class BaseVideoAd(activity: Activity) : BaseView { ...@@ -27,15 +29,18 @@ open class BaseVideoAd(activity: Activity) : BaseView {
* @param message * @param message
*/ */
override fun showLoading(message: String?) { override fun showLoading(message: String?) {
if (activity.getWindow() != null && !activity.isFinishing()) { if (activity != null) {
if (progressDialog == null) { if (activity!!.getWindow() != null && !activity!!.isFinishing()) {
progressDialog = LoadingDialog(activity) if (progressDialog == null) {
progressDialog!!.setLoadText(message) progressDialog = LoadingDialog(activity)
progressDialog!!.setLoadText(message)
}
progressDialog?.show()
setProgressOnTouchOutside(false)
setProgressNoDismiss()
} }
progressDialog?.show()
setProgressOnTouchOutside(false)
setProgressNoDismiss()
} }
} }
/** /**
...@@ -65,10 +70,12 @@ open class BaseVideoAd(activity: Activity) : BaseView { ...@@ -65,10 +70,12 @@ open class BaseVideoAd(activity: Activity) : BaseView {
*/ */
override fun hideLoading() { override fun hideLoading() {
try { try {
if (activity.getWindow() != null && !activity.isFinishing()) { if (activity != null) {
if (progressDialog != null && progressDialog!!.isShowing()) { if (activity!!.getWindow() != null && !activity!!.isFinishing()) {
progressDialog!!.dismiss() if (progressDialog != null && progressDialog!!.isShowing()) {
progressDialog = null progressDialog!!.dismiss()
progressDialog = null
}
} }
} }
} catch (e: Exception) { } catch (e: Exception) {
...@@ -82,7 +89,27 @@ open class BaseVideoAd(activity: Activity) : BaseView { ...@@ -82,7 +89,27 @@ open class BaseVideoAd(activity: Activity) : BaseView {
if (!TextUtils.isEmpty(msg)) ToastUtil.show(MintsApplication.getContext(), msg) if (!TextUtils.isEmpty(msg)) ToastUtil.show(MintsApplication.getContext(), msg)
} }
open fun loadAd(activity: Activity, curCoin: Int, carrierType: String, extraId: String){} /**
* 激励视频请求接口封装
*/
fun getAdMapVO(carrierType: String, adsource: String, extraId: String?, curCoin: Int): HashMap<String, Any> {
val vo = HashMap<String, Any>()
vo["carrierType"] = carrierType
vo["adtype"] = Constant.ADTYPE_VEDIO
vo["adsource"] = adsource
when (carrierType) {
Constant.CARRIER_VERSUS_VIDEO -> vo["coin"] = curCoin
Constant.CARRIER_HOMEWATER -> vo["waterCoin"] = curCoin
Constant.CARRIER_OFFLINE_DOUBLE -> {
vo["offline_income"] = curCoin
vo["turntableKey"] = extraId!!
}
Constant.CARRIER_CHALLENGE_TURN, Constant.CARRIER_CHALLENGE_CARD -> vo["turntableKey"] = extraId!!
}
return vo
}
open fun loadAd(activity: Activity, curCoin: Int, carrierType: String, extraId: String) {}
open fun onDestory(){} open fun onDestory() {}
} }
\ No newline at end of file
...@@ -12,11 +12,8 @@ import com.mints.goodmoney.manager.TTNativeExpressManager; ...@@ -12,11 +12,8 @@ import com.mints.goodmoney.manager.TTNativeExpressManager;
import com.mints.goodmoney.manager.TrackManager; import com.mints.goodmoney.manager.TrackManager;
import com.mints.goodmoney.manager.TtCsjAdManager; import com.mints.goodmoney.manager.TtCsjAdManager;
import com.mints.goodmoney.manager.UserManager; import com.mints.goodmoney.manager.UserManager;
import com.mints.goodmoney.mvp.presenters.CsjVedioAdPresenter;
import com.mints.goodmoney.mvp.views.VedioAdManagerView;
import com.mints.goodmoney.utils.LogUtil; import com.mints.goodmoney.utils.LogUtil;
import com.mints.goodmoney.utils.MD5; import com.mints.goodmoney.utils.MD5;
import com.mints.goodmoney.utils.SPUtil;
import com.mints.library.utils.json.JsonUtil; import com.mints.library.utils.json.JsonUtil;
import net.grandcentrix.tray.AppPreferences; import net.grandcentrix.tray.AppPreferences;
...@@ -32,7 +29,6 @@ public class CsjVedioAdManager extends BaseVideoAd { ...@@ -32,7 +29,6 @@ public class CsjVedioAdManager extends BaseVideoAd {
private AppPreferences ps; private AppPreferences ps;
private int curCoin; private int curCoin;
private String extraId; private String extraId;
private CsjVedioAdPresenter csjVedioAdPresenter;
private CsjVedioAdListener csjVedioAdListener; private CsjVedioAdListener csjVedioAdListener;
Activity activity; Activity activity;
...@@ -64,9 +60,6 @@ public class CsjVedioAdManager extends BaseVideoAd { ...@@ -64,9 +60,6 @@ public class CsjVedioAdManager extends BaseVideoAd {
TTNativeExpressManager ttNativeExpressManager = new TTNativeExpressManager(); TTNativeExpressManager ttNativeExpressManager = new TTNativeExpressManager();
ttAdNative = ttNativeExpressManager.initTTAd(false); ttAdNative = ttNativeExpressManager.initTTAd(false);
// csjVedioAdPresenter = new CsjVedioAdPresenter();
// csjVedioAdPresenter.attachView(this);
} }
@Override @Override
...@@ -75,11 +68,6 @@ public class CsjVedioAdManager extends BaseVideoAd { ...@@ -75,11 +68,6 @@ public class CsjVedioAdManager extends BaseVideoAd {
mttRewardVideoAd.setRewardAdInteractionListener(null); mttRewardVideoAd.setRewardAdInteractionListener(null);
} }
// if (csjVedioAdPresenter != null) {
// csjVedioAdPresenter.dispose();
// csjVedioAdPresenter.detachView();
// }
activity = null; activity = null;
} }
......
...@@ -23,9 +23,11 @@ public class VedioAdingManager { ...@@ -23,9 +23,11 @@ public class VedioAdingManager {
private VedioAdingListener vedioAdingListener; private VedioAdingListener vedioAdingListener;
private WnVedioAdManager wnVedioAdManager;
private CsjVedioAdManager csjVedioAdManager; private CsjVedioAdManager csjVedioAdManager;
private YlhVedioAdManager ylhVedioAdManager; private YlhVedioAdManager ylhVedioAdManager;
private int wnWeight;
private int ylhWeight; private int ylhWeight;
private int csjVedioWeight; private int csjVedioWeight;
private ArrayList<WeightBean> weightList; private ArrayList<WeightBean> weightList;
...@@ -56,15 +58,17 @@ public class VedioAdingManager { ...@@ -56,15 +58,17 @@ public class VedioAdingManager {
this.activity = activity; this.activity = activity;
csjVedioAdManager = CsjVedioAdManager.getInstance(activity); csjVedioAdManager = CsjVedioAdManager.getInstance(activity);
ylhVedioAdManager = YlhVedioAdManager.getInstance(activity); ylhVedioAdManager = YlhVedioAdManager.getInstance(activity);
wnVedioAdManager = WnVedioAdManager.Companion.getInstance(activity);
weightList = new ArrayList<>(); weightList = new ArrayList<>();
} }
/** /**
* 初始化广告权重 * 初始化广告权重
*/ */
public void initAdWeight(int csjVedioWeight, int ylhWeight) { public void initAdWeight(int csjVedioWeight, int ylhWeight, int wnWeight) {
this.csjVedioWeight = csjVedioWeight; this.csjVedioWeight = csjVedioWeight;
this.ylhWeight = ylhWeight; this.ylhWeight = ylhWeight;
this.wnWeight = wnWeight;
} }
/** /**
...@@ -98,8 +102,10 @@ public class VedioAdingManager { ...@@ -98,8 +102,10 @@ public class VedioAdingManager {
String nextAdType = ""; String nextAdType = "";
if (AppConfig.csjVedioAdCount > 0) { if (AppConfig.csjVedioAdCount > 0) {
nextAdType = Constant.CSJ_VEDIO_AD; nextAdType = Constant.CSJ_VEDIO_AD;
} else { } else if (AppConfig.ylhAdCount > 0) {
nextAdType = Constant.YLH_VEDIO_AD; nextAdType = Constant.YLH_VEDIO_AD;
} else {
nextAdType = Constant.SDHZ_VEDIO_AD;
} }
return nextAdType; return nextAdType;
} }
...@@ -128,6 +134,11 @@ public class VedioAdingManager { ...@@ -128,6 +134,11 @@ public class VedioAdingManager {
// 若没有视频完成数,不加入权重计算范围内 // 若没有视频完成数,不加入权重计算范围内
// 穿山甲激励> 优量汇 // 穿山甲激励> 优量汇
if (AppConfig.wnVedioAdCount > 0) {
weightList.add(new WeightBean(wnWeight, Constant.SDHZ_VEDIO_AD));
weight = weight + wnWeight;
LogUtil.d(TAG, "权重值:sdhzWeight:" + wnWeight);
}
if (AppConfig.csjVedioAdCount > 0) { if (AppConfig.csjVedioAdCount > 0) {
weightList.add(new WeightBean(csjVedioWeight, Constant.CSJ_VEDIO_AD)); weightList.add(new WeightBean(csjVedioWeight, Constant.CSJ_VEDIO_AD));
weight = weight + csjVedioWeight; weight = weight + csjVedioWeight;
...@@ -175,8 +186,9 @@ public class VedioAdingManager { ...@@ -175,8 +186,9 @@ public class VedioAdingManager {
public boolean getVedioFinishFlag() { public boolean getVedioFinishFlag() {
int csjVedioAdCount = AppConfig.csjVedioAdCount; int csjVedioAdCount = AppConfig.csjVedioAdCount;
int ylhAdCount = AppConfig.ylhAdCount; int ylhAdCount = AppConfig.ylhAdCount;
int wnAdCount = AppConfig.wnVedioAdCount;
if (ylhAdCount <= 0 && csjVedioAdCount <= 0) { if (ylhAdCount <= 0 && csjVedioAdCount <= 0 && wnAdCount <= 0) {
// showToast("今日视频已看完,请明天再来吧"); // showToast("今日视频已看完,请明天再来吧");
return true; return true;
} }
...@@ -198,6 +210,12 @@ public class VedioAdingManager { ...@@ -198,6 +210,12 @@ public class VedioAdingManager {
ylhVedioAdManager = null; ylhVedioAdManager = null;
} }
if (wnVedioAdManager != null) {
wnVedioAdManager.setWnVedioAdListener(null);
wnVedioAdManager.onDestory();
wnVedioAdManager = null;
}
activity = null; activity = null;
} }
...@@ -293,6 +311,40 @@ public class VedioAdingManager { ...@@ -293,6 +311,40 @@ public class VedioAdingManager {
} }
}); });
csjVedioAdManager.loadAd(activity, bean.getCurCoin(), bean.getCarrierType(), bean.getExtraId()); csjVedioAdManager.loadAd(activity, bean.getCurCoin(), bean.getCarrierType(), bean.getExtraId());
} else if (TextUtils.equals(vedioAdType, Constant.SDHZ_VEDIO_AD)) {
// 闪电盒子激励视频
if (wnVedioAdManager == null) {
if (activity == null) {
if (vedioAdingListener != null) {
vedioAdingListener.vedioAdingListenerError(Constant.SDHZ_VEDIO_AD);
}
return;
}
wnVedioAdManager = WnVedioAdManager.Companion.getInstance(activity);
}
wnVedioAdManager.setWnVedioAdListener(new WnVedioAdManager.WnVedioAdListener() {
@Override
public void wnVedioAdSuccess() {
AppConfig.wnVedioAdCount--;
if (vedioAdingListener != null) {
vedioAdingListener.vedioAdingListenerSuccess(Constant.SDHZ_VEDIO_AD);
}
}
@Override
public void wnVedioAdFail() {
if (vedioAdingListener != null) {
vedioAdingListener.vedioAdingListenerFail(Constant.SDHZ_VEDIO_AD);
}
}
@Override
public void wnVedioAdDownload() {
isVedioAdDownload = true;
}
});
wnVedioAdManager.loadWnAd(bean.getDownloadCoin(), bean.getCurCoin(), bean.getCarrierType(), bean.getExtraId());
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
......
package com.mints.goodmoney.ad.video
import android.app.Activity
import com.mints.goodmoney.common.Constant
import com.mints.goodmoney.manager.TrackManager
import com.mints.goodmoney.manager.WnManager
import com.mints.goodmoney.mvp.presenters.WnVedioAdPresenter
import com.mints.goodmoney.mvp.views.VedioAdManagerView
import com.mints.goodmoney.utils.LogUtil
import com.wannuosili.sdk.*
import java.util.*
/**
* 闪电盒子视频
*/
class WnVedioAdManager private constructor(activity: Activity) :
BaseVideoAd(activity), VedioAdManagerView {
private val TAG = WnVedioAdManager::class.java.simpleName
lateinit var wnVedioAdPresenter: WnVedioAdPresenter
private var wnVedioAdListener: WnVedioAdListener? = null
private lateinit var mRewardVideoAd: WNRewardVideoAd
private var curCoin = 0
private var extraId: String? = null
private var downloadCoin = 10
private var carrierType = ""
private var isClickScreen: Boolean = true
override var activity: Activity? = null
companion object {
private var _inst: WnVedioAdManager? = null
fun getInstance(activity: Activity): WnVedioAdManager? {
return if (_inst != null) {
_inst
} else {
_inst = WnVedioAdManager(activity)
_inst
}
}
}
init {
init(activity)
}
private fun init(activity: Activity) {
this.activity = activity
wnVedioAdPresenter = WnVedioAdPresenter()
wnVedioAdPresenter.attachView(this)
}
fun loadWnAd(downloadCoin: Int, curCoin: Int, carrierType: String, extraId: String?) {
if (activity == null) {
return
}
isClickScreen = true
this.downloadCoin = downloadCoin
this.carrierType = carrierType
this.curCoin = curCoin
this.extraId = extraId
var postId: String = ""
when (carrierType) {
Constant.CARRIER_VERSUS_VIDEO -> postId = WnManager.WN_AD_VEDIO_MAIN_POSTID
Constant.CARRIER_HOMEWATER -> postId = WnManager.WN_AD_VEDIO_DRINK_POSTID
Constant.CARRIER_CHALLENGE_TURN -> postId = WnManager.WN_AD_VEDIO_TURNABLE_POSTID
Constant.CARRIER_CHALLENGE_CARD -> postId = WnManager.WN_AD_VEDIO_ERASE_POSTID
else -> postId = WnManager.WN_AD_VEDIO_MOREDIALOG_POSTID
}
val slot = WNAdSlot.Builder()
.setSlotId(postId)
.setOrientation(WNAdConstant.REWARD_VIDEO_AD_PORTRAIT)
.build()
WNAdSdk.getAdManager().loadRewardVideoAd(slot, object : WNRewardVideoAd.RewardVideoAdListener {
override fun onError(code: Int, message: String) {
LogUtil.d(TAG, "onError $code:$message")
TrackManager.getInstance().addCallImp(Constant.AD_SOURCE_SDHZ, Constant.EVENT_TYPE_ONE, (code).toString(), message)
if (wnVedioAdListener != null) {
wnVedioAdListener?.wnVedioAdFail()
}
}
override fun onLoad(ad: WNRewardVideoAd) {
ad.interactionListener = object : WNRewardVideoAd.InteractionListener {
override fun onAdShow() {
TrackManager.getInstance().addCallImp(Constant.AD_SOURCE_SDHZ, Constant.EVENT_TYPE_ZERO, "", "")
}
override fun onAdClick() {
TrackManager.getInstance().addCallImp(Constant.AD_SOURCE_SDHZ, Constant.EVENT_TYPE_TWO, "", "")
if (isClickScreen) {
// 防止重复
TrackManager.getInstance().addCallImp(Constant.AD_SOURCE_SDHZ, Constant.EVENT_TYPE_FOUR, "", "")
isClickScreen = false
}
if (wnVedioAdListener != null) {
wnVedioAdListener?.wnVedioAdDownload()
}
}
override fun onAdClose() {
wnVedioAdPresenter.reportAddCoinMsg(activity, getAdMapVO(carrierType,Constant.AD_SOURCE_SDHZ,extraId,curCoin))
TrackManager.getInstance().addCallImp(Constant.AD_SOURCE_SDHZ, Constant.EVENT_TYPE_THREE, "", "")
if (wnVedioAdListener != null) {
wnVedioAdListener?.wnVedioAdSuccess()
}
}
override fun onVideoComplete() {
}
override fun onRewardVerify(rewardVerify: Boolean, rewardAmount: Int, rewardName: String) {
}
}
if (ad.type == WNAdConstant.AD_TYPE_DOWNLOAD) {
ad.downloadListener = object : WNAdDownloadListener {
override fun onDownloadStarted(totalBytes: Long, fileName: String, appName: String) {
showToast("开始下载")
}
override fun onDownloadFinished(totalBytes: Long, fileName: String, appName: String) {
}
override fun onDownloadFailed(fileName: String, appName: String) {
}
}
}
mRewardVideoAd = ad
mRewardVideoAd.showRewardVideoAd(activity)
}
})
}
fun setWnVedioAdListener(wnVedioAdListener: WnVedioAdListener?) {
this.wnVedioAdListener = wnVedioAdListener
}
interface WnVedioAdListener {
fun wnVedioAdSuccess()
fun wnVedioAdFail()
fun wnVedioAdDownload()
}
override fun onDestory() {
wnVedioAdPresenter.dispose()
wnVedioAdPresenter.detachView()
activity = null
}
}
\ No newline at end of file
...@@ -147,9 +147,9 @@ public class YlhVedioAdManager extends BaseVideoAd implements VedioAdManagerView ...@@ -147,9 +147,9 @@ public class YlhVedioAdManager extends BaseVideoAd implements VedioAdManagerView
@Override @Override
public void onReward() {//激励视频广告激励发放 public void onReward() {//激励视频广告激励发放
if (activity != null) { // if (activity != null) {
ylhVedioAdPresenter.reportAddCoinMsg(activity, getAdMapVO(carrierType)); // ylhVedioAdPresenter.reportAddCoinMsg(activity, getAdMapVO(carrierType));
} // }
} }
@Override @Override
...@@ -175,6 +175,8 @@ public class YlhVedioAdManager extends BaseVideoAd implements VedioAdManagerView ...@@ -175,6 +175,8 @@ public class YlhVedioAdManager extends BaseVideoAd implements VedioAdManagerView
public void onADClose() {//激励视频广告被关闭 public void onADClose() {//激励视频广告被关闭
TrackManager.getInstance().addCallImp(Constant.AD_SOURCE_YLH, Constant.EVENT_TYPE_THREE, "", ""); TrackManager.getInstance().addCallImp(Constant.AD_SOURCE_YLH, Constant.EVENT_TYPE_THREE, "", "");
ylhVedioAdPresenter.reportAddCoinMsg(activity, getAdMapVO(carrierType,Constant.AD_SOURCE_YLH,extraId,curCoin));
if (ylhVedioAdListener != null) { if (ylhVedioAdListener != null) {
ylhVedioAdListener.ylhVedioAdSuccess(); ylhVedioAdListener.ylhVedioAdSuccess();
} }
...@@ -198,35 +200,6 @@ public class YlhVedioAdManager extends BaseVideoAd implements VedioAdManagerView ...@@ -198,35 +200,6 @@ public class YlhVedioAdManager extends BaseVideoAd implements VedioAdManagerView
rewardVideoAD.loadAD(); rewardVideoAD.loadAD();
} }
/**
* 第四步 封装广告数据,请求服务器
*
* @param carrierType
* @return
*/
private HashMap<String, Object> getAdMapVO(String carrierType) {
HashMap<String, Object> vo = new HashMap<>();
vo.put("carrierType", carrierType);
vo.put("adtype", Constant.ADTYPE_VEDIO);
vo.put("adsource", Constant.AD_SOURCE_YLH);
switch (carrierType) {
case Constant.CARRIER_VERSUS_VIDEO:// 每日任务-视频
vo.put("coin", curCoin);
break;
case Constant.CARRIER_HOMEWATER:// 首页喝水汽泡
vo.put("waterCoin", curCoin);
break;
case Constant.CARRIER_OFFLINE_DOUBLE:// 离线收益翻倍
vo.put("offline_income", curCoin);
case Constant.CARRIER_CHALLENGE_TURN:// 挑战大转盘
case Constant.CARRIER_CHALLENGE_CARD:// 挑战刮刮乐
vo.put("turntableKey", extraId);
break;
}
return vo;
}
public void setYlhVedioAdListener(YlhVedioAdListener ylhVedioAdListener) { public void setYlhVedioAdListener(YlhVedioAdListener ylhVedioAdListener) {
this.ylhVedioAdListener = ylhVedioAdListener; this.ylhVedioAdListener = ylhVedioAdListener;
} }
......
...@@ -27,5 +27,9 @@ public class AppConfig { ...@@ -27,5 +27,9 @@ public class AppConfig {
* csjVedio 剩余广告播放数 * csjVedio 剩余广告播放数
*/ */
public static int csjVedioAdCount = 5; public static int csjVedioAdCount = 5;
/**
* wnVedio 剩余广告播放数
*/
public static int wnVedioAdCount = 5;
} }
...@@ -129,6 +129,7 @@ object Constant { ...@@ -129,6 +129,7 @@ object Constant {
const val AD_SOURCE_CSJ = "CSJ" const val AD_SOURCE_CSJ = "CSJ"
const val AD_SOURCE_YLH = "YLH" const val AD_SOURCE_YLH = "YLH"
const val AD_SOURCE_SDHZ = "SDHZ" //闪电盒子
// 调用事件 0 成功 1失败 2点击 3-有效展示 4-去重 // 调用事件 0 成功 1失败 2点击 3-有效展示 4-去重
const val EVENT_TYPE_ZERO = "0" const val EVENT_TYPE_ZERO = "0"
...@@ -146,6 +147,7 @@ object Constant { ...@@ -146,6 +147,7 @@ object Constant {
// 视频广告类型 // 视频广告类型
const val CSJ_VEDIO_AD = "CSJ_VEDIO_AD" const val CSJ_VEDIO_AD = "CSJ_VEDIO_AD"
const val YLH_VEDIO_AD = "YLH_VEDIO_AD" const val YLH_VEDIO_AD = "YLH_VEDIO_AD"
const val SDHZ_VEDIO_AD = "SDHZ_VEDIO_AD"
// 游戏类型 // 游戏类型
......
package com.mints.goodmoney.manager
import android.app.Application
import com.mints.goodmoney.BuildConfig
import com.wannuosili.sdk.WNAdConfig
import com.wannuosili.sdk.WNAdSdk
/**
* 描述:闪电盒子(优量宝)
* 作者:孟崔广
*/
object WnManager {
private const val APP_ID = "10000297"
const val WN_AD_VEDIO_DRINK_POSTID = "100000532009" //喝水打卡
const val WN_AD_VEDIO_MAIN_POSTID = "100000542009" //我的界面视频
const val WN_AD_VEDIO_ERASE_POSTID = "100000552009" //刮刮乐
const val WN_AD_VEDIO_TURNABLE_POSTID = "100000562009" //大转盘
const val WN_AD_VEDIO_MOREDIALOG_POSTID = "100000572009" //签到、气泡、离线弹框
/**
* 初始化
*/
fun initWn(application: Application) {
WNAdSdk.initialize(WNAdConfig.Builder()
.setAppId(APP_ID) // 平台申请的appId
.setDebug(BuildConfig.DEBUG) // 是否是debug模式, 默认为false
.setContext(application)
.build())
}
fun setOaid(oaid: String) {
WNAdSdk.setOaid(oaid)
}
}
\ No newline at end of file
...@@ -6,6 +6,7 @@ public class VedioRulesBean implements Serializable { ...@@ -6,6 +6,7 @@ public class VedioRulesBean implements Serializable {
private CsjVedioBean CSJ_VEDIO; private CsjVedioBean CSJ_VEDIO;
private YlhVedioBean YLH_VEDIO; private YlhVedioBean YLH_VEDIO;
private SdhzVedioBean SDHZ_VEDIO;
public class CsjVedioBean implements Serializable{ public class CsjVedioBean implements Serializable{
private int surplus;//剩余可看视频数 private int surplus;//剩余可看视频数
...@@ -33,6 +34,19 @@ public class VedioRulesBean implements Serializable { ...@@ -33,6 +34,19 @@ public class VedioRulesBean implements Serializable {
} }
} }
public class SdhzVedioBean implements Serializable{
private int surplus;
private int rate;
public int getSurplus() {
return surplus;
}
public int getRate() {
return rate;
}
}
public CsjVedioBean getCSJ_VEDIO() { public CsjVedioBean getCSJ_VEDIO() {
return CSJ_VEDIO; return CSJ_VEDIO;
} }
...@@ -40,4 +54,8 @@ public class VedioRulesBean implements Serializable { ...@@ -40,4 +54,8 @@ public class VedioRulesBean implements Serializable {
public YlhVedioBean getYLH_VEDIO() { public YlhVedioBean getYLH_VEDIO() {
return YLH_VEDIO; return YLH_VEDIO;
} }
public SdhzVedioBean getSDHZ_VEDIO() {
return SDHZ_VEDIO;
}
} }
package com.mints.goodmoney.mvp.presenters
import android.app.Activity
import com.mints.goodmoney.MintsApplication
import com.mints.goodmoney.mvp.model.BaseResponse
import com.mints.goodmoney.mvp.views.VedioAdManagerView
import com.mints.library.net.neterror.BaseSubscriber
import com.mints.library.net.neterror.Throwable
import rx.Subscription
import rx.android.schedulers.AndroidSchedulers
import java.util.*
class WnVedioAdPresenter : BasePresenter<VedioAdManagerView>() {
fun reportAddCoinMsg(activity: Activity?, vo: HashMap<String, Any>) {
if (activity == null) return
loanApplication = activity.application as MintsApplication
loanService = loanApplication.getLoanService()
subscription = loanService.reportAddCoinMsg(vo)
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(loanApplication.defaultSubscribeScheduler())
.subscribe(object : BaseSubscriber<BaseResponse<Any>>() {
override fun onCompleted() {}
override fun onError(e: Throwable) {
}
override fun onNext(baseResponse: BaseResponse<Any>) {}
})
}
fun dispose() {
loanService = null
loanApplication = null
if (subscription != null && !subscription.isUnsubscribed()) {
subscription.unsubscribe()
}
}
}
\ No newline at end of file
...@@ -15,6 +15,7 @@ import com.mints.goodmoney.manager.ShumeiManager ...@@ -15,6 +15,7 @@ import com.mints.goodmoney.manager.ShumeiManager
import com.mints.goodmoney.manager.TTPreLoadCarrierExpressManager import com.mints.goodmoney.manager.TTPreLoadCarrierExpressManager
import com.mints.goodmoney.manager.TTPreLoadExpressManager import com.mints.goodmoney.manager.TTPreLoadExpressManager
import com.mints.goodmoney.manager.UserManager import com.mints.goodmoney.manager.UserManager
import com.mints.goodmoney.manager.WnManager
import com.mints.goodmoney.mvp.model.MainVedioMsgBean import com.mints.goodmoney.mvp.model.MainVedioMsgBean
import com.mints.goodmoney.mvp.model.UserTaskMsgBean import com.mints.goodmoney.mvp.model.UserTaskMsgBean
import com.mints.goodmoney.mvp.presenters.HomePresenter import com.mints.goodmoney.mvp.presenters.HomePresenter
...@@ -194,12 +195,14 @@ class MainFragment : BaseFragment(), HomeView, View.OnClickListener { ...@@ -194,12 +195,14 @@ class MainFragment : BaseFragment(), HomeView, View.OnClickListener {
// 设置视频权限 // 设置视频权限
vedioAdingManager?.initAdWeight(data.vedioRules.csJ_VEDIO.rate, data.vedioRules.ylH_VEDIO.rate) // vedioAdingManager?.initAdWeight(data.vedioRules.csJ_VEDIO.rate, data.vedioRules.ylH_VEDIO.rate,data.vedioRules.sdhZ_VEDIO.rate)
LogUtil.d(TAG, "首页权重值:csjWeight:${data.vedioRules.csJ_VEDIO.rate} ylhWeight:${data.vedioRules.ylH_VEDIO.rate}") vedioAdingManager?.initAdWeight(data.vedioRules.csJ_VEDIO.rate, data.vedioRules.ylH_VEDIO.rate,0)
// LogUtil.d(TAG, "首页权重值:csjWeight:${data.vedioRules.csJ_VEDIO.rate} ylhWeight:${data.vedioRules.ylH_VEDIO.rate} sdhzWeight:${data.vedioRules.sdhZ_VEDIO.rate}")
// 广告视频数 // 广告视频数
AppConfig.csjVedioAdCount = data.vedioRules.csJ_VEDIO.surplus AppConfig.csjVedioAdCount = data.vedioRules.csJ_VEDIO.surplus
AppConfig.ylhAdCount = data.vedioRules.ylH_VEDIO.surplus AppConfig.ylhAdCount = data.vedioRules.ylH_VEDIO.surplus
LogUtil.d(TAG, "首页视频数:csjCount:${AppConfig.csjVedioAdCount} ylhCount:${AppConfig.ylhAdCount}") // AppConfig.wnVedioAdCount = data.vedioRules.sdhZ_VEDIO.surplus
LogUtil.d(TAG, "首页视频数:csjCount:${AppConfig.csjVedioAdCount} ylhCount:${AppConfig.ylhAdCount} sdhzCount:${AppConfig.wnVedioAdCount}")
// 调用金币视频信息接口 // 调用金币视频信息接口
homePresenter.getHomeVedioMsg() homePresenter.getHomeVedioMsg()
...@@ -254,6 +257,11 @@ class MainFragment : BaseFragment(), HomeView, View.OnClickListener { ...@@ -254,6 +257,11 @@ class MainFragment : BaseFragment(), HomeView, View.OnClickListener {
// 数美初始化 // 数美初始化
ShumeiManager.getInstance().initShumei() ShumeiManager.getInstance().initShumei()
} }
//闪电盒子传入oaid
if (!TextUtils.isEmpty(MintsApplication.OAID)) {
WnManager.setOaid(MintsApplication.OAID)
}
} }
/** /**
......
...@@ -386,13 +386,13 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi ...@@ -386,13 +386,13 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi
} }
item_title_avatar.setImageResource(R.mipmap.ic_my) item_title_avatar.setImageResource(R.mipmap.ic_my)
} }
if (BuildConfig.DEBUG) {
item_title_invitecode.text = "-" + item_title_invitecode.text
}
var userGold = "0.00" var userGold = "0.00"
if (userConfig != null) { if (userConfig != null) {
item_title_invitecode.text = "邀请码:" + userConfig!!.userMsg.idcode if (BuildConfig.DEBUG) {
item_title_invitecode.text = "-邀请码:" + userConfig!!.userMsg.idcode
} else {
item_title_invitecode.text = "邀请码:" + userConfig!!.userMsg.idcode
}
val allcoinBig = BigDecimal(userConfig!!.userMsg.coin.toString()) val allcoinBig = BigDecimal(userConfig!!.userMsg.coin.toString())
val rateBig = BigDecimal("10000") val rateBig = BigDecimal("10000")
val cashStr: String = allcoinBig.divide(rateBig).setScale(2, BigDecimal.ROUND_DOWN).toString() val cashStr: String = allcoinBig.divide(rateBig).setScale(2, BigDecimal.ROUND_DOWN).toString()
...@@ -619,39 +619,41 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi ...@@ -619,39 +619,41 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi
if (hotList!!.isNotEmpty()) { if (hotList!!.isNotEmpty()) {
val hotBean: BannerBean.ListBean = hotList!![position] val hotBean: BannerBean.ListBean = hotList!![position]
// 自有界面 if (!TextUtils.isEmpty(hotBean.toUrl)) {
when (hotBean.toUrl) { // 自有界面
Constant.HOT_ACTIVITY_WATER -> { when (hotBean.toUrl) {
TTPreLoadCarrierExpressManager.getInstance().loadTtFrameLayout(TtCsjAdManager.TT_AD_NATIVEEXPRESS_WATER) Constant.HOT_ACTIVITY_WATER -> {
readyGo(WaterActivity::class.java) TTPreLoadCarrierExpressManager.getInstance().loadTtFrameLayout(TtCsjAdManager.TT_AD_NATIVEEXPRESS_WATER)
} readyGo(WaterActivity::class.java)
Constant.HOT_ACTIVITY_WALK -> { }
TTPreLoadCarrierExpressManager.getInstance().loadTtFrameLayout(TtCsjAdManager.TT_AD_NATIVEEXPRESS_WALK) Constant.HOT_ACTIVITY_WALK -> {
readyGo(WalkActivity::class.java) TTPreLoadCarrierExpressManager.getInstance().loadTtFrameLayout(TtCsjAdManager.TT_AD_NATIVEEXPRESS_WALK)
} readyGo(WalkActivity::class.java)
Constant.HOT_ACTIVITY_CARD -> { }
readyGo(EraseActivity::class.java) Constant.HOT_ACTIVITY_CARD -> {
} readyGo(EraseActivity::class.java)
Constant.HOT_ACTIVITY_LIEBAO -> { }
readyGo(LiebaoGameActivity::class.java) Constant.HOT_ACTIVITY_LIEBAO -> {
} readyGo(LiebaoGameActivity::class.java)
Constant.HOT_ACTIVITY_MORNINGCLOCK -> { }
TTPreLoadCarrierExpressManager.getInstance().loadTtFrameLayout(TtCsjAdManager.TT_AD_NATIVEEXPRESS_MORNINGCLOCK) Constant.HOT_ACTIVITY_MORNINGCLOCK -> {
readyGo(MorningClockActivity::class.java) TTPreLoadCarrierExpressManager.getInstance().loadTtFrameLayout(TtCsjAdManager.TT_AD_NATIVEEXPRESS_MORNINGCLOCK)
} readyGo(MorningClockActivity::class.java)
Constant.HOT_ACTIVITY_BXM -> { }
// 消费变现猫事件 Constant.HOT_ACTIVITY_BXM -> {
} // 消费变现猫事件
Constant.HOT_ACTIVITY_EAT -> { }
TTPreLoadCarrierExpressManager.getInstance().loadTtFrameLayout(TtCsjAdManager.TT_AD_NATIVEEXPRESS_EAT) Constant.HOT_ACTIVITY_EAT -> {
readyGo(FoodSubsidyActivity::class.java) TTPreLoadCarrierExpressManager.getInstance().loadTtFrameLayout(TtCsjAdManager.TT_AD_NATIVEEXPRESS_EAT)
} readyGo(FoodSubsidyActivity::class.java)
else -> { }
if (!TextUtils.isEmpty(hotBean.url) && !TextUtils.isEmpty(hotBean.title)) { else -> {
val bundle = Bundle() if (!TextUtils.isEmpty(hotBean.url) && !TextUtils.isEmpty(hotBean.title)) {
bundle.putString(WebActivity.WEB_TITLE, hotBean.title) val bundle = Bundle()
bundle.putString(WebActivity.WEB_URL, hotBean.url) bundle.putString(WebActivity.WEB_TITLE, hotBean.title)
readyGo(WebActivity::class.java, bundle) bundle.putString(WebActivity.WEB_URL, hotBean.url)
readyGo(WebActivity::class.java, bundle)
}
} }
} }
} }
......
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<!--为了适配所有路径可以设置 path = "." -->
<external-path name="download" path="." />
<external-files-path name="external_file" path="." />
<external-cache-path name="external_cache" path="." />
<files-path name="files" path="." />
<cache-path name="cache" path="。" />
</paths>
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