【问题标题】:Check if App is Using DevAPP检查应用程序是否正在使用 DevAPP
【发布时间】:2018-06-01 18:08:27
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: ionic2 ionic3 ionic-devapp


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-17
      • 1970-01-01
      • 2019-02-16
      • 1970-01-01
      • 2011-06-10
      • 2014-09-26
      • 1970-01-01
      相关资源
      最近更新 更多