検索

ホームページ  >  に質問  >  本文

Firebase JS SDK または React-Native-Firebase を使用していますか?

<p>Firebase の JS SDK を使用して大規模なウェブ アプリを作成しましたが、現在は React-Native と Expo を使用するモバイル アプリに移行しています。私はExpoを使用しているため、RNFirebaseはネイティブコードを使用しているため、Expo Goを使用しないように開発クライアントを作成しました。 <strong>私の目標: React-Native-Firebase Authentication に関連付けられた基本的な Google ログインを実装する</strong></p> <p>npm を使用して「react-native-firebase/app」と「react-native-firebase/auth」をインストールしました</p> <p>しかし、Google のログイン認証 (https://rnfirebase.io/auth/social-auth) を使用しようとすると、「[DEFAULT]」 Firebase アプリが初期化されていないというエラーが表示され続けます。 </p> <p>そこで、別のガイド (正しいかどうかはわかりません) に従い、次の内容を含む Web アプリケーションと同様の firebase.js ファイルを作成するように指示しました。 <pre class="brush:php;toolbar:false;">「@react-native-firebase/app」から firebase をインポートします; '@react-native-firebase/auth' から認証をインポートします。 // Firebase JS SDK v7.20.0 以降の場合、measurementId はオプションです 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-5TVXC2M" Q7S" };if (!firebase.apps.length) {firebase.initializeApp(firebaseConfig);}export { firebase, auth }</pre> <p>これで認証は機能しますが、まだ RNFirebase を使用しているのか、Firebase の JS SDK を使用しているのかわかりません。誰かこれに答えられますか?これは私の認証コードです: </p> <pre class="brush:php;toolbar:false;">import 'expo-dev-client' import { useState, useEffect } from 'react'; import { StatusBar } から 'expo-status-bar'; import { StyleSheet, Text, View, Button } from 'react-native'; // './src/firebase' をインポートします;/ /import * '@react-native-firebase/app' から Firebase として; import { auth } から './firebase'; 「@react-native-google-signin/google-signin」から { GoogleSignin } をインポートします。 デフォルト関数 App() をエクスポート { GoogleSignin.configure({ webClientId: '315015080294-gejpuoaedqhbcve32dat55gg4cn5va3j.apps.googleusercontent.com', }); 非同期関数 onGoogleButtonPress() { // デバイスが Google Play をサポートしているかどうかを確認します await GoogleSignin.hasPlayServices({ showPlayServicesUpdateDialog: true }); // ユーザーの ID トークンを取得します console.log(GoogleSignin); const { idToken } = GoogleSignin.signIn() を待ちます。 const googleCredential = auth.GoogleAuthProvider.credential(idToken); // 認証情報を使用してユーザーをログインします return auth().signInWithCredential(googleCredential);// console.log("YOOOOOOOO5")// console.log(res)} 戻る ( <View style={styles.container}><Text>App.js を開いてアプリケーションの開発を開始してください。 </Text><StatusBar style="auto" /><Button title="Google ログイン" onPress={() => onGoogleButtonPress().then(() => console.log('Use Google でサインインしてください!'))}/></View>);}) ) const style = StyleSheet.create({container: {flex: 1,backgroundColor: '#fff',alignItems: 'center',justifyContent: 'center',},});</pre> <p>どこから始めればよいかわかりません</p>
P粉083785014P粉083785014455日前616

全員に返信(1)返信します

  • P粉682987577

    P粉6829875772023-09-03 13:22:20

    このコード行では、auth().signInWithCredential が使用されており、引き続き react-native-firebase ライブラリを使用しています。 リーリー

    Firebase JavaScript SDK では、これは

    firebase.auth().signInWithCredential または signInWithCredential(auth, .... になります。

    返事
    0
  • キャンセル返事