提问:关于原生端激励视频的设计

做cd间隔也没用,他连广告时长偶给你模拟出来

纯单机,你也走不了服务端验证吧?

时长模拟不模拟不重要,只是单纯限制下奖励的发放间隔,总比不停薅羊毛好。

我意思是前端在不考虑包体被修改的情况下能不能处理这个问题?

:rofl:去看看第三方的风控sdk(同盾啊,数美啊,阿里云啊),有通过账号,行为,设备识别风险的,有风险的用户,都杀掉

你都不考虑包体被修改了,那就是默认安全合法,你还限制个啥?

意思是只要包体不被修改就不会出现不符合流程的问题?

是啊,包体不被修改,rawad事件肯定是广告播放完毕后触发,触发后调用发放奖励的方法,没啥毛病。

改包体作弊么,按照你没服务端,也是随他们玩的结局。

明白了,那就行了,感谢
:joy:我就是个前端,前端能做的我尽量做到位,需要服务端参与才能做到的东西那我就管不了了

看你骨骼清奇,跟我学做服务端吧。

加个时间判断,视频开始,和视频播放结束,然后可以做个安卓屏幕显示的Activity的判断是不是视频界面,能做的就这么多了

开始结束我能做,那个屏幕显示怎么做?求教,给个教程也好

android 端记录观看广告状态 收到reward奖励信息回调后重置状态 android调用js后根据判断回传参数来确定是否看广告成功确定js端所执行的逻辑

:joy:我也想,但是。。。生存压力。。。

可能不太好判断,广告Activity在前时,游戏Activity是停止的,hmmm…取时间戳倒是可以……

不过人家都改包了,你验不验都一样了,不改包验不验其实也一样。

public static String getTopActivity(){
    ActivityManager am =   (ActivityManager) getContext().getSystemService(getContext().ACTIVITY_SERVICE);

    ComponentName cn =   am.getRunningTasks(1).get(0).topActivity;
    return cn.getClassName();

}

我也是这么设计的,主要是看回调的evalString好像得走window.function,担心会出现那种不经过广告直接调用window.function的事情发生

:kissing_heart:感谢大佬

他调他的 只要状态没被更改 他调用又没得实际意义

我意思是,他调用观看广告之后,这里状态已经转换成了播放视频,然后不等视频播放完成直接java调用js获取奖励,就算我再判断个视频播放完成状态,始终也得从java调js,这里想来想去最多也就只能记录个时间戳,如果提前关闭就认为失败,不过这里我没看见视频时长的接口,就算有也是在java,我主要是觉得java调用js注册在window上的接口感觉不安全,我对js了解不深,但是看前端同事(做网页的)调试的时候各种自己注册函数调试,总觉得这块不怎么安全的样子