React Native wrapper over LaunchDarkly SDK's for iOS and Android.
$ npm install react-native-launch-darkly --save
or
$ yarn add react-native-launch-darkly --save
$ react-native link react-native-launch-darkly
- In XCode in project navigator right click on application name => Add files to... => navigate to node_modules/react-native-launch-darkly/ios and select Darkly.framework.
- Go to you project target and add Darkly.framework to Embedded Binaries
Add line bellow at the bottom of your app/build.gradle
configurations.all { resolutionStrategy.force 'com.squareup.okhttp3:okhttp:3.4.1' }
- In XCode, in the project navigator, right click
Libraries
➜Add Files to [your project's name]
- Go to
node_modules
➜react-native-launch-darkly
and addRNLaunchDarkly.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRNLaunchDarkly.a
to your project'sBuild Phases
➜Link Binary With Libraries
- Run your project (
Cmd+R
)<
- Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import com.reactlibrary.RNLaunchDarklyPackage;
to the imports at the top of the file - Add
new RNLaunchDarklyPackage()
to the list returned by thegetPackages()
method
- Append the following lines to
android/settings.gradle
:include ':react-native-launch-darkly' project(':react-native-launch-darkly').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-launch-darkly/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:compile project(':react-native-launch-darkly')
- Add line bellow at the bottom of your app/build.gradle
configurations.all { resolutionStrategy.force 'com.squareup.okhttp3:okhttp:3.4.1' }
import LaunchDarkly from 'react-native-launch-darkly';
type User = {
key: string,
email?: string,
firstName?: string,
lastName?: string,
isAnonymous?: bool
};
// init native SDK with api key and user object
LaunchDarkly.configure(apiKey: string, user: User);
// get boolean feature flag value
LaunchDarkly.boolVariation(featureFlagName: string, callback: function): bool
// get string feature flag value
LaunchDarkly.stringVariation(featureFlagName: string, fallback: string, callback: function): string
// adds listener which is called every time given feature flag value is changed
// callback is called with flagName string, so you will have to call LaunchDarkly.boolVariation()
// to get new feature flag value
LaunchDarkly.addFeatureFlagChangeListener(flagName: string, callback: function): void
// removes all onFeatureFlagChange listeners
LaunchDarkly.unsubscribe(): void