npm install bugly-rn-sdk@1.0.0-beta.5

package com.awesomeproject;import android.util.Log;public class OnError {public void sendMsg(String errMsg) {// Report error data using the Android SDKMap<String, String> extraInfo = new HashMap<>();String[] components = errMsg.split("\\n");String msg = components[0].replace("Error: ", "");String[] secondPart = Arrays.copyOfRange(components, 1, components.length);String stack = String.join("\\n", secondPart);Bugly.postException(8, "test_error", msg , stack, extraInfo);}}
package com.awesomeproject;import androidx.annotation.NonNull;import com.facebook.react.bridge.ReactApplicationContext;import com.facebook.react.bridge.ReactContextBaseJavaModule;import com.facebook.react.bridge.ReactMethod;public class AndroidBridge extends ReactContextBaseJavaModule{AndroidBridge(ReactApplicationContext context) {super(context);}private OnError onError = new OnError();@NonNull@Overridepublic String getName() {return "AndroidBridge";}@ReactMethodpublic void sendJSError (String errMsg) {onError.sendMsg(errMsg);}}
package com.awesomeproject;import com.facebook.react.ReactPackage;import com.facebook.react.bridge.NativeModule;import com.facebook.react.bridge.ReactApplicationContext;import com.facebook.react.uimanager.ViewManager;import java.util.ArrayList;import java.util.Collections;import java.util.List;public class AppPackage implements ReactPackage{@Overridepublic List<ViewManager> createViewManagers(ReactApplicationContext context) {return Collections.emptyList();}@Overridepublic List<NativeModule> createNativeModules (ReactApplicationContext context) {List<NativeModule> modules = new ArrayList<>();modules.add(new AndroidBridge(context));return modules;}}
package com.awesomeprojectimport android.app.Applicationimport com.facebook.react.PackageListimport com.facebook.react.ReactApplicationimport com.facebook.react.ReactHostimport com.facebook.react.ReactNativeApplicationEntryPoint.loadReactNativeimport com.facebook.react.ReactNativeHostimport com.facebook.react.ReactPackageimport com.facebook.react.defaults.DefaultReactHost.getDefaultReactHostimport com.facebook.react.defaults.DefaultReactNativeHostclass MainApplication : Application(), ReactApplication {override val reactNativeHost: ReactNativeHost =object : DefaultReactNativeHost(this) {override fun getPackages(): List<ReactPackage> =PackageList(this).packages.apply {add(AppPackage())}override fun getJSMainModuleName(): String = "index"override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUGoverride val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLEDoverride val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED}override val reactHost: ReactHostget() = getDefaultReactHost(applicationContext, reactNativeHost)override fun onCreate() {super.onCreate()loadReactNative(this)}}
import { NativeModules } from 'react-native';const { AndroidBridge } = NativeModules;ErrorUtils.setGlobalHandler((error, isFatal) => {AndroidBridge.sendJSError(error.stack || error);});
// OnError.swiftclass OnError {func tran2BuglyError(errMsg: String) -> (category: UInt, name:String, reason: String, callStack: Array<String>) {let components = errMsg.components(separatedBy: "\\n")let firstPart = components[0].replacingOccurrences(of: "Error: ", with: "")let secondPart = Array(components.dropFirst())return (5, "JS Error", firstPart, secondPart)}public func sendMsg(errMsg: String) -> Void {let BuglyError = tran2BuglyError(errMsg: errMsg)// Call Bugly IOS to report errorsBuglyCrashMonitorPlugin.reportException(withCategory: BuglyError.category, name: BuglyError.name, reason: BuglyError.reason, callStack: BuglyError.callStack, extraInfo: [:], terminateApp: false)}}// IOSBridge.swift@objc(IOSBridge)class IOSBridge: NSObject {@objc(sendJSError:)func sendJSError(errMsg: String) -> Void {let onError = OnError()onError.sendMsg(errMsg: errMsg)}}// IOSBridge.m#import <React/RCTBridgeModule.h>@interface RCT_EXTERN_MODULE(IOSBridge, NSObject)RCT_EXTERN_METHOD(sendJSError:(NSString *)errMsg)@end
// AwesomeProject_Bridging_Header.h#ifndef AwesomeProject_Bridging_Header_h#define AwesomeProject_Bridging_Header_h#import <React/RCTBridgeModule.h>#endif /* AwesomeProject_Bridging_Header_h */
import { NativeModules } from 'react-native';const { IOSBridge } = NativeModulesErrorUtils.setGlobalHandler((error, isFatal) => {IOSBridge.sendJSError(error.stack || error);});
Was this page helpful?
You can also Contact sales or Submit a Ticket for help.
Help us improve! Rate your documentation experience in 5 mins.
Feedback