React native Sentry使用CodePush进行本机反应,不使用源地图

React native Sentry使用CodePush进行本机反应,不使用源地图,react-native,sentry,code-push,React Native,Sentry,Code Push,我似乎无法理解这一点。有人能帮我解决这个问题吗?我正在使用CodePush上传我的应用程序,我希望Sentry处理我的错误,因为appcenter的诊断不是很好 我的应用程序的根组件中有这个 if (process.env.NODE_ENV === 'production') { Sentry.config('****',{ deactivateStacktraceMerging: false }).install(); codePush.getUpdateMetadata(

我似乎无法理解这一点。有人能帮我解决这个问题吗?我正在使用CodePush上传我的应用程序,我希望Sentry处理我的错误,因为appcenter的诊断不是很好

我的应用程序的根组件中有这个

if (process.env.NODE_ENV === 'production') {
  Sentry.config('****',{
    deactivateStacktraceMerging: false
  }).install();
  codePush.getUpdateMetadata().then((update) => {
    if (update) {
      Sentry.setVersion(update.appVersion + '-codepush:' + update.label);
    }
  });
}
我有一个部署包脚本,它将部署到codepush,并运行文档中的sentry命令

appcenter codepush release react-a account/project--output dir./build&export SENTRY_PROPERTIES=./ios/SENTRY.PROPERTIES&&SENTRY cli react本机appcenter account/project ios./build/codepush

每次我捕获到错误或我捕获到的错误时,我都缺乏关于抛出错误的文件的实际信息,并且我看到
在处理此事件时遇到了1个错误,顶部显示
的源代码未找到app:///main.jsbundle
当我展开它时


我觉得这一定是因为sentry没有正确连接到codepush以获取我的源地图?

我遇到了同样的问题-所有内容都被上传到sentry并附加到发布中,但问题显示了此警告


我的问题是,应用程序和Sentry版本中的捆绑包ID不同,同步解决了问题。

我正在处理同一个堆栈,捆绑包正在Sentry中上载,但我有两个问题:

  • 在哨兵中,他们提供了这个命令-
    sentry cli反应本机应用中心YourApp ios./build/CodePush--dist YourBuildNumber

    这里的
    YourBuildNumber
    是什么,是应用程序版本、哨兵版本号、codepush版本标签还是其他什么

  • 我得到的错误跟踪是缩小的js,是否有一种方法可以正确地获得堆栈跟踪。


  • 您需要使用
    release
    dist
    选项调用
    Sentry.init
    ,并在通过CLI上载sourcemaps时传递与标志相同的值

    按照

    如果您想将Sentry与CodePush一起使用,则必须将release和dist传递给Sentry.init。我们的建议是将它们存储在app.json中,或者您可以只使用package.json。这些值对于代码库的每个版本都必须是唯一的,并且与源映射上的版本完全匹配,否则它们可能没有符号化

    例如:

    Sentry.init({
      dsn: YOUR_DSN,
      release: '1.0',
      dist: 'v1',
    });
    
    然后,当您要上载源地图时:

    export SENTRY_PROPERTIES=./ios/sentry.properties
    sentry-cli react-native appcenter \
    account/project \
    ios ./build/codePush \
    --release-name "1.0" \
    --dist "v1"
    
    您的
    release
    dist
    可以是任意字符串,但Sentry建议使用以下格式:


    ${BUNDLE\u ID}@${APP\u VERSION}+codepush:${DIST}

    嘿,Jordan,你找到解决这个问题的方法了吗?我在我的react原生应用程序中使用Sentry,但我现在添加了codepush。我从没想过你提到的情况。一种想法是通过快车道控制代码推送的释放。在车道上,你可以手动上传源地图到sentry。嘿,面对同样的问题,你说同步是什么意思?