Как мне настроить удаленный конфиг Firebase на ionic3? - PullRequest
0 голосов
/ 01 марта 2019

Я использую firebase для определенного проекта (ionic3).Я использую этот ионный родной плагин: firebase plugin .FCM и база данных (с использованием angularfire) работают (хотя я не смог отправить push-уведомления на устройства, протестированные на iOS)

, когда я использую этот код:

this.url = "";
console.log("before getValue()");
this.firebase.getValue("info_url").then(url => {
   console.log("during getValue()");
   this.url = url;
   console.log(this.url);
}).catch(error => {
   console.log(error);
});
console.log("after getValue()");

печатает на консоли:

before getValue()
after getValue()

, и я не получаю URL.

РЕДАКТИРОВАТЬ: В app.component.ts я также хочу вызвать внутри this.platform.ready (). Then ()из этих функций.Какой из них мне следует использовать?

getWindowConfig() {
    (<any>window).FirebasePlugin.fetch(600, result => {
      // activate the fetched remote config
      console.log(JSON.stringify(result)); //Always "OK"
      (<any>window).FirebasePlugin.activateFetched(
        // Android seems to return error always, so we want to cath both
        result => {
          console.log(JSON.stringify(result)); //either true or false
          (<any>window).FirebasePlugin.getValue("info_url", result => {
            console.log(result)
          }, reason => {
            console.warn(`Error  ${reason}`);
          });
        }, reason => {
          console.warn(reason);
        }
      )
    });
  }

  async getConfigValues() {
    if (this.platform.is('android')) {
      var defaults = {
        support_email: "<default>",
        nanobyte_email: "<default>",
        kilobyte_email: "<default>",
        megabyte_email: "<default>",
        gigabyte_email: "<default>",
        hadassah_email: "<default>",
        service_email: "<default>",
        info_url: "<default>",
        schedule_url: "<default>"
      }
      await this.firebase.setDefaults(defaults);
    }
    await this.firebase.fetch();
    this.firebase.activateFetched();
  }

Я хотел бы получить предложения.Спасибо за ответы.

Амит

...