Проверьте, использует ли приложение DevAPP - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь выяснить, как проверить, работает ли мое приложение Ionic на DevAPP (DevAPP - это платформа тестирования, которая запускает ваше приложение локально на вашем устройстве).

Это важно, потому что яиспользуя плагин, который недоступен в DevAPP, поэтому он вылетает из приложения.Я хочу иметь возможность выполнить какую-то проверку, чтобы увидеть, запущено ли приложение с DevAPP.И, если это так, я просто не буду вызывать код для недоступного плагина.

Я пытался проверить platform.platforms(), но он просто говорит: «мобильный, андроид, фаблет, мобильный веб».Похоже, они не предполагают, что DevAPP запущен.

Другим возможным решением будет способ проверить, установлен ли плагин.Я попытался просто проверить, была ли введенная переменная правдивой if( this.fcm ), но это все равно приводит к сбою приложения.

1 Ответ

0 голосов
/ 06 июня 2018

Хорошо.Ну, я не смог выяснить, как конкретно проверить в коде, работает ли приложение в данный момент на DevAPP.Но мне удалось найти решение моей проблемы.Это было на самом деле довольно просто.

Поскольку родной плагин, который я пытался использовать, возвращает обещание, я просто использовал метод .catch (), доступный для обещаний:

this.fcm.getToken().then( token => {
    console.log( 'token: ', token ); //@DEBUG
})
.catch( error => { // Catch error that FCM is not available in DevAPP and web
    console.log( 'Error Getting FCM Token: ', error ); //@DEBUG
});

Это также может работать с Observables путем обработкиопция ответа об ошибке:

this.fcm.onNotification().subscribe( 
    data => {
        console.log( 'data: ', data ); //@DEBUG
    },
    error => {
        console.log( 'Error Subscribing to FCM Notification: ', error ); //@DEBUG
    }
); 

После реализации этого кода мое приложение больше не зависало при работе в DevAPP.

...