URL-Handling-API
Lege fest, welche Links in deiner Android-App, in Chrome Custom Tabs oder im externen Browser geöffnet werden.
Zur Verbesserung der Nutzererfahrung ist es oft sinnvoll, das Verhalten deiner App bei verschiedenen Arten von Weblinks anzupassen. Beispielsweise können Buttons für soziale Netzwerke so konfiguriert werden, dass sie im Systembrowser bzw. in der entsprechenden App geöffnet werden, statt in deiner App. WebViewGold bietet flexible Einstellungen zur Anpassung des URL-Handlings für deine WebView-basierte Android-App:
Arten von Links:
- Externe Links: Links, die zu einer anderen Domain als der Hauptdomain deiner App führen.
- Beispiel: Wenn die Domain deiner App mydomain.com ist, wäre ein externer Link google.com.
- Interne Links: Links, die innerhalb derselben Domain deiner App bleiben.
- Beispiel: Wenn die Domain deiner App mydomain.com ist, wäre ein interner Link mydomain.com/purchase.
- Spezielle Links: Links, die spezielle Attribute enthalten, wie z. B. target="_blank" oder Links, die mit # enden.
Optionen zur Link-Behandlung:
Du kannst das Link-Verhalten konfigurieren, indem du die Einstellungen in der Datei Config.java wie unten gezeigt anpasst.
Behandlung externer Links:
- Standardoption (0): Um externe Links im Haupt-WebView zu öffnen (wie interne Links), setze
EXTERNAL_LINK_HANDLING_OPTIONSauf0. - Option 1: Um externe Links in einem neuen In-App-Tab zu öffnen, setze
EXTERNAL_LINK_HANDLING_OPTIONSauf1. - Option 2: Um externe Links im Standardsystembrowser des Geräts (z. B. Chrome, Safari) zu öffnen, setze
EXTERNAL_LINK_HANDLING_OPTIONSauf2.
Behandlung spezieller Links:
- Option 0: Um spezielle Links im Haupt-WebView der App zu öffnen, setze
SPECIAL_LINK_HANDLING_OPTIONSauf0. - Option 1: Um spezielle Links in einem neuen In-App-Tab zu öffnen, setze
SPECIAL_LINK_HANDLING_OPTIONSauf1. - Option 2: Um spezielle Links im Standardsystembrowser des Geräts (z. B. Chrome, Safari) zu öffnen, setze
SPECIAL_LINK_HANDLING_OPTIONSauf2.
Hinweis: Diese Einstellung überschreibt EXTERNAL_LINK_HANDLING_OPTIONS bei Links, die sowohl extern als auch speziell sind.
Anpassung des Linkzugriffs: Whitelist und Blacklist
Um Ausnahmen für bestimmte Websites oder Seiten festzulegen, öffne Config.java und füge die Domain einem der folgenden Arrays hinzu:
- BROWSER_WHITELIST: Listet bestimmte Domains auf, die im WebView der App geöffnet werden.
- BROWSER_BLACKLIST: Listet bestimmte Domains auf, die im externen Browser geöffnet werden.
Ausführliche Hinweise zur Link-Konfiguration für deine Android-App findest du im folgenden Video-Tutorial:
URL-Handling – In-App-Browser für bestimmte Links verwenden
Manche Links, etwa eine Seite mit Allgemeinen Geschäftsbedingungen, sind nicht wichtig genug, um im externen Systembrowser geöffnet zu werden, aber zu speziell für den Haupt-WebView deiner App. WebViewGold bietet eine kreative Lösung für die Behandlung solcher Links: einen In-App-Browser-Tab, der sich über dem Haupt-WebView öffnet und eine hybride App- und Browser-Erfahrung bietet. So sieht das Ganze aus:

Hauptmerkmale des In-App-Browser-Tabs:
- Der In-App-Browser-Tab enthält eine Adressleiste und Navigationsschaltflächen und bietet damit eine browserähnlichere Erfahrung als der primäre WebView.
- Ideal für Inhalte, die eine einfache Navigation erfordern, wie z. B. Tutorials, Wissensdatenbanken oder Seiten mit spezifischen Informationen.
So verwendest du den In-App-Browser-Tab in deiner WebView-basierten Android-App:
Um einen Link im In-App-Browser-Tab zu öffnen, formatiere die URL in deinem HTML wie folgt:
<a href='#' onClick="top.location.href='https://www.example.com';">Open Example Page</a>
Beispiel: Um Google zu öffnen, verwende:
<a href='#' onClick="top.location.href='https://www.google.com';">Open Google</a>
Testen des Link-Verhaltens:
Um zu sehen, wie deine App verschiedene Arten von Links verarbeitet, verwende beim Testen die folgende URL als WebView-URL:
Testlink: https://www.webviewgold.com/demo/testlinks.php
Hinweis: Du kannst dieselbe Domain auch in deinem Desktop-Browser öffnen, um den Quellcode einzusehen und das Format für deine Links zu übernehmen.
Einen bestimmten Link gezielt im In-App-Tab oder Browser öffnen (newtab:-Präfix)
Manchmal soll ein einzelner, bestimmter Link im In-App-Browser-Tab (oder im externen Browser) geöffnet werden – unabhängig von deiner globalen Link-Handling-Konfiguration. Stelle der URL einfach das Präfix newtab: voran:
<a href="newtab:https://www.example.com">Beispielseite öffnen</a>
Der so markierte Link wird dann wie ein Special Link behandelt: Mit SPECIAL_LINK_HANDLING_OPTIONS auf 1 öffnet er sich im In-App-Browser-Tab, mit 2 im externen System-Browser. Dafür muss SPECIAL_LINK_HANDLING_OPTIONS in Config.java auf einen anderen Wert als 0 gesetzt sein.
Eine Authentifizierungs-URL in einem Chrome Custom Tab öffnen (googlelogin://)
Einige Login-Anbieter (insbesondere Google Sign-In) blockieren die Authentifizierung innerhalb einfacher WebViews. Wenn das Social-Media-Login-Helper-Tool nicht zu deinem Flow passt, kannst du die Authentifizierungs-URL stattdessen in einem sicheren Chrome Custom Tab öffnen, indem du ihr das Präfix googlelogin:// voranstellst:
window.location.href = "googlelogin://" + encodeURIComponent("https://accounts.google.com/o/oauth2/v2/auth?...");
Die URL nach dem Präfix wird dekodiert und in einem In-App-Chrome-Custom-Tab geöffnet, in dem der Login abgeschlossen werden kann. Leite den Nutzer anschließend zurück in deine Web-App (z. B. über deine OAuth-Redirect-URL).