全栈
全栈
  • 发布:2019-05-27 11:18
  • 更新:2019-05-28 14:37
  • 阅读:780

【报Bug】求重视!这个BUG伤害很大

分类:HTML5+

详细问题描述

如果是那些没怎么搞推送消息的,这个BUG基本没影响,但是我们现有上架的APP和即将上架的APP都很大利用到推送消息,利用推送消息打开文章,跳入指定页面,进行各种操作!

但是目前存在一个很严重的BUG,就是那个click事件不一定触发(触发的概率比不触发的概率大)。

document.addEventListener( "plusready", function(){
plus.push.addEventListener( "click" , function( msg ) {
});
});

之前的报BUG连接 http://ask.dcloud.net.cn/question/68185

为什么我又回来提这个,因为最近我们在上新的功能,老板要发消息推广一下,结果尴尬了,2个手机点推送消息(都是离线),有一个点击有效果,有一个无效果(单纯打开APP)!

[iOS版本号]
iphone 6plus iphone 6s (还有其他人测试的 XR, 苹果6,XS max)

2019-05-27 11:18 负责人:无 分享
已邀请:
全栈

全栈 (作者) - 90后全栈男

之前跟你们技术聊,说是我们的 appinfo.clientid 可能会改变导致不执行代码(其实测试过不触发click的情况下 appinfo.clientid 是没有改变的,因为没有卸载APP没有重装,如果这样都能变这个 appinfo.clientid 就没什么存在的意义了)!
但是我们后面的版本已经注释这个 appinfo.clientid 判断了,没有任何判断就执行JS代码了;然后还是出现这样的问题,证明根本没有触发click事件,然后同一推送同一APP代码,有的可以有的不可以,也证明了是不触发click的问题。

从报BUG的帖子其他人的回复来看,也不少人的APP做了推送而遇到这个存在一定概率不触发click的困惑!!

DCloud_iOS_XHY

DCloud_iOS_XHY

你好,之前反馈我们就测试过,而且我还QQ跟你联系的,当时你也没有复现,需要复现才可以解决问题,可能是特定场景下才会存在这个问题,因为我们测试都是通过官方demo测试的,无法复现,最好能找到复现的规律,或者能否把你的app发给我,我用你的app测试一下呐?如果方便可以跟你们后端联调一下,我安装几台设备,然后你们后端推送测试一下?

  • 全栈 (作者)

    我也不知道怎么复现!知道了估计就不会拖到现在了,个人估计是代码执行步骤先后的问题,有可能跟加载有关。怎么联系,我看能不能复现。

    2019-05-28 09:25

DCloud_iOS_XHY

DCloud_iOS_XHY

我们从来都是非常重视每一个问题,解决问题需要建立在复现问题的基础上,前后排查这个问题好几次了,包括上次也是QQ联系花了大半天事件来排查定位问题,结果你自己也都没能复现,你自己也说了你都不知道怎么复现问题,我们用自己的demo反复测试很多次也没有复现问题,所以这个问题可能就是在特定场景下才会复现,比如你们的页面逻辑可能比较复杂,才会导问题重现,所以我们需要能复现问题的demo来帮助我们定位问题,其他用户如果遇到这个问题,也请帮助我们提供复现问题的demo,或者复现问题的步骤

  • 辛德瑞拉

    我们通过5+拦截url的问题,百分百复现,外部单独测试正则去按规则去匹配字符串完完全全能够匹配上,一丝一毫都不差,传入到5+的方法里就是不理想,达不到想要的理想效果,demo也发了,这个问题,怎么说,一直不了之了之,有问题还是没问题,有问题的情况是修复还是不修复,没问题的情况倒是针对我提出的情况给我个合理的解释呀,最后也没个准信,

    2019-05-28 14:01

  • DCloud_iOS_XHY

    回复 辛德瑞拉: 帖子链接发一下

    2019-05-28 16:46

辛德瑞拉

辛德瑞拉 - js 也会 php 也会 但是都是皮毛,,,

还有推送成功 click 不触发的问题,我们生产环境中也遇到了,后台发送一条透传消息,有时候无缘无故确实收不到,,,我们在18年那会使用就有这个问题,现在还有,无缘无故就是不触发,,,比较诡异

  • 全栈 (作者)

    我们复现了一个BUG,不知道跟他们这个推送失效有没有关系,也是一定概率不触发。整个页面就:<script>

    document.addEventListener( "plusready", function(){


                        var appinfoA = plus.push.getClientInfo();  
    alert(appinfoA.clientid);
    });

    </script>

    有时候获取不到 appinfoA.clientid

    2019-05-28 14:31

  • 全栈 (作者)

    也是 plus.push 接口,很可能有关系。今天我们准备继续测试推送复现的问题,结果拿测试机的CID时复现,竟然拿不到,就这个我不断测试,复现存在概率获取不到 plus.push.getClientInfo().clientid

    2019-05-28 14:33

  • DCloud_iOS_XHY

    回复 全栈: cid是异步返回的,获取的时候有可能不存在,需要自己判断或延时获取一下

    2019-05-28 16:47

全栈

全栈 (作者) - 90后全栈男

找到个同样是 plus.push 接口的代码,整个页面空白只有简单的几句代码

document.addEventListener( "plusready", function(){

                var appinfoA = plus.push.getClientInfo();    
                alert(appinfoA.clientid);       

});

存在一定的概率得到空白。注意:多次测试时一定要完全关闭APP重新打开。不然或一直获取正常。

该问题目前已经被锁定, 无法添加新回复