Adakah saya menggunakan Firebase JS SDK atau React-Native-Firebase?
P粉083785014
P粉083785014 2023-09-02 18:27:28
0
1
635
<p>Saya mencipta apl web yang besar menggunakan JS SDK Firebase dan kini saya beralih kepada apl mudah alih menggunakan React-Native dan Expo. Memandangkan saya menggunakan Expo, saya mencipta klien pembangunan supaya tidak menggunakan Expo Go kerana RNFirebase menggunakan kod asli. <strong>Matlamat saya: Laksanakan log masuk Google asas yang terikat dengan React-Native-Firebase Authentication</strong></p> <p>Saya telah memasang "react-native-firebase/app" dan "react-native-firebase/auth" menggunakan npm</p> <p>Walau bagaimanapun, apabila saya cuba menggunakan pengesahan log masuk Google (https://rnfirebase.io/auth/social-auth), saya terus mendapat ralat mengatakan '[DEFAULT]' apl firebase tidak dimulakan. </p> <p>Jadi, saya mengikuti panduan lain (saya tidak tahu sama ada ia betul) yang memberitahu saya untuk mencipta fail firebase.js yang serupa dengan aplikasi web saya dengan kandungan berikut: </p> <pre class="brush:php;toolbar:false;">import firebase daripada '@react-native-firebase/app'; import auth daripada '@react-native-firebase/auth'; // Untuk Firebase JS SDK v7.20.0 dan ke atas, measurementId adalah pilihan const firebaseConfig = {apiKey: "AIzaSyCoNUZI0-Mir9hGtXUJJmIrML88JxSOJAk",authDomain: "campus-market-25068.firebaseapp.com",databaseURL: "https://campus-market-25068-default-rtdb",.profirebaseIo. "campus-market-25068",storageBucket: "campus-market-25068.appspot.com",messagingSenderId: "315015080294",appId: "1:315015080294:web:53dbed097963d67b", "Squarement-Id67b"; "G}TVM7X2" (!firebase.apps.length) {firebase.initializeApp(firebaseConfig);}eksport { firebase, auth }</pre> <p>Sekarang, pengesahan berfungsi, tetapi saya tidak tahu sama ada saya masih menggunakan RNFirebase atau menggunakan JS SDK Firebase.Bolehkah sesiapa menjawab ini? Ini ialah kod pengesahan saya: </p> <pre class="brush:php;toolbar:false;">import 'expo-dev-client' import { useState, useEffect } daripada 'react'; import { StatusBar } daripada 'expo-status-bar'; import { StyleSheet, Text, View, Button } daripada 'react-native'; // import './src/firebase';/ /import * sebagai firebase daripada '@react-native-firebase/app'; import { auth } daripada './firebase'; import { GoogleSignin } daripada '@react-native-google-signin/google-signin'; eksport fungsi lalai App() { GoogleSignin.configure({ webClientId: '315015080294-gejpuoaedqhbcve32dat55gg4cn5va3j.apps.googleusercontent.com', }); fungsi async onGoogleButtonPress() { // Semak sama ada peranti menyokong Google Play tunggu GoogleSignin.hasPlayServices({ showPlayServicesUpdateDialog: true }); // Dapatkan token ID pengguna console.log(GoogleSignin); const { idToken } = menunggu GoogleSignin.signIn(); const googleCredential = auth.GoogleAuthProvider.credential(idToken); // Log masuk pengguna menggunakan kelayakan return auth().signInWithCredential(googleCredential);// console.log("YOOOOOOOO5")// console.log(res)} kembali ( <Lihat gaya={styles.container}><Teks>Buka App.js untuk mula membangunkan aplikasi anda! </Text><StatusBar style="auto" /><Button title="Log Masuk Google" onPress={() => onGoogleButtonPress().then(() => console.log('Gunakan Log masuk Google! '))}/></Lihat>);}) ) const styles = StyleSheet.create({container: {flex: 1,backgroundColor: '#fff',alignItems: 'center',justifyContent: 'center',},});</pre> <p>Saya tidak pasti di mana hendak bermula</p>
P粉083785014
P粉083785014

membalas semua(1)
P粉682987577

Dalam baris kod ini, perpustakaan auth().signInWithCredential ,你仍然在使用 react-native-firebase digunakan:

return auth().signInWithCredential(googleCredential);

Dalam Firebase JavaScript SDK, ini mungkin firebase.auth().signInWithCredential 或者 signInWithCredential(auth, ....

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan