ウェブアプリをサポートする

ウェブアプリは、ウェブページを Android アプリに変えます。これにより、モバイル デバイスでの検索が簡単になり、簡単に使用できるようになります。ウェブアプリは、デバイスのランチャー内のネイティブ アプリのように見え、ユーザーが開くと Chrome ブラウザはウェブページを選択した表示モード(最小 UI、スタンドアロン、全画面)でレンダリングします。

ウェブアプリは、ネイティブ アプリと同じように配布できます。managed Google Play ストアのコレクションへの追加や、リモートでのデバイスにインストールすることも含まれます。


ウェブアプリのコンポーネント

ウェブアプリを作成するには、次の項目を指定する必要があります。

  • managed Google Play ストアとランチャーでデバイスに表示されるタイトル
  • ウェブアプリが開く開始 URL
  • デバイスでのウェブアプリの表示方法を定義する表示モード

ウェブアプリにアイコンを設定して、ユーザーが識別できるようにすることもできます。アイコンは省略可能ですが、使用することをおすすめします。

タイトル

タイトルは半角 30 文字(全角 15 文字)未満にしてください。デバイスのフォーム ファクタによっては、managed Play ストアやデバイスのランチャーで、ウェブアプリのタイトルが切り捨てられることがあります。そのため、短いタイトルを指定することをおすすめします。

開始 URL

ウェブアプリの開始 URL では、ウェブアプリが開くページを定義します。これにより、ユーザーは他の URL に移動できます。

開始 URL は、HTTPS または HTTP の URL にする必要があります。表示モードが全画面またはスタンドアロンの場合は、ウェブアプリの URL に HTTPS スキームを指定する必要があります。

表示モード

表示モードは、ウェブアプリを開いたときに表示されるブラウザの UI 要素を示します。

  • ミニマル UI: 上部に URL バーが表示され、システム ステータスバーとナビゲーション ボタンが表示されます。HTTP URL の場合、使用できるオプションはこれのみです。
  • スタンドアロン: URL バーは表示されず、システム ステータスバーとナビゲーション ボタンが表示されます。
  • 全画面表示: URL バーは表示されず、システム ステータスバーとナビゲーション ボタンも非表示になります。ウェブサイトのインターフェースは、すべてのナビゲーション コントロールを提供する必要があります。
図 1.左から右に、最小 UI、スタンドアロン、全画面表示の各表示モードを示します。

表示モードは、開始 URL と同じドメインのページにのみ適用されます。ユーザーが開始 URL とは異なるドメインの URL に移動すると、この新しいページは Chrome カスタムタブで開き、選択した表示モードに関係なく、新しい URL がユーザーに表示されます。たとえば、開始 URL が直ちに別のドメインの URL にリダイレクトされる場合、このページは Chrome カスタムタブに表示されます。

ユーザーが初めてウェブアプリを開くと、ネイティブ アプリではなくブラウザを使用していることを知らせる通知が画面の下部に表示されます。

図 2. ユーザーが初めてウェブアプリを開いたときに表示される通知。

icon

アイコンを指定すると、ユーザーがウェブアプリを識別しやすくなります。アイコンが指定されていないウェブアプリの場合、Google は同じデフォルトのアイコンを挿入して表示します。ユーザーがアプリを簡単に区別できるように、意味のあるわかりやすいアイコンを使用してウェブアプリを作成することを強くおすすめします。

IT 管理者は、managed Google Play iframe で作成するウェブアプリのアイコンを 1 つ設定できます。 API を使用してウェブアプリを作成する際に、IT 管理者が複数のアイコンを設定できるようにすることが可能です。これらのアイコンはすべてウェブアプリの APK に埋め込まれ、Android システムはデバイスのディスプレイ解像度に最適なアイコンを表示します。managed Play ストアには、ウェブアプリに指定された最初のアイコンが常に表示されます。

