Si vous avez une application React Native, vous pouvez ajouter le widget de chat en direct Chatwoot et discuter avec vos visiteurs en temps réel. Cela peut être fait en 3 étapes simples grâce au plugin Chatwoot.
Étape 1. Créez une boîte de réception de site web dans Chatwoot
Veuillez consulter ce guide pour des instructions détaillées sur la configuration d'une boîte de réception de site web dans Chatwoot.
Étape 2. Ajoutez le plugin à votre projet
Ajoutez l’un des plugins suivants à votre projet.
yarn add @chatwoot/react-native-widget
ou
npm install --save @chatwoot/react-native-widget --save
Cette librairie dépend de react-native-webview et async-storage. Veuillez suivre les instructions fournies dans la documentation.
Installation iOS
Si vous utilisez une version de React Native supérieure à 60.0, c'est relativement simple.
cd ios && pod install
Étape 3. Utilisez-le comme ceci
Remplacez websiteToken et baseUrl par les valeurs appropriées.
import React, { useState } from 'react';
import { StyleSheet, View, SafeAreaView, TouchableOpacity, Text } from 'react-native';
import ChatWootWidget from '@chatwoot/react-native-widget';
const App = () => {
const [showWidget, toggleWidget] = useState(false);
const user = {
identifier: 'john@gmail.com',
name: 'John Samuel',
avatar_url: '',
email: 'john@gmail.com',
identifier_hash: '',
};
const customAttributes = { accountId: 1, pricingPlan: 'paid', status: 'active' };
const websiteToken = 'WEBSITE_TOKEN';
const baseUrl = 'CHATWOOT_INSTALLATION_URL';
const locale = 'en';
return (
<SafeAreaView style={styles.container}>
<View>
<TouchableOpacity style={styles.button} onPress={() => toggleWidget(true)}>
<Text style={styles.buttonText}>Ouvrir le widget</Text>
</TouchableOpacity>
</View>
{
showWidget&&
<ChatWootWidget
websiteToken={websiteToken}
locale={locale}
baseUrl={baseUrl}
closeModal={() => toggleWidget(false)}
isModalVisible={showWidget}
user={user}
customAttributes={customAttributes}
/>
}
</SafeAreaView>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
button: {
height: 48,
marginTop: 32,
paddingTop: 8,
paddingBottom: 8,
backgroundColor: '#1F93FF',
borderRadius: 8,
borderWidth: 1,
borderColor: '#fff',
justifyContent: 'center',
},
buttonText: {
color: '#fff',
textAlign: 'center',
paddingLeft: 10,
fontWeight: '600',
fontSize: 16,
paddingRight: 10,
},
});
export default App;
Et... c'est tout. Consultez l'exemple complet ici.