我正在尝试将JavaScript代码中未处理的异常发送给Crashlytics。我添加了以下代码来捕获任何未处理的JavaScript异常。但是,此代码(console.log或Crashlytics事件)不会因React组件内引发的任何错误而执行。例如,如果throw new ReferenceError()在主组件的render方法中添加一个内部,我会看到红色的错误框,但是就我的自定义错误处理而言,什么也没有发生。
import { Platform } from 'react-native';
import StackTrace from 'stacktrace-js';
import { Crashlytics } from 'react-native-fabric';
const originalHandler = global.ErrorUtils.getGlobalHandler();
function errorHandler(e, isFatal) {
StackTrace.fromError(e, { offline: true }).then((x) => {
Crashlytics.recordCustomExceptionName(e.message, e.message, x.map(row => (Object.assign({}, row, {
fileName: `${row.fileName}:${row.lineNumber || 0}:${row.columnNumber || 0}`,
}))));
});
console.log('Error caught', e);
// And then re-throw the exception with the original handler
if (originalHandler) {
if (Platform.OS === 'ios') {
originalHandler(e, isFatal);
} else {
// On Android, …Run Code Online (Sandbox Code Playgroud) 我想加载一些特定于应用程序的设置,并在加载应用程序时将它们保存为全局变量.我已经找到了如何在这里创建和访问全局变量.
这是我的app.js样子:
Ext.application({
stores: [
...
],
views: [
...
],
autoCreateViewport: true,
name: 'MyApp',
controllers: [
'DefaultController'
],
launch: function() {
...
}
});
Run Code Online (Sandbox Code Playgroud)
是否可以在launch: function()块内设置这些变量?如果没有,有没有其他选择?
我有一个Android应用程序,它使用Google AnalyticsSDK将跟踪数据发送到特定的Google Analytics帐户(比如帐户A).
相同的应用程序通过单独的Google Play帐户(帐户B)发布.
现在,我对广告系列衡量数据的去向感到困惑(帐户A或帐户B?).
任何人都可以澄清吗?