react-native-survey-monkey
v1.2.5
Published
React Native library for Survey Monkey
Downloads
63
Readme
Survey Monkey for React Native (react-native-survey-monkey)
Platforms:
- iOS
- Android
Installation
Install Node Package
Option A: yarn
yarn add react-native-survey-monkey
Option B: npm
npm install react-native-survey-monkey --save
iOS
Option A: Install with CocoaPods (recommended)
- Add this package to your Podfile
pod 'react-native-survey-monkey', path: '../node_modules/react-native-survey-monkey'
Note that this will automatically pull in the appropriate version of the underlying Survey Monkey
pod.
- Install Pods with
pod install
Option B: Install without CocoaPods (manual approach)
- Add the SurveyMonkey dependency to your Podfile
pod 'surveymonkey-ios-sdk', '~> 2.0'
- Install Pods with
pod install
- Add the XCode project to your own XCode project's
Libraries
directory from
node_modules/react-native-survey-monkey/ios/RNSurveyMonkey.xcodeproj
Add
libRNSurveyMonkey.a
to your XCode project target'sLinked Binary With Libraries
Update
Build Settings
Find Search Paths
and add $(SRCROOT)/../node_modules/react-native-survey-monkey/ios
with recursive
to Framework Search Paths
and Library Search Paths
Android
The Android version doesn't require additional changes, please note that that minSdk for this library is Api 21 (Android 5.x).
Usage
import SurveyMonkey from 'react-native-survey-monkey';
Example:
import React, { PureComponent, createRef } from 'react';
import SurveyMonkey from 'react-native-survey-monkey';
import {
View,
Text,
TouchableOpacity
} from 'react-native';
export default class Example extends PureComponent {
constructor(props) {
super(props);
this.onTouch = this.onTouch.bind(this);
this.surveyMonkeyRef = createRef();
}
onTouch() {
this.surveyMonkeyRef.current.showSurveyMonkey('some hash');
}
render() {
return (
<View style={styles.container}>
<SurveyMonkey ref={ this.surveyMonkeyRef } />
<TouchableOpacity
style={ styles.button }
onPress={ this.onTouch }
>
<Text styles={ styles.buttonText }>
Show survey
</Text>
</TouchableOpacity>
</View>
);
}
}
AppRegistry.registerComponent('Example', () => Example);
More features:
Getting respondent data:
<SurveyMonkey
ref={ this.ref }
onRespondentDidEndSurvey={ (data) => {
console.log('Respondent', data.respondent);
console.log('Error', data.error);
} }
/>
'Cancel' button tint color (iOS only):
<SurveyMonkey
ref={ this.ref }
cancelButtonTintColor="#000000"
/>
You can add custom variables:
onTouch() {
this.surveyRef.current.showSurveyMonkey('some hash', { var1: 'var1', var2: 'var2', ... });
}
Schedule Intercept (ios: scheduleInterceptFromViewControllerWithTitle):
onTouch() {
this.surveyRef.current.showSurveyMonkey('some hash', null, 'Title');
}
Schedule Intercept with Params (ios: scheduleInterceptFromViewControllerWithParams):
onTouch() {
this.surveyRef.current.showSurveyMonkey('some hash', null, null, {
title: 'Title',
body: 'Body',
positiveActionTitle: 'positive',
cancelTitle: 'cancel',
afterInstallInterval: 10,
afterAcceptInterval: 10,
afterDeclineInterval: 10
});
}
Contact
- Yaroslav Fuchko (iOS) [email protected]
- Richard Mozes (Android) [email protected]