Будет ли AngularFirestore с собственным API Firebase работать на собственных платформах? - PullRequest
0 голосов
/ 18 января 2020

Таким образом, при преобразовании функций в приложении, над которым я работаю, для работы с AngularFire вместо веб-SDK Firebase, я заметил, что вы можете вызывать свойство firestore AngularFirestore, и оно позволяет вам использовать собственный API Firebase.

Например:

import { AngularFirestore, DocumentReference, DocumentSnapshot, QueryDocumentSnapshot } from '@angular/fire/firestore';
...
constructor(private dataService: DataService, private db: AngularFirestore
    ) { }
...

listenImages(): Function { //I call db.firestore here
        return this.db.firestore.collection('users').doc('bisonlife').collection('bisonlife').doc(this.dataService.uid.value)
            .collection('images').orderBy("dateAdded", "desc").onSnapshot(querySnapshot => {
                let messages = [];
                querySnapshot.forEach(thing => {
                    messages.push({
                        ...thing.data()
                    });
                });
                this.zone.run(() => {
                    this.uploadedPhotos = messages;
                });
            });
    }

Не выдает ошибок. Несмотря на то, что он использует собственный API Firebase вместо AngularFirestore, он все еще работает в обычном браузере.

В настоящее время я использую Ioni c. Мой вопрос заключается в том, что если я буду вызывать собственный API Firebase таким образом, сможет ли AngularFire обернуть функции в собственный код, если я соберу в iOS и Android? Это определенно сэкономит мне много времени, если бы это было так. Я сделал ошибку, используя Web SDK для приложения, которое я хочу разместить на мобильных устройствах, поэтому в настоящее время я пытаюсь преобразовать все функции, зависящие от Firestore, в то, что AngularFirestore может использовать. Заранее спасибо!

1 Ответ

1 голос
/ 18 января 2020

AngularFire не вызывает никакого собственного кода. Это просто пакет npm, который на самом деле использует Firebase Web SDK для взаимодействия с Firebase.

https://github.com/angular/angularfire/blob/master/src/auth/auth.ts#L5

Когда вы загружаете пример плагина:

cordova plugin add <cordova-plugin>

Тогда этот плагин будет вызывать собственный код. Но это не так. У вас не должно возникнуть проблем с использованием Firebase Web SDK в ioni c. Уже angularfire использует его в своем исходном коде.

Весь смысл использования angularfire состоит в том, чтобы упростить привязку данных к шаблону. Так что лучше использовать его в проекте ioni c, который использует angular. (Но который имеет ничего общего с вызовом нативного кода ..)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...