Vertrauenswürdige Web-Aktivitäten sind eine neue Möglichkeit, Web-App-Inhalte wie PWA in Ihre Android-App mithilfe eines Protokolls, das auf benutzerdefinierten Tabs basiert.
Für eine vertrauenswürdige Webaktivität müssen die Ursprünge mit der folgenden Methode validiert werden: Digital Asset Links, um die Inhalte im Vollbildmodus anzuzeigen.
Wenn ein Nutzer den bestätigten Ursprung verlässt, wird die Benutzeroberfläche des benutzerdefinierten Tabs angezeigt. Über die URL-Leiste in der benutzerdefinierten Tab teilt den Nutzern mit, dass sie jetzt innerhalb einer Domain außerhalb der Anwendung navigieren. dem Nutzer eine X-Schaltfläche zur Verfügung stellen, mit der er schnell zum bestätigten Ursprung zurückkehren kann.
Es kommt aber auch häufig vor, dass Web-Apps Inhalte erstellen, die mehrere Ursprünge umfassen. Ein Beispiel eine Shopping-App mit dem Hauptangebot unter www.example.com, während der Bezahlvorgang wird unter checkout.example.com gehostet.
In solchen Fällen ist es nicht erwünscht, die benutzerdefinierten Tabs anzuzeigen, und zwar nicht nur, weil sich der Nutzer im dieselbe Anwendung, sondern auch, weil die obere Leiste den Nutzenden nahebringen könnte, die Anwendung verlassen zu haben. und den Bezahlvorgang abbrechen.
Mit vertrauenswürdigen Webaktivitäten können Entwickler mehrere Ursprünge validieren und der Nutzer bleibt in wenn Sie zwischen diesen Ursprüngen navigieren. Wie bei der Hauptdomain muss der Entwickler jeden überprüften Ursprung kontrollieren können.
Validierung für mehrere Ursprünge einrichten
Wie bei der Hauptquelle erfolgt die Validierung über Digital Asset Links und jede Domain, die muss eine eigene assetlinks.json-Datei haben.
Jedem Ursprung eine Asset-Link-Datei hinzufügen
In unserem Beispiel mit www.example.com und www.example.com wäre das so:
https://www.example.com/.well-known/assetlinks.json
https://checkout.example.com/.well-known/assetlinks.json
Da jede Domain mit derselben Android-App verbunden wird, werden die assetlinks.json
-Dateien
genau gleich aussehen.
Wenn der Paketname für die Android-App com.example.twa
lautet, assetlink.json
enthalten in etwa Folgendes:
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example",
"sha256_cert_fingerprints": ["..."]}
}]
Android-App mehrere Ursprünge hinzufügen
In der Android-App muss die Deklaration asset_statements
so aktualisiert werden, dass sie alle
Ursprünge, die bestätigt werden müssen:
<string name="asset_statements">
[{
\"relation\": [\"delegate_permission/common.handle_all_urls\"],
\"target\": {
\"namespace\": \"web\",
\"site\": \"https://www.example.com\"
}
}],
[{
\"relation\": [\"delegate_permission/common.handle_all_urls\"],
\"target\": {
\"namespace\": \"web\",
\"site\": \"https://checkout.example.com\"
}
}],
</string>
Der LauncherActivity zusätzliche Ursprünge hinzufügen
Standard-LauncherActivity verwenden
Die LauncherActivity
, die Teil der android-browser-helper
-Supportbibliothek ist
bietet die Möglichkeit, durch Konfigurieren des Android-Projekts mehrere Ursprünge hinzuzufügen, die validiert werden sollen.
Fügen Sie der Datei res/values/strings.xml
zuerst ein string-array
-Element hinzu. Jede zusätzliche URL, die
validierten sich in einem item
-Unterelement befinden:
...
<string-array name="additional_trusted_origins">
<item>https://www.google.com</item>
</string-array>
...
Fügen Sie als Nächstes ein neues meta-data
-Tag in das vorhandene Aktivitätselement ein, das auf die
LauncherActivity
, innerhalb von AndroidManifest.xml
:
...
<activity android:name="com.google.androidbrowserhelper.trusted.LauncherActivity"
android:label="@string/app_name">
<meta-data
android:name="android.support.customtabs.trusted.ADDITIONAL_TRUSTED_ORIGINS"
android:resource="@array/additional_trusted_origins" />
...
</activity>
...
Benutzerdefinierte LauncherActivity verwenden
Wenn Sie benutzerdefinierten Code zum Starten einer vertrauenswürdigen Webaktivität verwenden, können Sie zusätzliche Ursprünge hinzufügen, indem Sie
setAdditionalTrustedOrigins
beim Erstellen des Intents zum Starten der vertrauenswürdigen Webaktivität aufrufen:
public void launcherWithMultipleOrigins(View view) {
List<String> origins = Arrays.asList(
"https://checkout.example.com/"
);
TrustedWebActivityIntentBuilder builder = new TrustedWebActivityIntentBuilder(LAUNCH_URI)
.setAdditionalTrustedOrigins(origins);
new TwaLauncher(this).launch(builder, null, null);
}
Fazit
Mit diesen Schritten kann die vertrauenswürdige Webaktivität jetzt mehrere Ursprünge unterstützen. android-browser-helper bietet eine Beispiel-App für vertrauenswürdige Webaktivitäten mit mehreren Ursprüngen. Marke sollten Sie das überprüfen.
Fehlerbehebung
Die Einrichtung von Digital Asset Links besteht aus mehreren Teilen. Wenn in der App immer noch der Fehlercode angezeigt wird, benutzerdefinierte Tabs oben angezeigt wird, liegt wahrscheinlich ein Problem mit der Konfiguration vor.
In der Kurzanleitung zu vertrauenswürdigen Web-Aktivitäten findest du in diesem Hilfeartikel hilfreiche Tipps zur Fehlerbehebung. um Digital Asset Link-Probleme zu beheben.
Mit dem hilfreichen Asset Link Tool von Peter lassen sich Digital Asset Links debuggen. über Apps, die auf dem Gerät installiert sind.