1.10.15.8. fejezet, Firebase

Kapcsolódó hivatkozások

Alkalmazás függőségek

npm install @react-native-firebase/app
npm install @react-native-firebase/auth
npm install @react-native-firebase/database

android/build.gradle:

buildscript {
...
    dependencies {
...
        classpath("com.google.gms:google-services:4.3.15")
...
    }
}
...

android/app/build.gradle:

// "com.android.application" --- EZ ALÁ BEILLESZTENI
apply plugin: "com.google.gms.google-services"
...
dependencies {
...
    implementation platform("com.google.firebase:firebase-bom:31.2.0")
    implementation "com.google.firebase:firebase-analytics"
...
}

android/app/src/main/AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.geologgerapp">
...
    <meta-data
      android:name="com.google.android.geo.API_KEY"
      android:value="YOUR-API-KEY" />
  </application>
</manifest>

Google services

Android-hoz szükséges a google-services.json letöltése a support.google.com leírása szerint. Majd ezt a fájlt másoljuk be az android/app könyvtárba.

Triggerek

Az adatbázis változásának követésére használhatjuk a referenciát az 'on(eventType: FirebaseDatabaseTypes.EventType, callback)' metódusát, aminek az eventType-ja lehet: "value", "child_added", "child_changed", "child_removed", vagy "child_moved."

import { firebase } from '@react-native-firebase/database';
 
export default class FirebaseHelper {
    private database = firebase.app()
        .database('https://geologger-b9659-default-rtdb.europe-west1.firebasedatabase.app');
 
    constructor() {
    }
 
    public registerNotification() {
        let ref = this.database.ref('/geolocations/users');
        ref.off('value'); //Ez eltávolítja a korábban regisztrált callback funkciót
        ref.on('value', function (snapshot) {
            let key = Object.keys(snapshot.val())[0];
            console.log(snapshot.child(key).toJSON());
        });
    }
}