Commit cec9b7ce authored by wangxuewei's avatar wangxuewei

[提交人]:王雪伟

[提交简述] :幸福农场
[实现方案] :更新小满广点通广告加载方法
加入红包弹窗功能。
parent b5f61ae7
......@@ -5,6 +5,7 @@ import android.content.Intent
import android.os.Bundle
import android.text.TextUtils
import android.util.Log
import android.view.View
import com.bx.adsdk.AdSdk
import com.game.luckyfarm.UnityPlayerActivity
import com.umeng.analytics.MobclickAgent
......@@ -38,6 +39,7 @@ import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import org.jetbrains.anko.act
import java.lang.reflect.Method
import java.text.DecimalFormat
/**
* @author (wangXuewei)
......@@ -855,6 +857,141 @@ class GameActivity : UnityPlayerActivity(), IDialogViewCloseCallback {
})
}
fun onGetRedPackList(callback: IUnitySendMessageCallback?) {
GameApiClient.gameApi.getRedPackList()
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<List<RedPackListEntity>>() {
override fun onSuccess(result: List<RedPackListEntity>?) {
if (result != null) {
Log.d(
"wxw",
"redPack===" + "{\"redPackList\":" + Utils.obj2Str(result) + "}"
)
callback?.onRedPackListSuccess(
true,
"{\"redPackList\":" + Utils.obj2Str(result) + "}"
)
}
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
callback?.onRedPackListSuccess(
false,
"红包列表失败"
)
}
})
}
fun onRedPackReceive(redPackId: Int, moneyNum: String) {
Log.d("wxw", "redId" + redPackId)
GameApiClient.gameApi.getRedPackReceive(redPackId)
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<RedPackReceiveEntity>() {
override fun onSuccess(result: RedPackReceiveEntity?) {
if (result != null) {
callUnity("RedPackList", "redPackListDataUpdate", "")
callUnity("TitleView", "getHomeInfo", "")
GameEvent("show_receive_redPack_dialog_success","展示红包领取弹窗成功")
//签到双倍领取弹窗显示
CenterDialog.getTaskRewardDialog(
act,
"+${moneyNum}元",
View.OnClickListener {
GameEvent("click_receive_redPack_double","点击六倍领取")
Log.d("wxw", "签到翻倍广告点击")
AdManager.loadRewardVideoAd(
ADConfig.AD_REWARD_VIDIO,
act,
object : ZXADVideoListener {
override fun onFail() {
}
override fun onSuccess() {
}
override fun onError() {
}
override fun onRewardVideoCached() {
}
override fun setRewardAdInteractionListener() {
}
override fun onRewardVerify() {
}
override fun onVideoError() {
// showToponWaterVideo()
}
override fun onRewardVideoAdLoad() {
}
override fun onRewardVideoAdLoad(entity: NewsEntity) {
}
override fun onAdShow() {
}
override fun onAdVideoBarClick(newsEntity: NewsEntity) {
}
override fun onAdClose() {
//看视频上报
getVideoAcceleratorsReceive();
onRedPackAwardReceive(result.doubleX.multipleSid)
}
override fun onVideoComplete() {
}
override fun onSkippedVideo() {
}
override fun onFullScreenVideoCached() {
}
override fun onLoadVideoAd(rewardVideoAD: ZXADRewardVideo) {
}
})
})
}
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
GameEvent("show_receive_redPack_dialog_fail","展示红包领取弹窗失败")
}
})
}
fun onRedPackAwardReceive(doubleId: String) {
Log.d("wxw", "double" + doubleId)
GameApiClient.gameApi.getRedPackAwardReceive(doubleId)
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<RedPackDoubleReceiveEntity>() {
override fun onSuccess(result: RedPackDoubleReceiveEntity?) {
if (result != null) {
GameEvent("show_receive_redPack_double_success","六倍领取成功")
var allMoneyNum =
"总共获得奖励+${result.rewardContentList[0].totalRewardNum / 100.toDouble()}元";
ToastUtil.showImageToas(act, allMoneyNum)
callUnity("RedPackList", "redPackListDataUpdate", "")
}
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
GameEvent("show_receive_redPack_double_fail","六倍领取失败")
}
})
}
fun GameEvent(keyName: String, valueName: String) {
EventUtils.onEvent(keyName, valueName);
}
......
......@@ -8,27 +8,40 @@ package com.ym.game
interface IUnitySendMessageCallback {
//主页
fun onHomeSuccess(isSuccess: Boolean, result: String)
//云朵加速
fun onCloudSpeedSuccess(isSuccess: Boolean, result: String)
//土地列表
fun onFarmLandListSuccess(isSuccess: Boolean, result: String)
//土地解锁,种植,收获
fun onLandUnLockSuccess(isSuccess: Boolean, result: String)
//使用加速剂
fun onUseAcceleratorsSuccess(isSuccess: Boolean, result: String)
//购买种子
fun onBuySeedSuccess(isSuccess: Boolean, result: String)
//仓库
fun onHomeWareListSuccess(isSuccess: Boolean, result: String)
//订单列表
fun onOrderListSuccess(isSuccess: Boolean, result: String)
//订单领取
fun onOrderReceiveSuccess(isSuccess: Boolean, result: String)
//看视频获得种子
fun onIncrVideoSeedSuccess(isSuccess: Boolean, result: String)
//看视频获得加速剂
fun onIncrVideoAcceleratorsSuccess(isSuccess: Boolean, result: String)
//看视频获得宝箱奖励
fun onAdFlyBoxSuccess(isSuccess: Boolean, result: String)
//红包列表成功
fun onRedPackListSuccess(isSuccess: Boolean, result: String)
}
\ No newline at end of file
......@@ -32,7 +32,7 @@ class BaseApplication : MultiDexApplication() {
//第一步初始化 application
AppliContext.init(this)
// Config.init(this)
NetConfig.setBase_Url(NetConfig.Environment.DEV)// TODO 上线之后提成成 NetConfig.Environment.PRODUCT
NetConfig.setBase_Url(NetConfig.Environment.PRODUCT)// TODO 上线之后提成成 NetConfig.Environment.PRODUCT
Constant.appLs = "a03d5320d905cf3b"//applsq
AdManager.init(this)
......
package com.ym.game.module;
import java.util.List;
/**
* @author (wangXuewei)
* @datetime 2020-10-30 19:55 GMT+8
* @detail :
*/
public class RedPackDoubleReceiveEntity {
/**
* recode : 1
* msg : 领取成功
* rewardContentList : [{"rewardNum":200,"totalRewardNum":240,"currencyTypeEnum":"CENT","currencyType":10,"rate":null,"cash":0}]
* overRewardContentList : null
* ore : null
* cents : null
* taskId : null
* centTemp : null
* oreTemp : null
* doublingRpk : null
* ext : null
*/
private int recode;
private String msg;
private Object overRewardContentList;
private Object ore;
private Object cents;
private Object taskId;
private Object centTemp;
private Object oreTemp;
private Object doublingRpk;
private Object ext;
private List<RewardContentListBean> rewardContentList;
public int getRecode() {
return recode;
}
public void setRecode(int recode) {
this.recode = recode;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getOverRewardContentList() {
return overRewardContentList;
}
public void setOverRewardContentList(Object overRewardContentList) {
this.overRewardContentList = overRewardContentList;
}
public Object getOre() {
return ore;
}
public void setOre(Object ore) {
this.ore = ore;
}
public Object getCents() {
return cents;
}
public void setCents(Object cents) {
this.cents = cents;
}
public Object getTaskId() {
return taskId;
}
public void setTaskId(Object taskId) {
this.taskId = taskId;
}
public Object getCentTemp() {
return centTemp;
}
public void setCentTemp(Object centTemp) {
this.centTemp = centTemp;
}
public Object getOreTemp() {
return oreTemp;
}
public void setOreTemp(Object oreTemp) {
this.oreTemp = oreTemp;
}
public Object getDoublingRpk() {
return doublingRpk;
}
public void setDoublingRpk(Object doublingRpk) {
this.doublingRpk = doublingRpk;
}
public Object getExt() {
return ext;
}
public void setExt(Object ext) {
this.ext = ext;
}
public List<RewardContentListBean> getRewardContentList() {
return rewardContentList;
}
public void setRewardContentList(List<RewardContentListBean> rewardContentList) {
this.rewardContentList = rewardContentList;
}
public static class RewardContentListBean {
/**
* rewardNum : 200
* totalRewardNum : 240
* currencyTypeEnum : CENT
* currencyType : 10
* rate : null
* cash : 0
*/
private int rewardNum;
private int totalRewardNum;
private String currencyTypeEnum;
private int currencyType;
private Object rate;
private int cash;
public int getRewardNum() {
return rewardNum;
}
public void setRewardNum(int rewardNum) {
this.rewardNum = rewardNum;
}
public int getTotalRewardNum() {
return totalRewardNum;
}
public void setTotalRewardNum(int totalRewardNum) {
this.totalRewardNum = totalRewardNum;
}
public String getCurrencyTypeEnum() {
return currencyTypeEnum;
}
public void setCurrencyTypeEnum(String currencyTypeEnum) {
this.currencyTypeEnum = currencyTypeEnum;
}
public int getCurrencyType() {
return currencyType;
}
public void setCurrencyType(int currencyType) {
this.currencyType = currencyType;
}
public Object getRate() {
return rate;
}
public void setRate(Object rate) {
this.rate = rate;
}
public int getCash() {
return cash;
}
public void setCash(int cash) {
this.cash = cash;
}
}
}
package com.ym.game.module;
/**
* @author (wangXuewei)
* @datetime 2020-10-30 16:21 GMT+8
* @detail :
*/
public class RedPackListEntity {
/**
* id : 1
* coins : 100
* countDownSecond : 0
* totalSecond : 180
*/
private int id;
private int coins;
private int countDownSecond;
private int totalSecond;
private String coinsStr;
public String getCoinsStr() {
return coinsStr;
}
public void setCoinsStr(String coinsStr) {
this.coinsStr = coinsStr;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getCoins() {
return coins;
}
public void setCoins(int coins) {
this.coins = coins;
}
public int getCountDownSecond() {
return countDownSecond;
}
public void setCountDownSecond(int countDownSecond) {
this.countDownSecond = countDownSecond;
}
public int getTotalSecond() {
return totalSecond;
}
public void setTotalSecond(int totalSecond) {
this.totalSecond = totalSecond;
}
}
package com.ym.game.module;
import com.google.gson.annotations.SerializedName;
/**
* @author (wangXuewei)
* @datetime 2020-10-30 19:25 GMT+8
* @detail :
*/
public class RedPackReceiveEntity {
/**
* totalCoins : 240
* totalCents : 37678
* double : {"multipleSid":"70028e066fcc4efda63a8e9f7d403892","buttonText":"看视频3-5倍奖励"}
*/
private int totalCoins;
private int totalCents;
@SerializedName("double")
private DoubleBean doubleX;
public int getTotalCoins() {
return totalCoins;
}
public void setTotalCoins(int totalCoins) {
this.totalCoins = totalCoins;
}
public int getTotalCents() {
return totalCents;
}
public void setTotalCents(int totalCents) {
this.totalCents = totalCents;
}
public DoubleBean getDoubleX() {
return doubleX;
}
public void setDoubleX(DoubleBean doubleX) {
this.doubleX = doubleX;
}
public static class DoubleBean {
/**
* multipleSid : 70028e066fcc4efda63a8e9f7d403892
* buttonText : 看视频3-5倍奖励
*/
private String multipleSid;
private String buttonText;
public String getMultipleSid() {
return multipleSid;
}
public void setMultipleSid(String multipleSid) {
this.multipleSid = multipleSid;
}
public String getButtonText() {
return buttonText;
}
public void setButtonText(String buttonText) {
this.buttonText = buttonText;
}
}
}
......@@ -171,4 +171,32 @@ interface IGameApi {
@POST(NetConfig.Game.URL_GAME_FARM_RANK_RECEIVE)
fun getRankReceive(): Observable<Response<RankReceiveEntity>>
/**
* 红包列表
* @param
* @paramq
* @return
*/
@GET(NetConfig.Game.URL_GAME_RED_PACK_LIST)
fun getRedPackList(): Observable<Response<List<RedPackListEntity>>>
/**
* 红包领取
* @param
* @paramq
* @return
*/
@POST(NetConfig.Game.URL_GAME_RED_PACK_RECEIVE)
fun getRedPackReceive(@Query("id") id: Int): Observable<Response<RedPackReceiveEntity>>
/**
* 红包倍数领取
* @param
* @paramq
* @return
*/
@POST(NetConfig.Game.URL_GAME_RED_PACK_AWARD_RECEIVE)
fun getRedPackAwardReceive(@Query("sid") id: String): Observable<Response<RedPackDoubleReceiveEntity>>
}
\ No newline at end of file
......@@ -33,8 +33,8 @@ dependencies {
}
android {
compileSdkVersion 30
buildToolsVersion '30.0.2'
compileSdkVersion 29
buildToolsVersion '29.0.3'
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
......@@ -43,7 +43,7 @@ android {
defaultConfig {
minSdkVersion 21
targetSdkVersion 30
targetSdkVersion 29
ndk {
abiFilters 'armeabi-v7a', 'x86'
}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -92,7 +92,7 @@ dependencies {
api 'com.tencent.bugly:crashreport:latest.release'
api 'com.tencent.bugly:nativecrashreport:latest.release'
api('cn.vlion.inland:inlandmix:9.8.3') {
api('cn.vlion.inland:inlandmix:9.8.2') {
exclude group: 'cn.vlion.inland', module: 'inlandb'
exclude group: 'cn.vlion.inland', module: 'inlandg'
exclude group: 'cn.vlion.inland', module: 'inlands'
......
......@@ -22,23 +22,14 @@
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!--<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />-->
<!--<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />-->
<!-- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<permission
......@@ -53,7 +44,6 @@
<!--必要权限-->
<!--可选权限-->
<uses-permission android:name="android.permission.GET_TASKS" />
<!--可选,穿山甲提供“获取地理位置权限”和“不给予地理位置权限,开发者传入地理位置参数”两种方式上报用户位置,两种方式均可不选,添加位置权限或参数将帮助投放定位广告-->
<!--请注意:无论通过何种方式提供给穿山甲用户地理位置,均需向用户声明地理位置权限将应用于穿山甲广告投放,穿山甲不强制获取地理位置信息-->
......
package com.ym.library.activity
import android.os.SystemClock
import android.util.Log
import com.bx.adsdk.CampaignCallback
import com.bx.adsdk.CampaignFragment
......@@ -35,7 +36,7 @@ class XiaoManActivity : BaseActivity() {
* @param callback CampaignCallback 回调
*/
campaignFragment = CampaignFragment.newInstance(SettingPreference.getToken())
campaignFragment?.setPlaceId("2654")
campaignFragment?.setPlaceId("2758")
campaignFragment?.setCallback(object : CampaignCallback() {
override fun showAd(params: String) {
super.showAd(params)
......@@ -43,6 +44,9 @@ class XiaoManActivity : BaseActivity() {
val adType: String = bridgeBean.adType.toString()
val pId: String = bridgeBean.pid.toString()
val requestId: String = bridgeBean.requestId.toString()
Log.d("xiaoman","wxw"+adType)
Log.d("xiaoman","wxwpId"+pId)
Log.d("xiaoman","wxwrequestId"+requestId)
if (adType.equals("1")) {
showTTAd("5113760", pId, requestId)
} else {
......@@ -101,35 +105,42 @@ class XiaoManActivity : BaseActivity() {
mTTAdNative.loadRewardVideoAd(adSlot, object : TTAdNative.RewardVideoAdListener {
override fun onError(code: Int, message: String) {
Log.d("xiaoman","onError"+code+"message"+message)
campaignFragment?.setVideoError(requestId)
}
//视频广告加载后的视频文件资源缓存到本地的回调
override fun onRewardVideoCached() {}
override fun onRewardVideoCached() {Log.d("xiaoman","onRewardVideoCached")}
//视频广告素材加载到,如title,视频url等,不包括视频文件
override fun onRewardVideoAdLoad(ad: TTRewardVideoAd) {
Log.d("xiaoman","onRewardVideoAdLoad")
ad.setRewardAdInteractionListener(object :
TTRewardVideoAd.RewardAdInteractionListener {
override fun onAdShow() {
Log.d("xiaoman","onAdShow")
campaignFragment?.setVideoLoad(requestId)
EventUtils.onEvent("XIAO_MAN_CSJ_SHOW","小满穿山甲广告展示")
}
override fun onAdVideoBarClick() {
Log.d("xiaoman","onAdVideoBarClick")
EventUtils.onEvent("XIAO_MAN_CSJ_CLICK","小满穿山甲广告点击")
}
override fun onAdClose() {
Log.d("xiaoman","onAdClose")
EventUtils.onEvent("XIAO_MAN_CSJ_CLOSE_CLICK","小满穿山甲广告关闭点击")
campaignFragment?.setVideoClose(requestId)
}
override fun onVideoError() {
Log.d("xiaoman","onVideoError")
campaignFragment?.setVideoError(requestId)
}
override fun onVideoComplete() {
Log.d("xiaoman","onVideoComplete")
campaignFragment?.setVideoComplete(requestId)
}
override fun onRewardVerify(rewardVerify: Boolean, rewardAmount: Int, rewardName: String?) {}
override fun onSkippedVideo() {}
override fun onRewardVerify(rewardVerify: Boolean, rewardAmount: Int, rewardName: String?) { Log.d("xiaoman","onRewardVerify")}
override fun onSkippedVideo() { Log.d("xiaoman","onSkippedVideo")}
})
ad.setDownloadListener(object : TTAppDownloadListener {
override fun onIdle() {}
......@@ -148,82 +159,133 @@ class XiaoManActivity : BaseActivity() {
* 广点通广告
*/
fun showGDTAd(appID: String, pId: String, requestId: String) {
GDTADManager.getInstance().initWith(this@XiaoManActivity, requestId)
// rewardVideoAD = RewardVideoAD(this, appID, pId, object : RewardVideoADListener {
// override fun onADLoad() {
// if (rewardVideoAD != null) rewardVideoAD?.showAD()
// campaignFragment?.setVideoLoad(requestId)
// }
// override fun onVideoCached() {}
// override fun onADShow() {
// EventUtils.onEvent("XIAO_MAN_GDT_SHOW","小满广点通广告展示")
// }
// override fun onADExpose() {}
// override fun onReward() {}
// override fun onADClick() {
// EventUtils.onEvent("XIAO_MAN_GDT_CLICK","小满广点通广告点击")
// }
// override fun onVideoComplete() {
// campaignFragment?.setVideoComplete(requestId)
// }
// override fun onADClose() {
// EventUtils.onEvent("XIAO_MAN_GDT_CLOSE_CLICK","小满广点通广告关闭点击")
// campaignFragment?.setVideoClose(requestId)
// }
// override fun onError(adError: AdError) {
// campaignFragment?.setVideoError(requestId)
// }
// })
// rewardVideoAD?.loadAD()
var rewardVideoAD = RewardVideoAD(this, pId, object : RewardVideoADListener {
GDTADManager.getInstance().initWith(this@XiaoManActivity, appID)
rewardVideoAD = RewardVideoAD(this@XiaoManActivity, pId, object : RewardVideoADListener {
override fun onADExpose() {
// listener.onAdShow()
Log.d("xiaoman","onADExpose")
}
override fun onADClick() {
EventUtils.onEvent("XIAO_MAN_GDT_CLICK","小满广点通广告点击")
}
override fun onVideoCached() {
Log.d("xiaoman","onVideoCached")
if (!rewardVideoAD?.hasShown()!!) { //广告展示检查2:当前广告数据还没有展示过
val delta: Long = 1000 //建议给广告过期时间加个buffer,单位ms,这里demo采用1000ms的buffer
//广告展示检查3:展示广告前判断广告数据未过期
if (SystemClock.elapsedRealtime() < rewardVideoAD!!.getExpireTimestamp() - delta) {
rewardVideoAD?.showAD()
} else {//激励视频广告已过期,请再次请求广告后进行广告展示!
}
} else {//此条广告已经展示过,请再次请求广告后进行广告展示!
}
}
override fun onReward() {
}
override fun onReward() {Log.d("wxw","onReward")}
override fun onADClose() {
Log.d("xiaoman","onADClose")
EventUtils.onEvent("XIAO_MAN_GDT_CLOSE_CLICK","小满广点通广告关闭点击")
campaignFragment?.setVideoClose(requestId)
}
//如果这里
override fun onADLoad() {
if (rewardVideoAD != null) rewardVideoAD?.showAD()
Log.d("xiaoman","onADLoad")
campaignFragment?.setVideoLoad(requestId)
}
override fun onVideoComplete() {
Log.d("xiaoman","onVideoComplete")
campaignFragment?.setVideoComplete(requestId)
}
override fun onError(p0: AdError?) {
Log.d("xiaoman","${p0?.errorCode}onError"+p0?.errorMsg)
campaignFragment?.setVideoError(requestId)
}
override fun onADShow() {
Log.d("xiaoman","onADShow")
EventUtils.onEvent("XIAO_MAN_GDT_SHOW","小满广点通广告展示")
}
}) // 有声播放
rewardVideoAD.loadAD()
})
rewardVideoAD?.loadAD()
}
}
// /**
// * 广点通广告
// */
// fun showGDTAd(appID: String, pId: String, requestId: String) {
// GDTADManager.getInstance().initWith(this@XiaoManActivity, requestId)
//// rewardVideoAD = RewardVideoAD(this, appID, pId, object : RewardVideoADListener {
//// override fun onADLoad() {
//// if (rewardVideoAD != null) rewardVideoAD?.showAD()
//// campaignFragment?.setVideoLoad(requestId)
//// }
//// override fun onVideoCached() {}
//// override fun onADShow() {
//// EventUtils.onEvent("XIAO_MAN_GDT_SHOW","小满广点通广告展示")
//// }
//// override fun onADExpose() {}
//// override fun onReward() {}
//// override fun onADClick() {
//// EventUtils.onEvent("XIAO_MAN_GDT_CLICK","小满广点通广告点击")
//// }
//// override fun onVideoComplete() {
//// campaignFragment?.setVideoComplete(requestId)
//// }
//// override fun onADClose() {
//// EventUtils.onEvent("XIAO_MAN_GDT_CLOSE_CLICK","小满广点通广告关闭点击")
//// campaignFragment?.setVideoClose(requestId)
//// }
//// override fun onError(adError: AdError) {
//// campaignFragment?.setVideoError(requestId)
//// }
//// })
//// rewardVideoAD?.loadAD()
//
//
// var rewardVideoAD = RewardVideoAD(this, pId, object : RewardVideoADListener {
// override fun onADExpose() {
//// listener.onAdShow()
// }
//
// override fun onADClick() {
// EventUtils.onEvent("XIAO_MAN_GDT_CLICK","小满广点通广告点击")
// }
//
// override fun onVideoCached() {
// }
//
// override fun onReward() {
//
// }
//
// override fun onADClose() {
// EventUtils.onEvent("XIAO_MAN_GDT_CLOSE_CLICK","小满广点通广告关闭点击")
// campaignFragment?.setVideoClose(requestId)
// }
//
//
// //如果这里
// override fun onADLoad() {
// if (rewardVideoAD != null) rewardVideoAD?.showAD()
// campaignFragment?.setVideoLoad(requestId)
// }
//
// override fun onVideoComplete() {
// campaignFragment?.setVideoComplete(requestId)
// }
//
// override fun onError(p0: AdError?) {
// campaignFragment?.setVideoError(requestId)
// }
//
// override fun onADShow() {
// EventUtils.onEvent("XIAO_MAN_GDT_SHOW","小满广点通广告展示")
// }
//
// }) // 有声播放
//
//
// rewardVideoAD.loadAD()
//
//
// }
override fun onResume() {
super.onResume()
......
......@@ -311,6 +311,10 @@ object AdManager {
container: FrameLayout,
zxadListener: ZXADSplashListener
) {
if(!isInit){
zxadListener.onTimeout()
return
}
ZXADClient.adApi.getAd(type).compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<List<NewsEntity>>() {
override fun onSuccess(result: List<NewsEntity>) {
......@@ -365,6 +369,10 @@ object AdManager {
zxadExpressListener: ZXADExpressListener,
container: FrameLayout
) {
if(!isInit){
zxadExpressListener.onFail()
return
}
if (AdCache.nativeList.get(adType) == null || AdCache.nativeList.get(adType)!!.size <= 0) {
ZXADClient.adApi.getAd(adType).compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<List<NewsEntity>>() {
......@@ -412,6 +420,9 @@ object AdManager {
container: FrameLayout,
adType: String
) {
if(!isInit){
return
}
var arrayList = result as ArrayList
var newsEntity = arrayList[0]
......@@ -479,8 +490,11 @@ object AdManager {
//加载 激励视频广告 和 全屏广告
fun loadRewardVideoAd(slotName: String, mActivity: Activity, listener: ZXADVideoListener) {
if(!isInit){
listener.onError()
return
}
if (AdCache.rewardList.get(slotName) == null || AdCache.rewardList.get(slotName)?.size!! <= 0) {
Log.e(TAG, "请求服务器 获取广告数据")
ZXADClient.adApi.getAd(slotName).compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<List<NewsEntity>>() {
......
......@@ -237,6 +237,9 @@ public class NetConfig {
public static final String URL_GAME_DAILY_TASK_RECEIVE="app/v1/game/farm/daily_task_receive";//看视频获得加速剂
public static final String URL_GAME_FARM_RANK_RECEIVE="app/v1/game/farm/rank_receive";//排行榜领取
public static final String URL_GAME_RED_PACK_LIST="app/v1/game/farm/rp_list";//红包列表
public static final String URL_GAME_RED_PACK_RECEIVE="app/v1/game/farm/rp/receive";//拆红包 参数传红包id
public static final String URL_GAME_RED_PACK_AWARD_RECEIVE="app/v3/common/award/multiple";//翻倍领取接口
}
}
......@@ -111,7 +111,7 @@ object RSADUtils {
container: FrameLayout,
callback: ZXADCallback
) {
Log.e(TAG, "瑞狮 大图广告 newsEntity.codeId"+newsEntity.codeId)
var nativeManager = NativeManager.initNative()
.setImageAcceptedSize(container.getWidth(), 0) //增加父布局
// .setNativeContainer(nativeLayout)
......@@ -126,9 +126,6 @@ object RSADUtils {
return
}
onEventPullSuccess(newsEntity)
container.visibility = View.VISIBLE
val view = data.nativeView
if (null != view) {
......
......@@ -12,13 +12,20 @@ import android.util.Log
import android.view.Gravity
import android.view.View
import android.webkit.WebView
import android.widget.FrameLayout
import android.widget.ImageView
import android.widget.RelativeLayout
import android.widget.TextView
import androidx.annotation.RequiresApi
import com.bytedance.sdk.openadsdk.TTNativeExpressAd
import com.ym.library.Constant
import com.ym.library.R
import com.ym.library.base.BaseDialog
import com.ym.library.config.AdManager
import com.ym.library.config.ZXADSizeConfig
import com.ym.library.listener.AdCallback
import com.ym.library.listener.ZXADExpressListener
import com.ym.library.module.NewsEntity
/**
* Created by gaoleichao on 2018/8/17.
......@@ -172,188 +179,99 @@ object CenterDialog : BaseDialog() {
// countDown(3000, tv_time, img_close)
// }
//
// /**
// * 任务领取红包奖励
// */
// fun getTaskRewardDialog(
// activity: Activity,
// reward: String,
// btnStr: String,
// withdrawClick: View.OnClickListener,
// taskType: String
// ) {
// val mDialog = Dialog(activity, R.style.UpdateVersionCompatDialogTheme)
// val mDialogView =
// CenterDialog.showBottomDialog(
// R.layout.dialog_datecoins2,
// activity,
// mDialog,
// 0,
// Gravity.CENTER
// )
// val tv_time = mDialogView.findViewById<TextView>(R.id.id_tv_dialog_datecoins_time)
// val img_close = mDialogView.findViewById<ImageView>(R.id.id_dialog_datecoins_close)
// val layouAd = mDialogView.findViewById<FrameLayout>(R.id.id_dialog_result_ad_layout)
//
// var adIdImg = ""
// var adNameImg = ""
// when (taskType) {
// //闯关
// "guessTask" -> {
// adIdImg = AdID.mPlacementId_pass_complete2
// adNameImg = "闯关任务完成大图"
// }
// //每日任务
// "DailyTask" -> {
// adIdImg = AdID.mPlacementId_daily_task_finish_bigimage
// adNameImg = "每日任务完成大图"
// }
// //签到
// "SignTask" -> {
// adIdImg = AdID.mPlacementId_daily_task_time_period_signin_bigimag
// adNameImg = "每日任务时段签到大图"
// }
// }
//
// ToponManager.loadNative(
// activity, layouAd,
// object : ToponNativeListener {
// override fun onAdImpressed(atAdInf: ATAdInfo) {
// EventUtils.onEvent(
// "ad_show",
// Utils.obj2Str(
// AdEntity(
// atAdInf.networkFirmId.toString(),
// adIdImg,
// adNameImg
// )
// )
// )
// }
//
// override fun onAdClicked(atAdInf: ATAdInfo, view: ATNativeAdView) {
// EventUtils.onEvent(
// "ad_click",
// Utils.obj2Str(
// AdEntity(
// atAdInf.networkFirmId.toString(),
// adIdImg,
// adNameImg
// )
// )
// )
//
// }
//
// override fun onAdVideoStart() {
// }
//
// override fun onAdVideoEnd() {
// }
//
// }
// , adIdImg
// )
//
//
//
// tv_time?.visibility = View.VISIBLE
// img_close?.visibility = View.GONE
// img_close?.setOnClickListener {
// when (taskType) {
// "guessTask" -> {
// EventUtils?.onEvent("task_success_close_click", "完成任务直接领奖")
// }
// "DailyTask" -> {
// EventUtils?.onEvent("task_success_close_click", "完成任务直接领奖")
// }
// "SignTask" -> {
//
// }
// }
// mDialog?.dismiss()
// }
// if (btnStr == "") {
// mDialogView.findViewById<RelativeLayout>(R.id.id_rel_dialog_btn)?.visibility = View.GONE
// } else {
// mDialogView.findViewById<TextView>(R.id.id_tv_dialog_btn_desc)?.text = btnStr
// }
//
// mDialogView.findViewById<TextView>(R.id.id_dialog_datecoins_coin)?.text = reward
//
// mDialogView.findViewById<RelativeLayout>(R.id.id_rel_dialog_btn)?.setOnClickListener {
// if (Utils.isFastClick()) {
// var adId = ""
// var adName = ""
// when (taskType) {
// //闯关
// "guessTask" -> {
// adId = AdID.mPlacementId_pass_complete
// adName = "闯关任务完成激励视频"
// }
// //每日任务
// "DailyTask" -> {
// adId = AdID.mPlacementId_daily_task_video
// adName = "每日任务激励视频"
// }
// //签到
// "SignTask" -> {
// adId = AdID.mPlacementId_daily_task_time_period_signin_video
// adName = "每日任务时段签到激励视频"
// }
// }
//
// ToponManager.loadReward(activity, object : ToponRewardListener {
// override fun onRewardedVideoAdPlayClicked(entity: ATAdInfo) {
// EventUtils.onEvent(
// "ad_click",
// Utils.obj2Str(
// AdEntity(
// entity.networkFirmId.toString(),
// adId,
// adName
// )
// )
// )
//
// }
//
// override fun onRewardedVideoAdClosed(entity: ATAdInfo) {
// withdrawClick.onClick(mDialogView)
// mDialog?.dismiss()
// }
//
// override fun onRewardedVideoAdFailed(errorCode: AdError) {
// withdrawClick.onClick(mDialogView)
// mDialog?.dismiss()
// }
//
// override fun onRewardedVideoAdPlayEnd(entity: ATAdInfo) {
// EventUtils.onEvent("ad_ended", Utils.obj2Str(AdEntity("ad_ended", "ad_ended", adName)))
// }
//
// override fun onRewardedVideoAdPlayStart(entity: ATAdInfo) {
// EventUtils.onEvent(
// "ad_show",
// Utils.obj2Str(
// AdEntity(
// entity.networkFirmId.toString(),
// adId,
// adName
// )
// )
// )
// }
// }, adId)
// }
//
//
// }
// mDialog?.setCanceledOnTouchOutside(false)
// mDialog?.setCancelable(false)
// mDialog?.show()
// countDown(3000, tv_time, img_close)
// }
/**
* 领取红包奖励
*/
fun getTaskRewardDialog(
activity: Activity,
reward: String,
withdrawClick: View.OnClickListener
) {
val mDialog = Dialog(activity, R.style.UpdateVersionCompatDialogTheme)
val mDialogView =
CenterDialog.showBottomDialog(
R.layout.dialog_datecoins2,
activity,
mDialog,
0,
Gravity.CENTER
)
val tv_time = mDialogView.findViewById<TextView>(R.id.id_tv_dialog_datecoins_time)
val img_close = mDialogView.findViewById<ImageView>(R.id.id_dialog_datecoins_close)
val layouAd = mDialogView.findViewById<FrameLayout>(R.id.id_dialog_result_ad_layout)
AdManager.loadFeedAd(
ADConfig.AD_IMG_FADE,
activity,
ZXADSizeConfig(Utils.px2dip(PhoneUtils.getScreenWidth(activity).toFloat()) - 30, 265),
object :
ZXADExpressListener {
override fun onError(p1: String?) {
}
override fun onNativeExpressAdLoad(p0: MutableList<TTNativeExpressAd>?) {
}
override fun onAdClicked(newsEntity: NewsEntity) {
}
override fun onAdShow(newsEntity: NewsEntity) {
}
override fun onRenderFail(s: String) {
}
override fun onRenderSuccess() {
}
override fun onDownloadFinished() {
}
override fun onInstalled() {
}
override fun onDownloadFailed() {
}
override fun onDownloadPaused() {
}
override fun onDownloadActive() {
}
override fun onIdle() {
}
override fun onFail() {
}
override fun onSuccess() {
}
},
layouAd
)
tv_time?.visibility = View.VISIBLE
img_close?.visibility = View.GONE
img_close?.setOnClickListener {
EventUtils.onEvent("click_close_receive_redPack_dialog", "点击关闭领取红包弹窗")
mDialog?.dismiss()
}
mDialogView.findViewById<TextView>(R.id.id_dialog_datecoins_coin)?.text = reward
mDialogView.findViewById<RelativeLayout>(R.id.id_rel_dialog_btn)?.setOnClickListener {
if (Utils.isFastClick()) {
withdrawClick.onClick(it)
mDialog.dismiss()
}
}
mDialog?.setCanceledOnTouchOutside(false)
mDialog?.setCancelable(false)
mDialog?.show()
countDown(3000, tv_time, img_close)
}
/**
* 水滴发放
* type: 1水滴 2金币
......@@ -538,7 +456,7 @@ object CenterDialog : BaseDialog() {
countDownTimer = object : CountDownTimer(time, 1000) {
@SuppressLint("SetTextI18n")
override fun onTick(millisUntilFinished: Long) {
textView.text = ((millisUntilFinished / 1000) + 1).toString() + ""
textView.text = ((millisUntilFinished / 1000) + 1).toString() + ""
}
override fun onFinish() {
......@@ -570,7 +488,7 @@ object CenterDialog : BaseDialog() {
Gravity.CENTER
)
mDialogView.findViewById<TextView>(R.id.tv_info).text =
"全民猜歌万缺少必要权限:\n\n${title}\n请点击\"设置\"-\"权限\"-打开所需权限。\n最后点击两次后退按钮,即可返回。"
"幸运农场缺少必要权限:\n\n${title}\n请点击\"设置\"-\"权限\"-打开所需权限。\n最后点击两次后退按钮,即可返回。"
mDialogView.findViewById<TextView>(R.id.btn_permission_quit).setOnClickListener {
quitListener.onClick(it)
......
......@@ -18,7 +18,7 @@ public class ToastUtil {
text.setText(message); //要提示的文本
Toast toast=new Toast(context); //上下文
toast.setGravity(Gravity.CENTER,0,0); //位置居中
toast.setDuration(Toast.LENGTH_LONG); //设置短暂提示
toast.setDuration(Toast.LENGTH_SHORT); //设置短暂提示
toast.setView(toastview); //把定义好的View布局设置到Toast里面
toast.show();
}
......
......@@ -8,6 +8,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#B2000000"
android:gravity="center"
android:orientation="vertical">
<RelativeLayout
......@@ -16,14 +17,24 @@
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:background="@drawable/receive_redpack_bg"
android:paddingBottom="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="105dp"
android:text="现金奖励"
android:textColor="#FFFFFF"
android:textSize="16sp"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/id_dialog_time_reward_content_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="87dp"
android:background="@drawable/shape_ff404654_r6"
android:layout_marginTop="120dp"
android:orientation="vertical"
android:paddingBottom="10dp">
......@@ -33,66 +44,69 @@
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:layout_marginTop="65dp"
android:layout_marginTop="45dp"
android:layout_marginBottom="20dp"
android:gravity="center"
android:includeFontPadding="false"
android:text="+0金币"
android:textColor="#ffffd257"
android:textSize="20sp" />
android:text="+0元"
android:textColor="#FDE04C"
android:textSize="40sp"
android:textStyle="bold" />
<RelativeLayout
android:id="@+id/id_rel_dialog_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="20dp"
android:background="@drawable/icon_double_receive_bg">
android:background="@drawable/receive_btn">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:paddingLeft="30dp"
android:src="@drawable/receive_video_img" />
<TextView
android:id="@+id/id_tv_dialog_btn_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:drawableLeft="@drawable/icon_ad_play"
android:drawablePadding="8dp"
android:drawablePadding="50dp"
android:gravity="center"
android:text="看视频3-5倍奖励"
android:text="领6倍奖励"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold" />
</RelativeLayout>
<TextView
android:id="@+id/id_tv_dialog_datecoins_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="3"
android:textColor="@color/white"
android:visibility="gone" />
<ImageView
android:id="@+id/id_dialog_datecoins_close"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_alignParentRight="true"
android:layout_gravity="center_horizontal"
android:layout_marginRight="2dp"
android:src="@drawable/dialog_lucky_coins_close_grey" />
</LinearLayout>
<TextView
android:id="@+id/id_tv_dialog_datecoins_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_gravity="center_horizontal"
android:layout_marginTop="100dp"
android:layout_marginRight="5dp"
android:background="@drawable/receive_time"
android:gravity="center"
android:text="3"
android:textColor="@color/white"
android:visibility="gone" />
<ImageView
android:id="@+id/dialog_time_reward_bg_img"
android:id="@+id/id_dialog_datecoins_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:src="@drawable/icon_task_dialog_icon" />
android:layout_alignParentRight="true"
android:layout_gravity="center_horizontal"
android:layout_marginTop="100dp"
android:layout_marginRight="5dp"
android:src="@drawable/receive_close"
android:visibility="visible" />
</RelativeLayout>
<FrameLayout
......
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