Trusted Web Activity は、カスタムタブに基づくプロトコルを使用して、Android アプリからプログレッシブ ウェブアプリ(PWA)などのウェブアプリ コンテンツを開く新しい方法です。
コードを探す
- GitHub の android-browser-helper ライブラリ
- Trusted Web Activity のデモ
- Bubblewrap: 信頼できるウェブ アクティビティ プロジェクトを生成してビルドする NodeJs ライブラリ / CLI
Trusted Web Activity は、Android アプリからウェブ コンテンツを開く他の方法とはいくつかの点で異なります。
- 信頼できるウェブ アクティビティのコンテンツは信頼できるものであり、アプリとそのアプリが開くサイトは同じデベロッパーが提供しているものと見なされます。(これは デジタル アセット リンクを使用して検証されます)。
- 信頼できるウェブ アクティビティでレンダリングされるコンテンツはウェブから取得されます。全画面で実行される点を除き、ユーザーのブラウザで表示されるコンテンツとまったく同じ方法で、ユーザーのブラウザによってレンダリングされます。ウェブ コンテンツは、まずブラウザでアクセス可能で有用である必要があります。
- ブラウザも Android やアプリとは別にアップデートされます。たとえば、Chrome は Android Jelly Bean 以前でも利用できます。これにより、APK のサイズを削減し、最新のウェブ ランタイムを使用できます。(Lollipop 以降、WebView も Android とは別に更新されていますが、Lollipop 以前の Android ユーザーはかなりの数に上ります)。
- ホストアプリは、信頼できるウェブ アクティビティ内のウェブ コンテンツや、Cookie や
localStorage
などの他の種類のウェブ状態に直接アクセスできません。ただし、URL でページとの間でデータをやり取りすることで、ウェブ コンテンツと連携させることができます(クエリ パラメータやインテント URI など)。 - ウェブ コンテンツとネイティブ コンテンツの切り替えは、アクティビティ間で行われます。アプリの各アクティビティ(画面)が、ウェブまたは Android アクティビティによって完全に提供されている
テストを容易にするため、現在のところ、Trusted Web Activity のプレビュー版で開くコンテンツの資格要件はありません。ただし、信頼できるウェブ アクティビティは、ホーム画面に追加の要件を満たす必要があります。これらの要件についてサイトを監査するには、Lighthouse の「ユーザーに [ホーム画面に追加] 画面が表示される」監査を使用します。
現在、ユーザーのバージョンの Chrome が信頼できるウェブ アクティビティをサポートしていない場合、Chrome はカスタムタブを使用したシンプルなツールバーにフォールバックします。他のブラウザで、信頼できるウェブ アクティビティで使用されているのと同じプロトコルを実装することも可能です。どのブラウザを開くかについてはホストアプリが最終決定権を持ちますが、カスタムタブの場合と同じポリシーをおすすめします。つまり、必要な機能を備えている限り、ユーザーのデフォルト ブラウザを使用するようにします。
次のステップ
PWA を起動して開くだけの Android アプリをすばやく作成する場合は、クイック スタート ガイドをご覧ください。
Trusted Web Activity を既存の Android アプリに統合する場合は、統合ガイドを参照してください。