Можно ли показать сообщение, когда приложение загружает и обновляет последний код с помощью ionic deploy? - PullRequest
0 голосов
/ 03 мая 2019

Я использую метод автоматического обновления для обновления приложения с помощью ionic pro. Проблема в том, что при медленном интернет-соединении приложение обновляет приложение больше времени. Заставка отображается долго.

Пользователи считают, что в приложении есть проблема, и оно зависает на заставке.

Есть ли способ показать сообщение при обновлении приложения на заставке?По крайней мере, пользователь будет знать, что приложение обновляется.

<plugin name="cordova-plugin-ionic" spec="5.3.0">
        <variable name="APP_ID" value="xxxxxx" />
        <variable name="CHANNEL_NAME" value="Production" />
        <variable name="UPDATE_METHOD" value="auto" />
        <variable name="UPDATE_API" value="https://api.ionicjs.com" />
        <variable name="MAX_STORE" value="2" />
        <variable name="MIN_BACKGROUND_DURATION" value="30" />
</plugin>

1 Ответ

0 голосов
/ 03 мая 2019

Не думаю, что можно показывать обновления на заставке. но можно показать обработку обновления. вот полный код для вас.

Pro.deploy.checkForUpdate().then((update) => {
      console.log(update);
      if (typeof update !== 'undefined') {
        if (update.available) {
          let alert = self.alertCtrl.create({
            title: 'Update Available',
            message: 'There is an update available. Would you like to get it?',
            buttons: [
              {
                text: 'Cancel',
                role: 'cancel'
              },
              {
                text: 'Ok',
                handler: () => {
                  this.performManualUpdate();
                }
              }
            ]
          });
          alert.present();

        }
      }
    });

async performManualUpdate() {
    try {
        let loader = this.loadingCtrl.create({
          content: "Updating...",
        });
        loader.present();

      await Pro.deploy.downloadUpdate((progress) => {
        this.downloadProgress = progress;
      })
      await Pro.deploy.extractUpdate();
      await Pro.deploy.reloadApp();
      loader.dismiss();

    } catch (err) {
      console.log(err);
    }
  }
...