テクニカルプレビュー - モバイルアプリのアップデートの配布を構成する
モバイルアプリのアップデートの配布の設定では、ユーザーデバイスでアプリをアップデートする方法を選択できます。このテクニカルプレビューでは、既存のハイブリッドアップデートに加えて、ストアのみでのアップデートについても説明します。モバイルアプリをアップデートする2つのモデルの概要を以下に示します。
ストアのみでのアップデートでは、ネイティブビルド全体をユーザーデバイスにダウンロードする必要があります。これらのアップデートは、Google Play、Apple App Store、またはプライベートストアを経由して行われます。ストアでのアップデートでは、ユーザーデバイスにアプリのネイティブシェルとアプリのロジックの両方が常に提供されます。これは従来のストア配布モデルです。
ハイブリッドアップデートは、アプリ自体がアプリの新しい部分のみをダウンロードし、ネイティブモバイルシェルのダウンロードやアップデートを行わない軽量なアップデートです。UIやロジックの変更がわずかなとき、すでにインストールされているネイティブシェルでアプリが動作している場合は、このようなアップデートが効率的です。アプリ全体のアップデートが必要な変更のときは、アプリストア経由でアプリをパブリッシュすることもできます。
前提条件
ユーザーデバイスでモバイルアプリをアップデートする方法を管理するための前提条件を以下に示します。
機能の有効化
ユーザーデバイスでモバイルアプリをアップデートする方法を管理するには、以下の要件を満たしている必要があります。
- Platform Server 11.9.0以降。
- LifeTime 11.6.0以降。
- MABS 6.2以降。
- テクニカルプレビューのモバイルアプリのアップデートの配布の構成をすべての環境のLifeTimeで有効にしていること。後で新しい環境を追加するごとに、このオプションを有効にする必要があります。テクニカルプレビューの設定画面のいずれかの環境でこのオプションがオフになっている場合、作成したすべてのデプロイ計画で無効になります。
- アプリストアに提出するアプリのネイティブモバイルビルドを作成し、配布していること。つまり、Service StudioでPhone AppまたはTablet Appをベースにしたアプリを作成しておきます。
- 「アプリストア経由でのみアップデートするアプリを開発する方法」の手順を実行できること。
機能の無効化
このテクニカルプレビューを無効にするには、事前に以下の両方の条件を満たしている必要があります。
- ストアのみでのアップデートをすべてのアプリで無効にしていること。これは、ハイブリッドアップデートを有効にする新しいデプロイ計画で行うことができます。
- ストアのみでのアップデートをすべての環境で無効にしていること。これは、テクニカルプレビューの設定で行うことができます。
以下の手順に従うことにより、LifeTimeでのデプロイが正しく動作し、ユーザーに対してアプリが動作し続けるようにすることができます。
LifeTimeでモバイルアプリのアップデートの構成を管理する仕組み{ #about }
LifeTimeのデプロイ計画で、ユーザーデバイスでアプリをアップデートする方法を構成することができます。LifeTimeではアプリと環境のローカルに設定が保存されるため、アプリごとやターゲット環境ごとに設定を変更する必要があります。
- アプリごと。 LifeTimeでは、各アプリのアップデートのデプロイ設定はデプロイ計画に保存されます。LifeTimeでデプロイ計画を作成すると、デフォルトで計画内のすべてのアプリがハイブリッドアップデートを受け取るように構成されます。ただし、1つまたは複数のアプリに対して計画設定をストアのみでのアップデートに変更した場合は除きます。
- ターゲット環境ごと。 LifeTimeでは、ターゲット環境のアプリのデプロイ設定が保存されます。アプリやターゲット環境に対するデプロイ設定を変更した場合を除き、LifeTimeではデフォルトのハイブリッドアップデートの設定がすべての環境に適用されます。
このドキュメントは作成中です。
以下に例を示します。LifeTimeにDEV、TEST、PRODの3つの環境があります。チームがDEVでMyAppを開発しています。目標は、PRODでネイティブアプリビルドを作成して、アプリストアにアプリを提出できるようにすることです。また、TESTでネイティブビルドをテストする必要があります。
MyAppをすべての環境に初めてデプロイするとき、以下のデプロイ計画を実行する必要があります。
- 計画A(DEVからTEST)。 計画Aでは、MyAppをストアのみでのアップデートで構成し、TESTにデプロイします。これにより、MyAppはDEVでハイブリッドアップデートを引き続き受け取ります。
- 計画B(TEST1からPROD)。 計画Bでは、MyAppをストアのみでのアップデートで構成し、PRODにデプロイします。
モバイルアプリのアップデートの設定
LifeTimeで新しいデプロイ計画を作成するとき、アプリケーション設定を構成する手順でアップデートの設定を変更できます。[DISTRIBUTION]タブの[Mobile application update preferences]セクションに以下のオプションがあります。
- [Updates are automatically pushed through your servers, and optionally through the app stores. (recommended)]。 このオプションを選択すると、デプロイ計画内のネイティブモバイルアプリがハイブリッドアップデートを受け取ります。これが、アプリと環境の両方のデフォルト設定です。
- [Updates are distributed only through the app stores.]。 これはオプション設定です。このオプションをオンにしてデプロイ計画にアプリを追加し、アプリごとや環境ごとに有効にする必要があります。このオプションを選択すると、ネイティブモバイルアプリがストアのみでのアップデートを受け取ります。このオプションは、ネイティブモバイルアプリにのみ適用されます。プログレッシブWebアプリ(PWA)は、デプロイされた最新のアップデートを常に取得します。
ストア経由でのみアップデートするようにモバイルアプリを構成する{ #set-store-only-updates}
デプロイ計画の配布の設定を編集します。LifeTimeで、デプロイ構成の[Configure application settings]画面に移動し、[DISTRIBUTION]タブをクリックします。詳細な手順を以下に示します。
すべての環境をストアのみでのアップデートで構成するには、別のデプロイ計画を使用して各環境のアプリを構成する必要があります。詳細については、このドキュメントの最初の説明をご覧ください。
-
LifeTimeで[Applications]画面に移動します。
-
ソース環境とターゲット環境を決定します。たとえば、ソース環境を開発環境(DEV)にし、ターゲット環境をテスト環境(TST)にします。
アプリストアに新しいバージョンを提出すると、ユーザーが自動アップデートを受け取ることができるようにするには、有効なネイティブビルドバージョン番号でアプリにタグ付けします。アプリバージョンを適切に増やす方法の詳細については、「バージョンをタグ付けする」をご覧ください。
-
ターゲット環境の左側にある[DEPLOY]ボタンをクリックします。
-
デプロイ計画にアプリが含まれていない場合は、[Choose one or more Applications]ダイアログが開きます。アプリを選択し、[Add to Deployment Plan]をクリックしてダイアログを閉じます。
-
デプロイ計画の画面で[VALIDATE NOW]をクリックします。デプロイの検証が開始します。
-
検証が成功したら[CONTINUE]をクリックします。デプロイの設定画面が開きます。
-
[Configure applications settings]タブをクリックして設定を開きます。
-
[DISTRIBUTION]タブをクリックし、[Mobile application update preferences]セクションに移動します。[Updates are distributed only through the app stores]を選択し、[Continue]をクリックしてデプロイの設定画面に戻ります。
デプロイ計画に複数のアプリが含まれている場合は、[All remaining applications]セクションでそれぞれのアプリ名をクリックして各アプリを構成します。すべてのアプリを構成した後、[Continue]をクリックします。
-
[Deploy Now]をクリックしてデプロイ計画を確認します。デプロイの概要画面が開き、バックグラウンドで実行中のデプロイが表示されます。LifeTimeでターゲット環境へのアプリのデプロイが完了すると、確認メッセージが表示されます。
アプリを配布する準備ができたら、ネイティブビルドを生成してアプリストアにアプリを提出します。詳細については、このドキュメントの「関連リソース」をご覧ください。
ハイブリッドアップデートを受け取るようにモバイルアプリを構成する{ #set-hybrid-updates }
このセクションでは、デプロイ計画で、ストアのみでのアップデートを無効にしてデフォルトのハイブリッドアップデートに戻す方法について説明します。
手順の詳細については、ストアのみでのアップデートの構成に関するセクションをご覧ください。
- 新しいデプロイ計画を作成して、1つまたは複数のアプリを追加します。
- ハイブリッドアップデートを有効にします。「アプリケーション設定を構成する」の手順で、[Updates are automatically pushed through your servers, and optionally through the app stores]を選択します。デプロイ計画に複数のアプリが含まれている場合は、アプリごとにこの操作を行います。
- デプロイ計画を実行して、ターゲット環境にアプリをデプロイします。
- アプリのアップデートの設定を確認し、ハイブリッドアプリを受け取るようにアプリが正しく構成されていることを確認します。詳細については、「ユーザーがモバイルアプリのアップデートを受け取る方法を確認する」をご覧ください。
- 以前にストアのみでのアップデートのデプロイ設定でアプリをデプロイしたすべての環境で、これらの手順を繰り返します。
ユーザーがモバイルアプリのアップデートを受け取る方法を確認する
アプリがストアのみでのアップデートを受け取るか、ハイブリッドアップデートを受け取るかを確認するには、以下の手順を実行します。
-
LifeTimeで[Applications]画面に移動します。
-
アプリを検索して結果リストで名前を選択します。アプリの詳細画面が開きます。
-
[Settings]をクリックしてアプリの設定画面を開きます。
-
画面上部にある[Settings in(環境)]の環境名をクリックし、リストから環境を選択します。
-
[Advanced]セクションまで下にスクロールし、[Native Mobile Application Updates]の横にあるテキストを確認します。
- [Automatically pushed through your servers.]。アプリはハイブリッドアップデートを受け取ります。
- [Distributed only through the app stores.]。アプリはアプリストア経由でのみアップデートを受け取ります。
アプリストア経由でのみアップデートするアプリを開発する方法
Service Studioの開発者またはLifeTimeの管理者として、ストアのみでのアップデートによる配布が構成されたアプリを管理する際は、以下のワークフローに留意します。
-
アプリのアップデートの設定を変更する前に、最小アプリバージョンを定義し、Platform Server 11.9を使用して新しいバージョンを生成します。ユーザーが新しい配布の構成を認識するアプリバージョンを保有していることを確認する必要があります。この要件を満たすには、コミュニティで提供されているプラグインApp BuildInfo PluginやMobile Force Install Managerが役立ちます。
-
互換性を破る変更の影響を受けにくいロジックを作成します。重要な2つのガイドラインを以下に示します。
-
サーバー側のロジックを変更する場合は、生成されるAPIのハッシュシグネチャが壊れないようにサーバーロジックを変更します。サーバーアクションやAggregateなどの要素を、新しいパラメータを追加したり削除したりして変更しないようにします。代わりに新しいAPIバージョンを作成して、古いアプリバージョンで動作するように古いロジックを残します。
-
クライアント側のロジックを削除しないようにします。代わりにIfノードを追加して、新しいバージョンで古いロジックが使用されないようにします。これにより、アプリのロジックが互換性を破る変更の影響を受けにくくなります。
ロジックを編集する場合は、アプリのアップデートを決定したすべてのユーザーに対してアプリが正しく動作するようにすることが最も重要です。OutSystemsでは、アップデートの影響を受けにくいアプリの作成を支援するオンライヘルプを追加する予定です。
-
-
テスト環境とデプロイ環境でストアのみでのアップデートを有効にします([Updates are distributed only through the app stores]オプション)。
-
アプリが本番環境に達する前に、LifeTimeでバージョン番号が大きいアプリのタグを作成します。これにより、アプリがストアにアップロードされたときに、新しいビルドのバージョン番号が大きい場合はアップデートがトリガーされ、Google PlayまたはApple App Storeでアップデートを有効にしているユーザーのアプリが自動的にアップデートされるようになります。詳細については、「バージョンをタグ付けする」をご覧ください。
-
アプリに表示されるアップグレードメッセージの確認と編集について検討します。Service Studioでモジュールのプロパティに移動し、[Upgrade Messages]セクションに移動します。これらのメッセージはハイブリッドアップデートに関するものであり、ユーザーがストア経由でアプリをアップデートする必要がある場合には適していません。たとえば、「tap here to update」という手順はハイブリッドアップデートのアプリでは実行できますが、ストアのみでのアップデートで設定されたアプリでは実行できません。
-
広範囲にわたってアプリをテストします。ストアのみでのアップデートの場合は、ユーザーがアプリのアップデートを頻繁に行わない可能性があるため、アプリのネイティブシェル、クライアント側、サーバー側がすべての既存ユーザーと新規ユーザーに対して正しく動作することを確認する必要があります。
-
ターゲット環境でネイティブモバイルビルドの生成を手動で開始します。このテクニカルプレビューの現在のバージョンでは、ビルドプロセスを手動で開始する必要があります。
-
アプリストアにビルドを提出します。
詳細については、Androidアプリのパブリッシュと配布とiOSアプリのパブリッシュと配布の手順をご覧ください。