react-native-critizr
React Native wrapper for Critizr
Getting started
npm install react-native-critizr
Additional installation steps
Android
This module does not require any extra step after rebuilding your app.
iOS
- Add the Critizr SDK by adding the following line to your Podfile.
pod "Critizr-ios", :git => "https://github.com/critizr/critizr-ios-pod.git", :tag => "1.2.8"
- Then install it
pod install
- Fill in the Critizr API Key in the info.plist file before calling methods on the Critizr SDK:
<key>CritizrAPIKey</key>
<string>Critizr API Key</string>
- Fill in the Critizr environment in the info.plist file before calling methods on the Critizr SDK (don't forget to replace it with your own):
<key>CritizrEnvironement</key>
<string>PreProduction</string>
or
<key>CritizrEnvironement</key>
<string>Production</string>
Usage
Importing the library:
import Critizr from 'react-native-critizr';
Initiliaze (Only works on Android):
Critizr.init({
apiKey: 'my-secret-api-key',
languageCode: 'en',
});
Manage language:
const language = await Critizr.getLanguage();
Critizr.setLanguage('fr');
Set user for current instance:
Critizr.setUser({
firstname: 'Michael',
lastname: 'Scott',
email: 'michael.scott@dundermifflin.com',
phone: '0123456789',
crmId: '123ABC',
});
Open feedback display:
Critizr.openFeedbackDisplay();
Critizr.openFeedbackDisplay({ placeId: 'your-place-id' });
Critizr.openFeedbackDisplay({
placeId: 'your-place-id',
mode: Critizr.FEEDBACK_MODES.START_WITH_FEEDBACK,
});
Critizr.openFeedbackDisplay({
placeId: 'your-place-id',
mode: Critizr.FEEDBACK_MODES.START_WITH_QUIZ,
});
Critizr.openFeedbackDisplay({
placeId: 'your-place-id',
mode: Critizr.FEEDBACK_MODES.ONLY_QUIZ,
});
Open store display:
Critizr.openStoreDisplay('your-place-id');
Get ratings using event listener:
useEffect(() => {
const listener = Critizr.addEventListener(
Critizr.EVENTS.RATING_RESULT,
(e) => {
if (e?.customerRelationship) {
setResult(
`Customer Relationship: ${e.customerRelationship}, Satisfaction: ${e.satisfaction}`
);
} else {
setResult('Event Rating Error!');
}
}
);
return () => listener.remove();
}, []);
You can perceive whether the user gives feedback (Only works on Android):
useEffect(() => {
const listener = Critizr.addEventListener(
Critizr.EVENTS.FEEDBACK_SENT,
(_) => {
console.log('User given a feedback!');
}
);
return () => listener.remove();
}, []);
Contributing
See the contributing guide to learn how to contribute to the repository and the development workflow.
License
MIT