Informationen mithilfe von Suchparametern an eine vertrauenswürdige Web-Aktivität weitergeben

Wenn Entwickler vertrauenswürdige Webaktivitäten in ihren Anwendungen verwenden, müssen sie unter Umständen Informationen von nativer Teil der App in die progressive Web-App (PWA) ein.

Ein häufiger Anwendungsfall hierfür ist die Implementierung benutzerdefinierter Analysesegmentierungen zur Messung von Installationen. und Sitzungen, die über die Trusted Web-Aktivität gestartet wurden. Suchparameter können der Start-URL hinzugefügt werden um dies zu implementieren.

Ändern der Start-URL

Wenn der Parameter, der an die PWA übergeben wird, für alle Nutzer und Nutzer gleich bleibt, startet, kann der Parameter direkt an die Start-URL angehängt werden. Ein Beispiel für diese Nutzung ist wenn Entwickler die Anzahl der Navigationssitzungen messen möchten, die über ein vertrauenswürdiges Aktivität.

Bubblewrap verwenden

Bubblewrap ist ein Tool, das Entwicklern dabei helfen soll, ein Projekt für ein Android-App, die eine vorhandene PWA über ein vertrauenswürdiges Web startet Aktivität. Sie enthält sowohl eine Bibliothek als auch eine Befehlszeile.

Neues Projekt erstellen

Bei Verwendung der Bubblewrap-Befehlszeile wird ein Projekt mit dem Befehl init initialisiert und erstellt Standardwerte aus einem Webmanifest als Parameter:

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

Der Assistent verwendet standardmäßig die „start_url“ aus dem Web Manifest und fordert die Nutzer auf, die Änderung zu bestätigen und geben Entwicklern die Möglichkeit, der URL, mit der die Progressive Web-App

Bubblewrap-Befehlszeile-Ausgabe anzeigen

Vorhandenes Projekt ändern

Wenn Bubblewrap ein Projekt generiert, werden Informationen zu diesem Projekt in einer Datei gespeichert mit dem Namen twa-manifest.json im Projektordner. So ändern Sie die Start-URL für ein vorhandenes Projekt: müssen Entwickler die Datei ändern:

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

Generieren Sie dann die Projektdateien neu und wenden Sie die neue Start-URL an.

bubblewrap update

Android Studio verwenden

Bei Verwendung von Android Studio und dem standardmäßigen LauncherActivity ist die startUrl als Meta-Tag definiert. in der Datei "AndroidManifest.xml". Wir können die zum Starten der vertrauenswürdigen Web-Aktivität verwendete URL ändern, indem wir und ändern:

<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>

Start-URL dynamisch ändern

In anderen Fällen möchten Entwickler vielleicht Parameter erstellen, die sich je nach Nutzer oder Sitzung ändern, z. B. Instanz. Dazu müssen in den meisten Fällen Informationen von Android , um sie an die progressive Web-App zu übergeben.

Schritt 1: Benutzerdefinierte LauncherActivity erstellen

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();
    }
}

Schritt 2: AndroidManifest.xml ändern, um die benutzerdefinierte LauncherActivity zu verwenden

<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>

Fazit

Die Übergabe von Informationen aus dem nativen Teil an den Webteil einer Anwendung erfolgt mithilfe von Suchparametern. Wird dem Abfragestring ein Parameter hinzugefügt, können Skripts darauf zugreifen. die auf der Seite ausgeliefert werden, und können auch Teil der Weiterleitung sein, wenn Nutzer auf eine andere Seite oder eine Freigabeaktion implementiert.

Entwickelnde müssen sich dieser Auswirkungen bewusst sein und sie mit link rel=noreferrer verwenden oder die URL mithilfe der Page Location API bereinigen

Das Protokoll der vertrauenswürdigen Webaktivität bietet derzeit keinen Mechanismus für den Austausch von Nachrichten mit nach dem Aufrufen des Webteils der Anwendung wieder aufgerufen.

Wir sind der Meinung, dass bestehende oder künftige Webplattform-APIs die meisten Anwendungsfälle ermöglichen, die von Entwicklern benötigt werden. Wenn Wenn Sie nach neuen oder geplanten Web-APIs suchen, rufen Sie die Statusseite für neue Funktionen auf.