Проверьте, использует ли приложение DevAPP
Я пытаюсь выяснить, как проверить, работает ли мое приложение Ionic на DevAPP (DevAPP - это платформа тестирования, которая запускает ваше приложение локально на вашем устройстве).
Это важно, потому что я использую плагин, который недоступен в DevAPP, поэтому он вылетает из приложения. Я хочу иметь возможность выполнить какую-то проверку, чтобы увидеть, запущено ли приложение с DevAPP. И, если это так, я просто не буду называть код для недоступного плагина.
Я пытался проверить platform.platforms()
, но он просто говорит "мобильный телефон, Android, Phablet, MobileWeb". Те, кажется, не предполагают, что DevAPP работает.
Другим возможным решением будет способ проверить, установлен ли плагин. Я попытался просто проверить правильность введенной переменной if( this.fcm )
, но это по-прежнему вылетает приложение.
1 ответ
Отлично. Ну, я не смог выяснить, как конкретно проверить в коде, работает ли приложение в данный момент на 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.