# #angular #typescript #firebase #ionic-framework #capacitor
Вопрос:
Чтобы решить KPI, я пытаюсь сгенерировать событие входа с помощью Firebase SDK, когда пользователь закрывает приложение (Ионный / конденсатор / Угловой). Но у меня много проблем с попытками войти в этого appStateChange
слушателя (который создается в ngOnInit
моем методе app.component.ts
).
Поскольку официальный плагин фоновых задач конденсатора был отключен, я использовал этот плагин сообщества прямо здесь, который действует точно так же, как официальный
import { BackgroundTask } from '@robingenz/capacitor-background-task';
App.addListener('appStateChange', async ({ isActive }) => {
// It isn't getting here
if (isActive)
return;
// When the app is running at the background
const taskId = await BackgroundTask.beforeExit(async () => {
console.log('Sending app_close event to Firebase')
await this.firebaseAnalyticsService.logEvent('app_close', {
lastScreenName: this.firebaseAnalyticsService.getCurrentScreenName(),
});
BackgroundTask.finish({ taskId });
});
})
я пытался справиться с этим и другими методами, с помощью плагинов cordova, window.beforeUnload и т. Д… Ни один из них не работал так, как я ожидал (не входя в обработчики). Я был бы признателен, если бы кто-нибудь мог помочь мне разобраться в этом.
Ответ №1:
Решено! Мое решение состояло в том, чтобы увеличить версии конденсаторов и удалить плагин фоновой задачи, так как он не был нужен для моих целей.