Napoleonic Political Magnificence
Join us to discuss the challenges, solutions and best practices for in-house JavaScript code sharing. Tuesday, 12/17 at 10am PT/1pm ET.Sign up here »


0.1.13 • Public • Published


React Native wrapper for Buglife iOS and Buglife Android.

npm version


  1. npm install react-native-buglife --save
  2. react-native link to link the native libraries to the react wrappers.

If you intend to ship with Buglife to TestFlight or the iOS App Store, you'll need to add NSPhotoLibraryUsageDescription to your Info.plist. See this article.


Android native configuration

  1. Open your app's build.gradle, and make sure the compileSdkVersion is at least 26, and minSdkVersion is at least 16.

  2. If you are not prompted to do so by Android Studio, add the following maven repository to your project's build.gradle buildscript section:

    maven {
        url ''
        name 'Google'


    buildscript {
        repositories {
            maven {
                url ''
                name 'Google'
  3. Add the following lines to the end of the onCreate() method in your main Application subclass. (If your app doesn't have one already, create an Application subclass and declare it in AndroidManifest.xml.)

    Buglife.initWithEmail(this, "");

    Be sure to replace with your own email address, as bug reports will be sent to this address.

iOS native configuration

  1. Open AppDelegate.m and add the following import statement below the others:

    #import "Buglife.h"
  2. Add the following to the end of the application:didFinishLaunchingWithOptions: method in AppDelegate.m:

    [[Buglife sharedBuglife] startWithEmail:@""];
    [[Buglife sharedBuglife] setInvocationOptions:LIFEInvocationOptionsScreenshot];
  3. Add the NSPhotoLibraryUsageDescription key to your iOS app's Info.plist if it doesn't have it already. See the Buglife iOS App Store documentation.

Javascript configuration

Import & initialize Buglife within App.js:

var Buglife = require('react-native-buglife');

Build & run

Build & run on a device, then take a screenshot to invoke the bug reporter! Submit your first bug report, and it'll show up in your email.


User identification

You may want to add the reporter's email address or other account identifier to your bug reports. You can do this with

// Set an email address
// Set a user identifier
Buglife.setUserIdentifier("account name");


Your application can include custom JSON attachments with each bug report. For example, to add an attachment solely to the next invocation of the bug reporter:

var myData = { }; // This should be a JSON object with your data
Buglife.addAttachmentWithJSON(myData, "MyData.json");

In some cases, you may wish to add an attachment on every invocation of the bug reporter; You can do so by subscribing to the BuglifeAttachmentRequest event:

import { NativeModules, NativeEventEmitter } from 'react-native';
const eventEmitter = new NativeEventEmitter(NativeModules.RNBuglife);
eventEmitter.addListener(Buglife.BuglifeAttachmentRequest, () => {
  var appState = {"awesomeness": "Insanely awesome", "volume": 11};
  Buglife.addAttachmentWithJSON(appState, "AppState.json");

For advanced usage & features (customization, user identification, etc), check out the official Buglife documentation.


npm i react-native-buglife

DownloadsWeekly Downloads






Last publish


  • avatar
  • avatar