检查 App 是否使用 DevAPP

Check if App is Using DevAPP

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

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

我试过检查 platform.platforms(),但它只显示“mobile,android,phablet,mobileweb”。这些似乎并不表明 DevAPP 运行ning.

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

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

由于我尝试使用 returns 承诺的本机插件,我只是使用承诺上可用的 .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 中崩溃。