Verwende ich Firebase JS SDK oder React-Native-Firebase?
P粉083785014
P粉083785014 2023-09-02 18:27:28
0
1
636
<p>Ich habe eine große Web-App mit dem JS SDK von Firebase erstellt und steige jetzt auf eine mobile App mit React-Native und Expo um. Da ich Expo verwende, habe ich einen Entwicklungsclient erstellt, um Expo Go nicht zu verwenden, da RNFirebase nativen Code verwendet. <strong>Mein Ziel: Einfaches Google-Login implementieren, das an die React-Native-Firebase-Authentifizierung gebunden ist</strong></p> <p>Ich habe „react-native-firebase/app“ und „react-native-firebase/auth“ mit npm installiert</p> <p>Wenn ich jedoch versuche, die Anmeldeauthentifizierung von Google (https://rnfirebase.io/auth/social-auth) zu verwenden, erhalte ich immer die Fehlermeldung „[STANDARD]“, die Firebase-App ist nicht initialisiert. </p> <p>Also bin ich einer anderen Anleitung gefolgt (ich weiß nicht, ob sie richtig ist), die mir sagte, ich solle eine firebase.js-Datei ähnlich meiner Webanwendung mit dem folgenden Inhalt erstellen: </p> <pre class="brush:php;toolbar:false;">Firebase importieren von '@react-native-firebase/app'; Authentifizierung aus „@react-native-firebase/auth“ importieren; // Für Firebase JS SDK v7.20.0 und höher istmeasurementId optional const firebaseConfig = {apiKey: "AIzaSyCoNUZI0-Mir9hGtXUJJmIrML88JxSOJAk",authDomain: "campus-market-25068.firebaseapp.com",databaseURL: "https://campus-market-25068-default-rtdb.firebaseio.com",projectId: „campus-market-25068“,storageBucket: „campus-market-25068.appspot.com“,messagingSenderId: „315015080294“,appId: „1:315015080294:web:53dbed097963d67b92c0a7“,measurementId: „G-5TVXC2MQ7S“};if (!firebase.apps.length) {firebase.initializeApp(firebaseConfig);}export { firebase, auth }</pre> <p>Jetzt funktioniert die Authentifizierung, aber ich weiß nicht, ob ich immer noch RNFirebase oder das JS SDK von Firebase verwende.Kann das jemand beantworten? Das ist mein Authentifizierungscode: </p> <pre class="brush:php;toolbar:false;">import 'expo-dev-client' import { useState, useEffect } from 'react'; import { StatusBar } aus 'expo-status-bar'; import { StyleSheet, Text, View, Button } from 'react-native'; // import './src/firebase';/ /import * als Firebase von '@react-native-firebase/app'; import { auth } from './firebase'; importiere { GoogleSignin } aus '@react-native-google-signin/google-signin'; Standardfunktion App() exportieren { GoogleSignin.configure({ webClientId: '315015080294-gejpuoaedqhbcve32dat55gg4cn5va3j.apps.googleusercontent.com', }); asynchrone Funktion onGoogleButtonPress() { // Überprüfen Sie, ob das Gerät Google Play unterstützt Warten Sie auf GoogleSignin.hasPlayServices({ showPlayServicesUpdateDialog: true }); // Holen Sie sich das ID-Token des Benutzers console.log(GoogleSignin); const { idToken } = waiting GoogleSignin.signIn(); const googleCredential = auth.GoogleAuthProvider.credential(idToken); // Benutzer mit Anmeldeinformationen anmelden return auth().signInWithCredential(googleCredential);// console.log("YOOOOOOOO5")// console.log(res)} zurückkehren ( <View style={styles.container}><Text>Öffnen Sie App.js, um mit der Entwicklung Ihrer Anwendung zu beginnen! </Text><StatusBar style="auto" /><Button title="Google Login" onPress={() => onGoogleButtonPress().then(() => console.log('Use Google-Login! '))}/></View>}) ) const Styles = StyleSheet.create({container: {flex: 1,backgroundColor: '#fff',alignItems: 'center',justifyContent: 'center',},});</pre> <p>Ich weiß nicht, wo ich anfangen soll</p>
P粉083785014
P粉083785014

Antworte allen(1)
P粉682987577

在这行代码中,使用了 auth().signInWithCredential ,你仍然在使用 react-native-firebase 库:

return auth().signInWithCredential(googleCredential);

在 Firebase JavaScript SDK 中,这可能是 firebase.auth().signInWithCredential 或者 signInWithCredential(auth, ...

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage