Est-ce que j'utilise le SDK Firebase JS ou React-Native-Firebase ?
P粉083785014
P粉083785014 2023-09-02 18:27:28
0
1
638
<p>J'ai créé une grande application Web à l'aide du SDK JS de Firebase et je passe maintenant à une application mobile à l'aide de React-Native et Expo. Depuis que j'utilise Expo, j'ai créé un client de développement pour ne pas utiliser Expo Go puisque RNFirebase utilise du code natif. <strong>Mon objectif : mettre en œuvre une connexion de base à Google liée à l'authentification React-Native-Firebase</strong></p> <p>J'ai installé "react-native-firebase/app" et "react-native-firebase/auth" en utilisant npm</p> <p>Cependant, lorsque j'essaie d'utiliser l'authentification de connexion de Google (https://rnfirebase.io/auth/social-auth), je reçois toujours une erreur indiquant que l'application Firebase « [DEFAULT] » n'est pas initialisée. </p> <p>J'ai donc suivi un autre guide (je ne sais pas s'il est correct) qui me disait de créer un fichier firebase.js similaire à mon application web avec le contenu suivant : </p> <pre class="brush:php;toolbar:false;">importer Firebase depuis '@react-native-firebase/app'; importer l'authentification depuis '@react-native-firebase/auth' ; // Pour Firebase JS SDK v7.20.0 et versions ultérieures, MeasurementId est facultatif const firebaseConfig = {apiKey : "AIzaSyCoNUZI0-Mir9hGtXUJJmIrML88JxSOJAk", authDomain : "campus-market-25068.firebaseapp.com", databaseURL : "https://campus-market-25068-default-rtdb.firebaseio.com", projectId : "campus-market-25068", bucket de stockage : "campus-market-25068.appspot.com", messageSenderId : "315015080294", ID d'application : "1:315015080294:web:53dbed097963d67b92c0a7", identifiant de mesure : "G-5TVXC2MQ7S"} ;si (!firebase.apps.length) {firebase.initializeApp(firebaseConfig);}export { firebase, auth }</pre> <p>Maintenant, l'authentification fonctionne, mais je ne sais pas si j'utilise toujours RNFirebase ou si j'utilise le SDK JS de Firebase.Quelqu'un peut-il répondre à cela ? Voici mon code d'authentification : </p> <pre class="brush:php;toolbar:false;">importer 'expo-dev-client' importer { useState, useEffect } depuis 'react' ; importer { StatusBar } depuis 'expo-status-bar' ; importer { StyleSheet, Text, View, Button } depuis 'react-native' ; // importer './src/firebase';/ /import * en tant que firebase depuis '@react-native-firebase/app' ; importer { auth } depuis './firebase' ; importer { GoogleSignin } depuis '@react-native-google-signin/google-signin' ; exporter la fonction par défaut App() { GoogleSignin.configure({ webClientId : '315015080294-gejpuoaedqhbcve32dat55gg4cn5va3j.apps.googleusercontent.com', }); fonction asynchrone onGoogleButtonPress() { // Vérifiez si l'appareil prend en charge Google Play wait GoogleSignin.hasPlayServices({ showPlayServicesUpdateDialog: true }); // Récupère le jeton d'identification de l'utilisateur console.log(GoogleSignin); const { idToken } = wait GoogleSignin.signIn(); const googleCredential = auth.GoogleAuthProvider.credential(idToken); // Connectez-vous à l'utilisateur à l'aide des informations d'identification return auth().signInWithCredential(googleCredential);// console.log("YOOOOOOOOO5")// console.log(res)} retour ( <View style={styles.container}><Text>Ouvrez App.js pour commencer à développer votre application ! </Text><StatusBar style="auto" /><Button title="Connexion Google" onPress={() => onGoogleButtonPress().then(() => console.log('Utiliser Connexion Google ! '))}/></Afficher>);}) ) const styles = StyleSheet.create({container : {flex : 1,backgroundColor : '#fff',alignItems : 'center',justifyContent : 'center',},});</pre> <p>Je ne sais pas par où commencer</p>
P粉083785014
P粉083785014

répondre à tous(1)
P粉682987577

Dans cette ligne de code, la bibliothèque auth().signInWithCredential ,你仍然在使用 react-native-firebase est utilisée :

return auth().signInWithCredential(googleCredential);

Dans le SDK JavaScript Firebase, cela pourrait être firebase.auth().signInWithCredential 或者 signInWithCredential(auth, ....

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal