Need help with react-native-hockeyapp?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

martincik
129 Stars 59 Forks MIT License 93 Commits 28 Opened issues

Description

HockeyApp integration for React Native with Android and iOS support

Services available

!
?

Need anything else?

Contributors list

:exclamation: While I do not have the time to actively maintain RN-hockeyapp anymore, I am open to new maintainers taking the lead. If you would be interested, contact me at ladislav (at) benloop (dot) com. :exclamation:

react-native-hockeyapp

HockeyApp integration for React Native.

Requirements

  • iOS 7+
  • Android
  • React Native >0.17
  • CocoaPods

Installation

npm install react-native-hockeyapp --save

iOS

You will need:

CocoaPods (Setup)

Podfile

Add to your

ios/Podfile
:
ruby
pod "HockeySDK"

Run

pod install

Open

YourProject.xcworkspace

Add the RNHockeyApp library to your project

  • Drag-and-drop
    RNHockeyApp.xcodeproj
    from
    ./node_modules/react-native-hockeyapp/RNHockeyApp
    into your
    Project > Libraries
    .
  • Drag-and-drop
    libRNHockeyApp.a
    from
    Libraries/RNHockeyApp/Products
    into
    Linked Frameworks and Libraries

Changes to AppDelegate.m

If you wish to use Device UUID authentication or Web authentication, the following must be added to

ios/AppDelegate.m
```objective-c

import "RNHockeyApp.h"

  • (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { if( [[BITHockeyManager sharedHockeyManager].authenticator handleOpenURL:url sourceApplication:sourceApplication annotation:annotation]) { return YES; }

/* Your own custom URL handlers */

return NO; } ``

You also need to add
RNHockeyApp
to
Build Settings > Search Paths > Header Search Paths
as a **
recursive
** search path, adding the following to both
Debug
and
Release
and ensuring
recursive` is selected (double click each line as opposed to editing it as text, and you'll see the dropdowns):
$(SRCROOT)/../node_modules/react-native-hockeyapp/RNHockeyApp

Android (React Native >= 0.29)

Google project configuration

  • In
    android/setting.gradle
...
include ':react-native-hockeyapp', ':app'
project(':react-native-hockeyapp').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-hockeyapp/android')
  • In
    android/build.gradle
...
repositories {
    jcenter()
    mavenCentral()
}
dependencies {
    classpath 'com.android.tools.build:gradle:1.3.1'
    classpath 'net.hockeyapp.android:HockeySDK:4.1.0' // 
  • In
    android/app/build.gradle
apply plugin: "com.android.application"
...
dependencies {
    compile fileTree(dir: "libs", include: ["*.jar"])
    compile "com.android.support:appcompat-v7:23.0.1"
    compile "com.facebook.react:react-native:0.29.+"
    compile project(":react-native-hockeyapp") // 
  • Manifest file

    xml
    
    
    
    
    
  • Register Module (in MainApplication.java)

import com.slowpath.hockeyapp.RNHockeyAppModule; //  getPackages() {
    return Arrays.asList(
      new RNHockeyAppPackage(MainApplication.this), // 

Android (React Native 0.17 - 0.28) - Only react-native-hockeyapp:0.4.2 or less

Google project configuration

  • In
    android/setting.gradle
...
include ':react-native-hockeyapp', ':app'
project(':react-native-hockeyapp').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-hockeyapp/android')
  • In
    android/build.gradle
...
repositories {
    jcenter()
    mavenCentral()
}
dependencies {
    classpath 'com.android.tools.build:gradle:1.3.1'
    classpath 'net.hockeyapp.android:HockeySDK:4.1.2' // 
  • In
    android/app/build.gradle
apply plugin: "com.android.application"
...
dependencies {
    compile fileTree(dir: "libs", include: ["*.jar"])
    compile "com.android.support:appcompat-v7:23.0.1"
    compile "com.facebook.react:react-native:0.17.+"
    compile project(":react-native-hockeyapp") // 
  • Manifest file

    xml
    
    
    
    
    
  • Register Module (in MainActivity.java)

import com.slowpath.hockeyapp.RNHockeyAppModule; //  getPackages() {
    return Arrays.asList(
      new RNHockeyAppPackage(this), // 

Usage

From your JS files for both iOS and Android:

var HockeyApp = require('react-native-hockeyapp');

componentWillMount() { HockeyApp.configure(HOCKEY_APP_ID, true); }

componentDidMount() { HockeyApp.start(); HockeyApp.checkForUpdate(); // optional }

You have available these methods:

js
HockeyApp.configure(HockeyAppId: string, autoSendCrashReports: boolean = true, authenticationType: AuthenticationType = AuthenticationType.Anonymous, appSecret: string = '', ignoreDefaultHandler: string = false); // Configure the settings
HockeyApp.start(); // Start the HockeyApp integration
HockeyApp.checkForUpdate(); // Check if there's new version and if so trigger update
HockeyApp.feedback(); // Ask user for feedback.
HockeyApp.addMetadata(metadata: object); // Add metadata to crash report.  The argument must be an object with key-value pairs.
HockeyApp.generateTestCrash(); // Generate test crash. Only works in no-debug mode.
The following authentication methods are available:
  1. AuthenticationType.Anonymous - Anonymous Authentication
  2. AuthenticationType.EmailSecret - HockeyApp email & App Secret
  3. AuthenticationType.EmailPassword - HockeyApp email & password
  4. AuthenticationType.DeviceUUID - HockeyApp registered device UUID
  5. AuthenticationType.Web - HockeyApp Web Auth (iOS only)

Contributions

See https://github.com/slowpath/react-native-hockeyapp/graphs/contributors

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.