Skip to main content

 

 

 

 
Language:

 

 
モバイルアプリにのみ適用されます

 

 
 
OutSystems

モバイルアプリ更新のシナリオ

[1-Click Publish]をクリックすると、アプリの新しいバージョンをインストールしなくても、自動的にモバイルアプリの更新を行うことができます。アプリとサーバーの接続が確立すると、ユーザーのデバイスで実行されているモバイルアプリが更新を自動的に検出します。ある環境で生成されたモバイルアプリパッケージは、同じ環境でパブリッシュされた開発や変更のみを受け取ります。

新しいアプリバージョンの検出

サーバー上の最新バージョンに合わせて更新するために、アプリが新しいバージョンを確認するタイミングがいくつかあります。このタイミングは以下のとおりです。

  • アプリの起動。
  • 画面間の移動。
  • サーバーの呼び出し。たとえば、サーバーアクションやサーバーのAggregateを実行するとき。

サーバー上に新しいバージョンがある場合、アプリが自らを更新し、ユーザーにフィードバックメッセージが通知されます。

シームレスなアップグレードと注意を要するアップグレード

シームレスなアップグレード: 新しいバージョンが入手可能であることが検出されると、すべての新しいリソースのキャッシュがバックグラウンドでアプリによって開始されます。アプリがリソースをキャッシュすると、次のナビゲーションイベントによって更新がトリガーされます。これは、画面の遷移などです。アプリが完全に更新され遷移先の画面が読み込まれると、ユーザーに更新の通知とフィードバックメッセージがアプリによって表示されます。更新に時間がかかる場合は、遷移先の画面に移動する前にスプラッシュ画面が表示されます。これがシームレスなアップグレードです。

注意を要するアップグレード: 新しいアプリバージョンで変更された画面をユーザーが使用している場合、注意を要するアップグレードが発生することがあります。サーバーとのインタラクションが必要な操作をユーザーがアプリで実行している場合、アップグレード要件が原因でそのインタラクションは失敗する可能性があります。たとえば、データ保存ボタンをタップするとサーバーアクションが呼び出されますが、そのアクションのシグネチャが異なっているため、アクションは失敗します。新しいバージョンが入手可能であり、続行するには新しいバージョンが必要であることを示すメッセージが表示されます。そのメッセージをクリックするとアプリが更新されます。更新後、更新された画面が読み込まれ、アプリが最新であることを示すメッセージが表示されます。

画面上にFormウィジェットがある場合、必要な更新に関するメッセージとともに、アプリを再度読み込む必要があるため、ユーザーがFormに入力した情報が失われることを示すメッセージも表示されます。ローカルストレージやクライアント変数に保存されたデータには影響を及ぼしません。

テクニカルプレビューのモバイルアプリのアップデートの配布を構成するでは、このドキュメントで説明しているハイブリッドアップデートストアのみでのアップデートを選択することができます。

デバイスでの更新が実行できない場合

パブリッシュ手順で問題がないときでも、ユーザーのデバイスでアプリの自動更新を実行できない場合があります。考えられる原因は以下のとおりです。

  • ネットワークの接続状況が悪く、更新に必要なリソースをダウンロードできない。
  • アプリが自動更新できないローカルデータモデルのアップグレード。

アプリがユーザーのデバイス上で更新を実行できない場合、完全に動作する最新バージョンにアプリがロールバックします。また、更新が実行できなかったことと、アプリの再起動と更新の再試行が必要であることを示すメッセージが表示されます。

ローカルストレージデータモデルの更新中にエラーが発生する場合は、既存データが新しいデータモデルと互換性がない可能性があります。この場合、問題が続く場合はアプリの再インストールが必要となる可能性があることを示すメッセージが表示されます。再インストールを行うと現在のアプリのデータは消去されます。

Service Centerのログで「Upgrade failed - rolling back to previous application version」を検索して、問題と原因を特定することができます。アップグレードに失敗した原因を見つけてアプリの新しいバージョンで修正を実装するために、このログの情報が役立ちます。

新しいビルドをインストールする必要がある場合

アプリをパブリッシュするたびに変更はアプリに自動的に反映されますが、場合によっては更新したアプリパッケージをユーザーデバイスにインストールする必要があります。これには、以下のいずれかを変更した場合が該当します。

  • アプリ名
  • アプリのアイコン
  • アプリのメインカラー
  • プラグインの外部リソース
  • モバイルプラットフォームの構成
  • エントリモジュールまたはその名前
  • Extensibility Configurationsプロパティ(モバイルプラグインの変更、追加、削除や、ステータスバーの透明度、カスタムアイコン、スプラッシュ画面の変更など)

これらの変更は古くなったアプリのユーザーエクスペリエンスに悪影響を及ぼすことがありますが、ユーザーが最新のアプリパッケージにアップグレードするとこれらの問題は自動的に解決されます。プラグインの場合は、クラッシュが起こらないよう、最新のアプリバージョンがデバイスにインストールされるまでアプリにフォールバックを実装することをお勧めします。

デバイスにインストール済みであり、Debugビルドタイプを使用して生成されたAndroidアプリの場合、新しいバージョンをインストールする前に、以前のバージョンをデバイスからアンインストールします。これにより、新しい機能が正しく動作することが保証されます。

最初のモバイルアプリ生成の後、[1-Click Publish]をクリックすると、OutSystemsが上記の条件で新しいアプリパッケージを生成します。生成したアプリパッケージは、Service Studio、Service CenterおよびLifeTime経由でダウンロードすることができます。これにより、環境からダウンロード可能な最新のアプリパッケージを、アプリ開発と確実に同期させることができます。