Ionic2 检查应用程序是否正在使用DevAPP
我正试图弄清楚如何检查我的Ionic应用程序是否在DevAPP上运行(DevAPP是一个测试平台,在您的设备上本地运行您的应用程序) 这一点很重要,因为我使用的插件在DevAPP中不可用,因此会使应用程序崩溃。我希望能够执行某种检查,看看应用程序是否正在使用DevAPP运行。如果是的话,我不会为不可用的插件调用代码 我试过检查Ionic2 检查应用程序是否正在使用DevAPP,ionic2,ionic3,ionic-devapp,Ionic2,Ionic3,Ionic Devapp,我正试图弄清楚如何检查我的Ionic应用程序是否在DevAPP上运行(DevAPP是一个测试平台,在您的设备上本地运行您的应用程序) 这一点很重要,因为我使用的插件在DevAPP中不可用,因此会使应用程序崩溃。我希望能够执行某种检查,看看应用程序是否正在使用DevAPP运行。如果是的话,我不会为不可用的插件调用代码 我试过检查platform.platforms(),但它只是说“移动、android、phablet、mobileweb”。这些似乎并不表明DevAPP正在运行 另一个可能的解决方案
platform.platforms()
,但它只是说“移动、android、phablet、mobileweb”。这些似乎并不表明DevAPP正在运行
另一个可能的解决方案是检查是否安装了插件。我试图检查注入的变量是否为truthy
if(this.fcm)
,但这仍然会使应用程序崩溃。好吧。嗯,我不知道如何在代码中特别检查应用程序当前是否在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
});
这也可以通过处理错误响应选项来处理可观察对象:
this.fcm.onNotification().subscribe(
data => {
console.log( 'data: ', data ); //@DEBUG
},
error => {
console.log( 'Error Subscribing to FCM Notification: ', error ); //@DEBUG
}
);
实现此代码后,我的应用程序在DevAPP中运行时不再崩溃