Проверьте, использует ли приложение 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.

Другие вопросы по тегам