Я использую 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();
}
Я хотел бы получить предложения.Спасибо за ответы.
Амит