React Native Firebaseの初期セットアップを行う
Firebaseコンソールで 匿名 ログイン プロバイダを有効にする
パッケージをインストールする
try🐶everything myproject$ yarn add @react-native-firebase/auth try🐶everything myproject$ npx pod-install
auth()設定を行う
expo-router環境です。(詳細)
// app/_layout.tsx ... import auth, {FirebaseAuthTypes} from '@react-native-firebase/auth'; ... export default function RootLayout() { const [loading, setLoading] = useState<boolean>(true); const [user, setUser] = useState<FirebaseAuthTypes.User | null>(null); ... useEffect(() => { auth() .signInAnonymously() .then(() => { console.log('User signed in anonymously'); }) .catch(err => { if (err.code === 'auth/operation-not-allowed') { console.log('Enable anonymous in your firebase console.'); } console.error(err); }); }, []); useEffect(() => { auth().onAuthStateChanged(userState => { setUser(userState); if (loading) { setLoading(false); } }); }, [loading]); ...
アプリを再起動し、console.log('!@# user:', user);
メッセージを確認すると⬇︎のように表示されれば問題ありません!
const user = { displayName: null, email: null, emailVerified: false, isAnonymous: true, metadata: {creationTime: 1696893967939, lastSignInTime: 1696893967939}, multiFactor: {enrolledFactors: [Array]}, phoneNumber: null, photoURL: null, providerData: [], providerId: 'firebase', refreshToken: 'AMf-vBxBEOjmL8eO26vlJsBkTouzXIpjh5X2YB0AWxI15mHsMg3viVGLzmTK0s_QKZdRtiKkz3TbZ0u7wLfrOgDC5MNNwQBOoxie9lMC0Rqu-SSxVUOi-dmNSfaC8-1NvZuFnWRzlDEAT26iZ2CZFD_o7nRrGYeMyL9Vu88YmQ9rx-YqtUOVqGI', tenantId: null, uid: 'nd7r7aaZiEbrMorlOXUxYsOPkyR2', };
Firebaseコンソールでも確認します。
これで、完了です!
React Native Firebase の他のパッケージ ( Analyticsなど ) を利用する時には匿名認証を含め、Firebase認証が必須ですので、ログイン機能を持たなくても追加しておくの良いと思います。
参考文献
Authentication | React Native Firebase
Installation and getting started with Authentication.
コメント