我正在试图弄清楚如何检查我的Ionic应用程序是否在DevAPP上运行(DevAPP是一个在您的设备上本地运行您的应用程序的测试平台)。
这很重要,因为我使用的是DevAPP中没有的插件,因此它会崩溃应用程序。我希望能够执行某种检查以查看应用程序是否正在使用DevAPP运行。而且,如果是,我就不会为不可用的插件调用代码。
我试过检查platform.platforms()
,但它只是说“mobile,android,phablet,mobileweb”。那些似乎并不表明DevAPP正在运行。
另一种可能的解决方案是检查是否安装了插件。我试着检查注入的变量是否真实if( this.fcm )
,但这仍然会导致应用程序崩溃。
答案 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中运行时不再崩溃。