最初のアイコンは 512x512 ピクセルの正方形にすることをおすすめします。 PNG と JPEG の形式を使用できますが、1 MB 以下にする必要があります。この形式に準拠していないアイコンは、managed Play ストアのエントリ用に再スケーリングされます。また、システムごとに形状を適応させるために、アイコンを「マスク可能」にする必要もあります。詳しくは、マスク可能なアイコンをご覧ください。

API を使用する場合は、アイコンデータを base64url 形式でエンコードする必要があります(つまり、base64 で、「+」は「-」に置き換え、「/」は「_」に置き換えます。(詳しくは RFC 4648 のセクション 5 をご覧ください)。


ウェブアプリの作成

ウェブアプリを作成するには、EMM コンソールに managed Google Play iframe を埋め込むか、API と統合します。この 2 つの方法は互換性があり、デバイスで同じエンドユーザー エクスペリエンスを提供できます。したがって、ご自身のソリューションに最適なアプローチはご自身で決定してください。

方法 1: managed Google Play iframe を埋め込む

managed Google Play iframe には、IT 管理者がウェブアプリを作成、編集、削除するためのユーザー インターフェースがあります。このオプションでウェブアプリをサポートする場合は、EMM コンソールに managed Google Play iframe を埋め込むための手順を実施してください。iframe の左側のナビゲーション メニューからウェブアプリ インターフェースにアクセスできます。

iframe にウェブアプリを作成した後、そのアプリをインターフェースで選択できるようになるまでに数分かかります。ウェブアプリが選択されると、そのウェブアプリのパッケージ名が渡され、onproductselect イベントがトリガーされます。

ウェブアプリのパッケージ名を使用してユーザーに配布できます。

オプション 2: API との統合

EMM コンソールでウェブアプリをサポートするもう一つの方法は、ウェブアプリ API との統合です。ウェブアプリを作成するには、webApps.create メソッドを使用します。

API を介して作成されたウェブアプリは、作成後すぐにポリシーに追加できます。ただし、デバイスにインストールされるか、managed Play ストアでユーザーに表示されるようになるまでに数分かかることがあります。

ウェブアプリを配布する

iframe または API から返されたパッケージ名をデバイスのポリシーに追加すると、他のアプリと同様にウェブアプリを配布できます。

デバイスでウェブアプリの表示モードをサポートするには、Google Chrome(パッケージ名 com.android.chrome)がインストールされている必要があります。デバイスに Chrome が確実にインストールされるようにするには、デバイスのポリシーに Chrome を追加し、installTypeFORCE_INSTALLED に設定することをおすすめします。

Google Chrome がデバイスにインストールされていない場合は、ウェブアプリを開くと、Google Chrome のインストールが必要であることを示すダイアログが表示されます。

ウェブアプリを更新する

IT 管理者は managed Google Play iframe を使用して、公開するウェブアプリを編集できます。この API を使用して webApps.patch を呼び出すことで、ウェブアプリのあらゆる要素を更新できます。このメソッドは、webApps.create と同じパラメータに加えて、アプリの名前を受け取ります。

更新がすべてのデバイスに反映されるまで、数分から最長で 24 時間かかります(アプリのアップデートの設定によって異なります)。場合によっては、ウェブアプリのタイトルの更新をランチャーに反映する前に、ユーザーがデバイスのランチャー アプリからキャッシュを消去することが必要になる場合があります。

また、Google はウェブアプリを定期的に更新して Chrome ラッパーを更新します。ただし、ウェブアプリのバージョン番号が変更されることと、次回の都合の良いときに Play ストアによってアプリが自動更新されることを除き、企業やそのユーザーには影響しません。

ウェブアプリを削除する

managed Google Play iframe を使用すると、IT 管理者はウェブアプリを削除できます。API を使用して、webApps.delete を呼び出してウェブアプリを削除できます。ウェブアプリを削除すると、managed Play ストアから削除されますが、デバイスからアンインストールされることはありません。デバイスからウェブアプリをアンインストールするには、デバイスのポリシーでアプリの installTypeBLOCKED に設定します。