Trusted Web Activity を構築するための新しいライブラリ android-browser-helper

Trusted Web Activity 用の新しい Android ライブラリである android-browser-helper のバージョン 1.0.0 をリリースしました。このライブラリは最新の Android JetPack ライブラリ上に構築されているだけでなく、デベロッパーが Trusted Web Activity を使用して Android アプリを簡単に構築できるようにします。

信頼できるウェブ アクティビティを使用するアプリをビルドする場合は、android-browser-helper ライブラリを使用することをおすすめします。

このライブラリは公式の Google Maven リポジトリでホストされており、Android プロジェクトですぐに使用できます。また、AndroidX とも互換性があります。これは、以前のライブラリの一般的な問題でした。

このライブラリには、今後さらに機能が追加され、開発エクスペリエンスが改善される予定です。すでに追加されている機能のリストは次のとおりです。

  • Trusted Web Activity をサポートするブラウザでコンテンツを開く処理を行い、インストールされていない場合はフォールバック ストラテジーを実装します。
  • フォールバック戦略をカスタマイズ可能にすることで、Trusted Web Activity をサポートするブラウザがインストールされていない場合に、デベロッパーがアプリケーションの動作をカスタマイズできるようになります。twa-webview-fallback デモでは、Android WebView を使用するフォールバック ストラテジーの使用方法を示しています。
  • twa-multi-domain]4 のデモに示すように、複数のオリジンで動作する信頼できるウェブ アクティビティの構成が簡単になります。

アプリケーションの build.gradle に次の依存関係を使用することで、ライブラリを Android アプリに追加できます。

dependencies {
    //...
    implementation 'com.google.androidbrowserhelper:androidbrowserhelper:2.2.0'
}

custom-tabs-client からの移行

以前の custom-tabs-client を使用していたデベロッパーは、android-browser-helper に移行する際に、アプリケーションにいくつかの変更を実装する必要があります。

幸い、これらの変更は、古いライブラリの使用を新しいライブラリに置き換える以外に、主に AndroidManifest.xml 全体での検索の変更といくつかの文字列の置換に関係しています。

変更された名前の概要は次のとおりです。

custom-tabs-client の名前(古いライブラリ) android-browser-helper での名前(新しいライブラリ)
android.support.customtabs.trusted.LauncherActivity com.google.androidbrowserhelper.trusted.LauncherActivity
android.support.v4.content.FileProvider androidx.core.content.FileProvider
android.support.customtabs.trusted.TrustedWebActivityService com.google.androidbrowserhelper.trusted.DelegationService

svgomg-twa デモが更新され、android-browser-helper が使用されるようになりました。この差分は、custom-tabs-client を使用している既存のプロジェクトを android-browser-helper に移行する際に必要なすべての変更を示しています。

さらに記載が必要な内容などがありましたらお知らせください。

android-browser-helper は、Trusted Web Activity を使用したアプリの開発を簡素化することを目的としています。信頼できるウェブ アクティビティに機能が追加されるにつれて、このライブラリも進化していきます。

信頼できるウェブ アクティビティに機能がない、android-browser-helper で開発作業を簡素化する方法を検討している、ライブラリの使用方法について質問がある場合は、GitHub リポジトリにアクセスして問題を報告してください。

フィードバック