收藏
回答

wx.reportAnalytics的机制是怎样的?

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug iOS & Android 多种 6.6.5+

由于用户反馈使用小程序时多次出现request:fail相关问题:


所以使用wx.reportAnalytics接口在发生错误时进行上报,大致代码如下:

wx.getSystemInfo({

success: (res) => {

   wx.reportAnalytics('error_report', {

      created: JSON.stringify(new Date()),
      creator: user.id || 0,
      system: JSON.stringify(res),
      err_msg: msg,
      request_method: method,
      request_url: url,
      request_headers: this._buildAuthHeaders(),

   })

 }

})


在小程序微信后台查看自定义分析,截取到的数据,比如:(错误上报时间:2018-04-10)





有几点疑问:

  1. 网络类型为offline时,错误信息很好理解,但该条记录微信小程序是如何上报的?先缓存到本地,等有网络的时候再上报?

  2. 网络类型为3G、4G、WiFi 的时候出现了“网络连接已中断”,这时候只是连不上我们服务器吗?

  3. 官方对interrupted的解释时,如果小程序发出的请求完成前进入后台就会抛出上述错误,但部分用户给我们的反馈是一直停留在小程序页面上,也仍然出现了该问题。

  4. 关于请求超时问题,我们自己在正式版测试时页出现类似问题,包括4G和WiFi环境,小程序内配置的超时时间是10秒,服务器的超时时间也是10秒,但出现“请求超时”错误时,请求耗时通常只有5秒左右。


@微信官方 @Ltt 

回答关注问题邀请回答
收藏

2 个回答

  • 林曦
    林曦
    2019-04-15

    你好,请问一下这个明细数据是怎么查询到的?我在小程序的统计后台里只能看到汇总信息

    2019-04-15
    有用
    回复 6
    • 马农™
      马农™
      2019-04-15

      上面按err_msg字段分组,想看某一列数据,在事件分析的参数项里把这一列加入到【分组】即可。

      2019-04-15
      回复
    • 林曦
      林曦
      2019-04-15回复马农™

      谢谢!原来还可以这样

      2019-04-15
      回复
    • 圈圈圆圆
      圈圈圆圆
      2019-12-10
      请问接入方式是不是在后台如图这里新建一个事件,比如jsError,然后在代码中,这样接入wx.reportAnalytics('jsError', {
      test1:'123',
      test2:'456',
      xxx:xxx
      })?
      2019-12-10
      回复
    • 圈圈圆圆
      圈圈圆圆
      2019-12-11回复马农™
      你好,使用wx.reportAnalytics接口上报js异常的话,是不是直接在app.json的onError里面使用wx.reportAnalytics接口上报也可以?
      2019-12-11
      回复
    • 马农™
      马农™
      2019-12-11回复圈圈圆圆
      可以,wx.onError 和app.onError里应该都可以,可以在开发环境模拟个代码错误,测试一下
      2019-12-11
      回复
    查看更多(1)
  • 马农™
    马农™
    2018-04-12

    @韬々

    2018-04-12
    有用
    回复
登录 后发表内容