说话可以不介意先后,代码回调顺序乱了,代码就乱了

晚上我想加个鸡腿

我想加个鸡腿,晚上


上面这两句话,表达的是同一个意思。先后顺序调换一下,没有太大的影响。


但是计算机程序,是按照代码顺序执行的,如果换了先后顺序,那逻辑就变了。


1.先看一个现象:看完激励视频,正常关闭,没有奖励


这个时候用户就“咯噔”一下,神马情况,不给奖励,这不是相当于外卖付钱了,不给发货吗?

再看一个试试,结果还是同样的问题,不给奖励。


当遇到线上的产品,出现这样的情况;我就是被@的对象,有bug,你来解决。


嗯,莫慌,打个debug包,日志调试一下,发现有一家渠道的广告,先发送close的回调,再发reward的回调。通常是先reward,再close。

在业务逻辑当中,现在reward中,做一个标记,表示激励看完了,当用户关闭的时候,再给奖励。这么做就是避免reward消息来了,用户还没关闭,如果在用户没有看到的情况下给用户奖励,用户会以为没给。所以这里等close的时候再给。


也不知道哪个版本开始,突然遇到了回调的顺序变了,这就导致执行close的时候,reward还没有执行,标记位是false,此时就不给用户奖励,导致了误解。


2.再来看另外一个现象


回调执行多次,广告开始播放的回调执行的次数,是累加的。

看第1个广告的时候,广告开始播放的回调执行了1次;

看第2个广告的时候,广告开始播放的回调执行了2次;

看第3个广告的时候,广告开始播放的回调执行了3次;

看第4个广告的时候,广告开始播放的回调执行了4次。


这就相当于看了4次广告,后台统计打点,统计了10次。

此刻通过升级SDK版本到最新版,解决了这个问题;至于为什么,现在还没查明原因。


3.这就给SDK开发带来了很大的麻烦


平台修改了接口,如何避免线上的版本出问题。

这里建议如下:

  1. 不要用build.gradle依赖版本时,用+,最新版本是否兼容,这个说不好

  2. 建议平台的SDK,对外暴露的接口不要轻易修改,修改需要考虑兼容性。

  3. 自己每写一个版本的代码,都需要全面测试一下,功能是否还是正常的。


写完Android的SDK,写iOS;写完iOS,写Android。循环播放。



内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/171185.html

(0)

相关推荐

  • 不死药的意思(字义,诗词)

    词组不死药的意思(字义,诗词)基本解释详细字义 不死药拼音:bù sǐ yào注音:ㄅㄨˋㄈㄡˇ ㄙˇ 一ㄠˋ解释:传说中一种能使人长生不死的药。古代诗词唐代.白居易.效陶潜体诗十六首:「我无不死药,兀兀随化迁。

    阅读 2021年11月12日
  • 英雄联盟s12赛季结束时间,英雄联盟s12季前赛什么时间开始

    英雄联盟s12淘汰赛的抽签已经结束了。 很多伙伴可能不知道英雄联盟s12淘汰赛的时间怎么样了。 今天,小编为大家介绍英雄联盟s12淘汰赛的时间。 快来看看吧。 希望能帮到大家。 :...

    教程 2022年10月17日
  • teamviewer10(teamviewer10可以卸载吗)

    今天给大家分享teamviewer10的内容,其中也会对teamviewer10进行扩展,如果能碰巧解决你的问题,别忘了关注本站,现在开始吧! 本文目录一览: 1、win10系统下...

    2025年12月21日
  • 公众安全感测评!请您为螺溪形象打call!

    点击上方蓝字关注我们 叮铃铃!叮铃铃! 亲爱的小伙伴们        2021年全省公众安全感民调即将开始啦! 如果您幸运地接到了尾数为12...

    2021年12月9日
  • 色母tpu和子色母abs的区别(pa6色母与pa66色母的区别)

    今天给大家分享色母tpu和子色母abs的区别的内容,其中也会对色母tpu和子色母abs的区别进行扩展,如果能碰巧解决你的问题,别忘了关注本站,现在开始吧! 本文目录一览: 1、tp...

    2025年8月20日
  • 毕业论文开题报告范文(毕业开题报告范文模板)

    毕业论文开题报告范文(毕业开题报告范文模板)毕业论文开题报告范文(毕业开题报告范文模板)开题报告方法介绍:开题报告是指开题者对科研课题的一种文字说明材料。这是一种新的应用写作文体,这种文字体裁是随着现代科学研究活动计划性

    营销 2021年8月23日