Grazie al vostro feedback continuo, ora Firebase offre con la versione 3.1.0 dell’SDK JavaScript un supporto più ampio per React Native. E non è tutto! Questa versione fornisce anche l'accesso non autenticato dall’SDK Node.js, rendendo possibile l’inizializzazione di un'app senza un account di servizio. Che cosa significa? Vediamolo nei dettagli.

Supporto per React Native

Quando abbiamo presentato l’SDK Firebase 3.x in occasione di Google I/O, l’autenticazione dell'SDK non era compatibile con React Native. La versione 3.1.0 sostituisce l'uso di API specifiche per il browser e consente quindi a Firebase di operare di nuovo con React Native. Risolve inoltre problemi di lunga data relativi all’utilizzo di Firebase in React Native, compreso lo stato di autenticazione permanente per i riavvii delle app. Ciò significa che dovrai solo inizializzare il tuo progetto Firebase come avresti fatto normalmente in qualsiasi altra app JavaScript.
import ReactNative from "react-native"; import firebase from "firebase"; // Initialize Firebase const firebaseConfig = { apiKey: "<YOUR-API-KEY>", authDomain: "<YOUR-AUTH-DOMAIN>", databaseURL: "<YOUR-DATABASE-URL>", storageBucket: "<YOUR-STORAGE-BUCKET>" }; firebase.initializeApp(firebaseConfig);
Grazie agli aggiornamenti dell’SDK 3.1.0, la maggior parte delle caratteristiche dell’SDK JavaScript ora dovrebbe funzionare correttamente nell’ambito di React Native. Ci sono però un paio di dettagli da tenere presente:
  • I metodi di autorizzazione "Headful", quali ad esempio signInWithPopup(), signInWithRedirect(), linkWithPopup() e linkWithRedirect(), non funzionano in React Native (e neanche in Cordova). Puoi ancora accedere o creare un collegamento con un provider federato utilizzando signInWithCredential() con un token OAuth del provider di tua scelta.
  • React Native non supporta i tipi File e Blob, pertanto i caricamenti con Firebase Storage non verranno eseguiti in questo ambiente. Gli scaricamenti di file, invece funzioneranno.

Accesso non autenticato

Un'altra caratteristica della versione 3.1.0 è il supporto per l'accesso non autenticato con l'SDK Node.js. Prima era necessario avere un account di servizio per utilizzare l'SDK Node.js e ciò implicava la creazione di una chiave dell’account di servizio nella Firebase Console, lo scaricamento sul tuo server e l’autenticazione facendo riferimento al file nel codice in questione. Un account di servizio è comunque necessario per creare e verificare i token, ma non serve tutte le volte che utilizzi il Node.js. Con l’ultimo SDK, abbiamo reso questo requisito meno rigido in modo che tu possa inizializzare l’app con l’URL del tuo database.
import firebase from "firebase"; firebase.initializeApp({ databaseURL: "<YOUR-DATABASE-URL>", });
Senza un account di servizio l’accesso al Realtime Database sarà limitato, proprio come nel caso di qualsiasi altro client non autenticato.

Facci sapere che cosa ne pensi

Grazie a tutti per la pazienza dimostrata e per aver espresso le vostre opinioni allo Slack Team, al Google Group e tramite gli altri nostri canali di supporto.