Skip to content
Kezdőlap » Expo + ReactNative + Firebase

Expo + ReactNative + Firebase

A nagy kérdés, hogy hogyan lehet használni a Google Firebase-t egy Expo ReactNative mobilalkalmazásban? A válasz, hogy egyszerűen :).

expo rn firebase
A kép innen jött. Köszi!

Firebase használata Expo-val

Mint ahogyan mindig hangsúlyozom, ha valami új dolgot csinálunk, akkor érdemes elolvasni a legfrissebb dokumentációt!

A dokumentáció szerint az első lépés, hogy telepítsük a Firebase-t, vagyis konzolban adjuk ki a következő parancsot:

npx expo install firebase

Használat ReactNative alkalmazásban

Először is el kell dönteni, hol van a legjobb helye a Firebase használatának az alkalmazáson belül. Minden bizonnyal ez a program belépési pontja, ami az app.js fájl.

Az Expo dokumentáció alapján haladva, a következő lépés, hogy importáljuk, amit kell:

import { initializeApp } from 'firebase/app';

Jöhet a konfigurációs szakasz, egy az egyben kimásolva a doksiból:

const firebaseConfig = {
  apiKey: 'api-key',
  authDomain: 'project-id.firebaseapp.com',
  databaseURL: 'https://project-id.firebaseio.com',
  projectId: 'project-id',
  storageBucket: 'project-id.appspot.com',
  messagingSenderId: 'sender-id',
  appId: 'app-id',
  measurementId: 'G-measurement-id',
};

És a slusszkulcs elfordítása, vagyis a Firebase inicializálása:

initializeApp(firebaseConfig);

A fentieket egyébként első nekifutásra bele lehet írni az app.js-be is, az importálások után, a komponens függvény definíciója elé.

Konfigurációs beállítások

A konfigurációban van egy sor adat, amit a saját projektünkre szabva kell megadni. Az első és legfontosabb az api-key, ami az Firebase projektünket azonosító kulcs. A kérdés az, hogy hol vannak ezek az adatok?

Vissza kell menni a Firebase oldalán a projektünk kezdő oldalára és a Project Overview melletti fogaskerék ikonra kattintva jön elő a Project settings almenüpont is. Ez kell nekünk! Ezzel kell kicserélni a fenti kódot.

Hibakezelés

A tesztelés során belefutottam egy hibába, ami a bundling fázisban jelentkezik, emiatt nem is tudtam kipróbálni elsőre az alkalmazást. Aztán fény derült a hiba okára és megoldás is lett. Ebben a posztban írtam le mindent, ami ezzel kapcsolatos.