检查应用是否正在使用DevAPP

时间:2018-06-01 18:08:28

标签: ionic2 ionic3 ionic-devapp

我正在试图弄清楚如何检查我的Ionic应用程序是否在DevAPP上运行(DevAPP是一个在您的设备上本地运行您的应用程序的测试平台)。

这很重要,因为我使用的是DevAPP中没有的插件,因此它会崩溃应用程序。我希望能够执行某种检查以查看应用程序是否正在使用DevAPP运行。而且,如果是,我就不会为不可用的插件调用代码。

我试过检查platform.platforms(),但它只是说“mobile,android,phablet,mobileweb”。那些似乎并不表明DevAPP正在运行。

另一种可能的解决方案是检查是否安装了插件。我试着检查注入的变量是否真实if( this.fcm ),但这仍然会导致应用程序崩溃。

1 个答案:

答案 0 :(得分:0)

好的。好吧,我无法弄清楚如何在代码中专门检查应用程序当前是否在DevAPP上运行。但我确实找到了解决问题的方法。这实际上非常简单。

由于我尝试使用的本机插件返回一个promise,我只使用了promises上提供的.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中运行时不再崩溃。