Угловой конденсатор: прослушиватель appStateChange не работает

# #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:

Решено! Мое решение состояло в том, чтобы увеличить версии конденсаторов и удалить плагин фоновой задачи, так как он не был нужен для моих целей.