❗️ 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. ❗️
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
:
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 yourProject > Libraries
. - Drag-and-drop
libRNHockeyApp.a
fromLibraries/RNHockeyApp/Products
intoLinked 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
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
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' // <--- add this}
- 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") // <--- add this}
- Manifest file
- Register Module (in MainApplication.java)
// <--- import // <--- import
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' // <--- add this}
- 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") // <--- add this}
- Manifest file
- Register Module (in MainActivity.java)
// <--- import // <--- import
Usage
From your JS files for both iOS and Android:
var HockeyApp = ; { HockeyApp;} { HockeyAppstart; HockeyApp; // optional}
You have available these methods:
HockeyApp; // Configure the settingsHockeyAppstart; // Start the HockeyApp integrationHockeyApp; // Check if there's new version and if so trigger updateHockeyApp; // Ask user for feedback.HockeyApp; // Add metadata to crash report. The argument must be an object with key-value pairs.HockeyApp; // Generate test crash. Only works in no-debug mode.
The following authentication methods are available:
- AuthenticationType.Anonymous - Anonymous Authentication
- AuthenticationType.EmailSecret - HockeyApp email & App Secret
- AuthenticationType.EmailPassword - HockeyApp email & password
- AuthenticationType.DeviceUUID - HockeyApp registered device UUID
- AuthenticationType.Web - HockeyApp Web Auth (iOS only)
Contributions
See https://github.com/slowpath/react-native-hockeyapp/graphs/contributors