クエリ パラメータを使用して信頼できるウェブ アクティビティに情報を渡す

アプリで信頼できるウェブ アクティビティを使用する際、デベロッパーは アプリケーションのネイティブ部分をプログレッシブ ウェブアプリ(PWA)に移行する。

一般的なユースケースは、カスタム分析セグメンテーションを実装してインストールを測定することです。 Trusted Web Activity で開始されたセッションをクエリ パラメータを起動 URL に追加する これを実装する必要があります

開始 URL の変更

PWA に渡されるパラメータが、 このパラメータを起動 URL に直接追加できます。この使用例は 信頼できるウェブ ページから作成されたナビゲーション セッションの数をデベロッパーが測定する場合 アクティビティ。

バブルラップの使用

Bubblewrap は、デベロッパー向けのプロジェクトを作成するデベロッパーを支援するツールで 信頼できるウェブを使用して既存の PWA を起動する Android アプリ アクティビティ。ライブラリコマンドライン インターフェース(CLI)の両方が含まれています。

新しいプロジェクトを作成する

Bubblewrap CLI を使用する場合、プロジェクトは init コマンドで初期化され、プロジェクトが ウェブ マニフェストのデフォルト値を次のように指定します。

bubblewrap init --manifest https://material.money/manifest.json

ウィザードではウェブ マニフェストの start_url をデフォルトとして使用し、ユーザーに確認を求めます。 このパラメータにより、デベロッパーは、 プログレッシブ ウェブアプリ

Bubblewrap CLI の出力を表示する

既存のプロジェクトの変更

Bubblewrap がプロジェクトを生成すると、そのプロジェクトの情報がファイルに保存される twa-manifest.json という名前の(プロジェクト フォルダ内)。既存のプロジェクトの開始 URL を変更するには、次の操作を行います。 ファイルを変更する必要があります。

{
  ...
  "startUrl": "/?utm_source=trusted-web-activity",
  ...
}

次に、プロジェクト ファイルを再生成して新しい開始 URL を適用する

bubblewrap update

Android Studio の使用

Android Studio とデフォルトの LauncherActivity を使用する場合、startUrl はメタタグとして定義される AndroidManifest.xml 内にあります。Trusted Web Activity の起動に使用する URL は、 次のように変更します。

<activity android:name="com.google.androidbrowserhelper.trusted.LauncherActivity"
    android:label="@string/app_name">
    ...
    <meta-data android:name="android.support.customtabs.trusted.DEFAULT_URL"
        android:value="https://svgomg.firebaseapp.com/?utm_source=trusted-web-activity" />
    ...
</activity>

開始 URL の動的な変更

また、ユーザーまたはセッションによって変化するパラメータを作成し、 作成します。ほとんどの場合は、Android 側から詳細情報を収集します。 プログレッシブ ウェブアプリに渡します。

ステップ 1: カスタム LauncherActivity を作成する

public class CustomQueryStringLauncherActivity extends LauncherActivity {
    private String getDynamicParameterValue() {
        return String.valueOf((int)(Math.random() * 1000));
    }

    @Override
    protected Uri getLaunchingUrl() {
        // Get the original launch Url.
        Uri uri = super.getLaunchingUrl();

        // Get the value we want to use for the parameter value
        String customParameterValue = getDynamicParameterValue();

        // Append the extra parameter to the launch Url
        return uri
                .buildUpon()
                .appendQueryParameter("my_parameter", customParameterValue)
                .build();
    }
}

ステップ 2: カスタムの LauncherActivity を使用するように AndroidManifest.xml を変更する

<activity android:name="com.myapp.CustomQueryStringLauncherActivity"
    android:label="@string/app_name">
    ...
    <meta-data android:name="android.support.customtabs.trusted.DEFAULT_URL"
        android:value="https://squoosh.app/?utm_source=trusted-web-activity" />
    ...
</activity>

まとめ

アプリケーションのネイティブ部分からウェブ部分に情報を渡すには、 クエリ パラメータを指定します。クエリ文字列にパラメータを追加すると、スクリプトからアクセスできるようになる また、ユーザーが別のページに移動した場合や、ユーザーが別のページにアクセスした場合や、 デベロッパーが共有アクションを実装します。

デベロッパーはこれらの影響を認識し、 link rel=noreferrer を実行するか、Page Location API を使用して URL をクリーンアップします。

現在のところ、Trusted Web Activity プロトコルには、 アプリケーションのネイティブ部分を呼び出します。

Google は、既存または今後のウェブ プラットフォーム API によって、デベロッパーが必要とするほとんどのユースケースを実現できると考えています。条件 新規または今後のウェブ API をお探しの場合は、新機能のステータス ページをご確認ください。