Deep Linking zur Workplace App
Schwierigkeitsgrad: Experte
Lernziele
Nach der Lektüre dieses Artikels werden Sie in der Lage sein:
Einrichten von Deep Links von Drittanbieter-Apps zur Workplace App
Es ist möglich, Workplace App zu starten und mit einer einzigen Benutzeraktion zu bestimmten Bildschirmen/Funktionen zu navigieren.
Dieses Verhalten kann erreicht werden, indem die URL entweder von einer Webanwendung/Website oder von einer anderen Anwendung auf demselben Gerät aus aufgerufen wird.
Der Verknüpfungsmechanismus wird von der standardmäßigen Workplace App unterstützt, sowohl auf iOS- als auch auf Android-Plattformen.
Was sind Deep Links?
Deep Links sind vordefinierte benutzerdefinierte URLs, die zum Aufrufen einer Anwendung aus einer externen Anwendung oder Umgebung verwendet werden können. So wird beispielsweise durch die Auswahl der Schaltfläche "Navigieren" auf einer Website die Standardanwendung "Karten" auf dem Gerät gestartet, wo die Navigation automatisch beginnt.
Voraussetzungen
Um eine Anwendung zu aktivieren, die Deep Links unterstützt, müssen folgende Bedingungen erfüllt sein:
Die Zielanwendung (in diesem Fall: The Workplace App) muss auf dem Gerät installiert sein
Die Quellanwendung muss die benutzerdefinierte URL aufrufen, um die Navigation auszulösen
Die Deep-Link-URL muss gut formatiert sein und alle erforderlichen Parameter enthalten, die von der Zielanwendung erwartet werden.
Deep Links in der Workplace App
Die Workplace App unterstützt Deep Links zu den folgenden Bildschirmen oder Funktionen:
Buchen Sie ein Zimmer
Live-Grundriss ansehen
Deep-Link-Konstruktionsformat
Der Deep Link besteht aus 3 Abschnitten:
Schema - Die URL, die von einer App registriert wird. Sie teilt dem System mit, dass die App Links verarbeiten kann, die mit diesem Schema beginnen.
Gastgeber - Ein eindeutiger Bezeichner für die Anwendung/Funktion, die Sie aufrufen möchten. Dies ist nützlich, wenn mehrere Seiten in einer App dasselbe Schema behandeln.
Parameter - Eine Liste von Schlüssel-Werte-Paaren, die von der Anwendung erfasst werden können. Sowohl die Schlüssel als auch die Werte sollten vom Typ String sein.
Das Format, in dem diese strukturiert sind, ist:
PA://spacewell?targetview={0}&extraparam={1}&username={2}
Wo,
Schema = PA://
Gastgeber = Weltraumbahnhof
Parameter = targetview, extraparam und benutzername
Host und Schema
Im Moment sollten sowohl der Host als auch das Schema konstant bleiben, wenn Sie Deep Links für die Integration mit der Workplace App erstellen. Die erwarteten Werte sind oben beschrieben.
Die Workplace App ist so konzipiert, dass sie Scheme sowohl in Groß- als auch in Kleinbuchstaben verarbeiten kann, da sie zwischen Groß- und Kleinschreibung unterscheidet.
Achten Sie darauf, Groß- und Kleinschreibung im Schema nicht zu vermischen.
Erlaubt
PA://.... ODER pa://....
Nicht erlaubt
Pa://.... ODER pA://....
Parameter
Die folgenden Parameter werden von der Workplace App erwartet, um die oben genannten Anwendungsfälle zu ermöglichen.
Schlüssel | Zweck | Erforderlich | Einzelheiten |
Zielansicht | Der Zielbildschirm, der über den Deep Link aufgerufen werden soll. | Ja | Sollte einer der 5 vordefinierten Werte sein, wie im nächsten Kapitel beschrieben. |
extraparam | Zur Übergabe zusätzlicher ID/Werte auf der Grundlage der Zielansicht | Optional | Die zulässigen Kombinationen von targetview und extraparam werden im nächsten Kapitel beschrieben. |
Nutzername | Workplace-Benutzername oder E-Mail-ID des Benutzers.
Für einen nicht authentifizierten Benutzer ist eine Benutzeridentifikation in der Workplace App erforderlich, um den Anmeldevorgang auszulösen.
Für einen angemeldeten Benutzer, um sicherzustellen, dass derselbe Benutzer in der Workplace App und der Quell-App authentifiziert wird.
Wenn eine E-Mail-ID verwendet wird, muss für den Workplace-Benutzer die gleiche E-Mail-ID konfiguriert werden. | Nein | Wenn der Benutzername als Parameter übergeben wird: Für ein unauthentifizierter BenutzerDie Workplace App erfasst den Wert und trägt ihn in den Bildschirm für den Benutzernamen ein. Es wird automatisch erkannt, ob SSO für den Benutzer aktiviert ist oder nicht, und der entsprechende Authentifizierungsablauf wird ausgelöst. In diesem Fall ist es nicht möglich, sich mit einem anderen Benutzer anzumelden.
Für eine eingeloggter Benutzerwird die Workplace App den Benutzernamen erfassen und sicherstellen, dass derselbe Benutzer angemeldet ist. Ist dies nicht der Fall, wird die aktuelle Benutzersitzung beendet und der Anmeldevorgang für den über den Link erfassten Benutzer ausgelöst.
Wenn der Benutzername nicht als Parameter übergeben wird: Wenn kein Wert von der Quell-App übergeben wird, werden die Benutzervergleiche in der Workplace App übersprungen.
Für einen nicht authentifizierten Benutzer sollte der Workplace-Benutzername zunächst manuell in der Workplace App eingegeben werden. Jeder Workplace-Benutzer kann sich anmelden.
Andererseits kann ein authentifizierter Benutzer mit einer aktiven Workplace-Sitzung in der Workplace App die App auch dann weiter nutzen, wenn er über einen Deep Link navigiert. Es werden keine Benutzervergleiche vorgenommen. |
Kombinationen von targetview und extraparam
Die folgenden Kombinationen von targetview und extraparam werden von der Workplace App unterstützt. Wenn ein falscher Wert für targetview übergeben wird, zeigt die Workplace App eine entsprechende Fehlermeldung an und navigiert zurück zur Launcher-App. Die Rückwärtsnavigation wird standardmäßig nur unter Android unterstützt.
Zielansicht | extraparam | Beschreibung |
BUCH_ZIMMER | Nicht erforderlich | Navigiert zum Bildschirm "Ein Zimmer buchen", wo der Benutzer mit der Suche nach einem Zimmer beginnen kann. |
FLOORPLAN | Optional | So navigieren Sie zu einer Live-Grundrissansicht.
Mit extraparam: Die Etagen-ID (gemäß den von Workplace APIs empfangenen Daten, siehe Rest API) sollte als Parameter übergeben werden, um den gewünschten Live-Grundriss ohne explizite Etagenauswahl zu starten. Die Etage sollte sich innerhalb des aktuell in der Workplace App ausgewählten Gebäudes befinden.
Ohne Extraparam: Wenn Sie diesen Link zum ersten Mal verwenden, wird der Benutzer aufgefordert, ein Stockwerk aus den verfügbaren Stockwerken innerhalb des aktuellen Gebäudes auszuwählen. Bei späteren Starts wird das zuvor ausgewählte Stockwerk gespeichert und der aktuelle Grundriss wird standardmäßig angezeigt. Der Benutzer hat weiterhin die Möglichkeit, zwischen den Etagen im selben Gebäude zu wechseln.
In den folgenden Szenarien wird die vorherige Auswahl gelöscht:
|
Beispiele
Bildschirm "Zimmer buchen" starten
Struktur: "PA://spacewell?targetview={0}&extraparam={1}&username={2}"
{0} - "BOOK_ROOM"
{1} - ""
{2} - "" OR Workplace-Benutzername/E-Mail-Adresse
→ Beispiel: "PA://spacewell?targetview=BOOK_ROOM"
Versuchen Sie es selbst:
Bildschirm "Grundriss" starten
Struktur "PA://spacewell?targetview={0}&extraparam={1}&username={2}"
{0} - "GRUNDRISS"
{1} - "" OR Standort-ID der Etage, die Sie in der Grundrissansicht öffnen möchten
{2} - "" OR Workplace-Benutzername/E-Mail-Adresse
→ allgemeines Beispiel: Öffnen der Ansicht "Alle Stockwerke", wenn mehrere Grundrisse in einem Gebäude vorhanden sind: "PA://spacewell?targetview=FLOORPLAN"
→ Konkretes Beispiel: Verwendung der Etagen-ID zur Öffnung einer bestimmten Etage in unserem eigenen Spacewell-Mieter: "PA://spacewell?targetview=FLOORPLAN&extraparam=910000000004545"
Versuchen Sie es selbst:
Wie kann man die Workplace App (Ziel-App) über einen Link in einer Quell-App aktivieren?
Ein Deeplink kann wie eine Web-URL betrachtet werden, was bedeutet, dass er wie jede andere Web-URL aufgerufen werden kann. Er kann per Klick auf eine Schaltfläche aufgerufen, in den Webbrowser des Geräts (Chrome/Safari) eingefügt oder von einer nativen iOS- oder Android-App aus aufgerufen werden.
Im Folgenden sind einige Beispiele aufgeführt, die bei der Implementierung der Logik in den Quellanwendungen hilfreich sein könnten.
Xamarin iOS Beispiel
string url = string.Format("PA://spacewell?targetview={0}&extraparam={1}&username={2}", viewName, extraParamValue, userName);
UIApplication.SharedApplication.OpenUrl(new NSUrl(url));
Xamarin Android Beispiel
string url = string.Format("PA://spacewell?targetview={0}&extraparam={1}&username={2}", viewName, extraParamValue, userName);
Android.Net.Uri uri = Android.Net.Uri.Parse(url);
Intent intent = new Intent(Intent.ActionView, uri);
StartActivity(intent);
Web/JavaScript
Verwendung von Seitenumleitungen
window.location.replace("PA://spacewell?targetview=FLOORPLAN&extraparam=0000012345&username=aaa");
Verwendung eines Links
<a href="PA://spacewell?targetview=FLOORPLAN&extraparam=0000012345&username=aaa">Grundriss</a>
Wie navigiert man zurück zur Ausgangsanwendung?
Android
Die Rückwärtsnavigation in Android wird sofort unterstützt. Wenn ein Benutzer von der Workplace App zurücknavigiert und die App über einen Deep Link aufgerufen wurde, wird die Workplace App beendet und der Benutzer kann mit der vorherigen App weiterarbeiten.
Dies bietet dem Nutzer eine nahtlose Navigation.
iOS
Wenn auf der iOS-Plattform eine App gestartet wird (in diesem Fall die Workplace App), wird die Launcher-App automatisch in den Hintergrund verschoben. Die Navigation zurück zur vorherigen App ist dann nicht mehr möglich.
Wenn eine Rückwärtsnavigation erforderlich ist, kann derselbe Deep-Linking-Mechanismus verwendet werden, allerdings in umgekehrter Richtung. Um dies zu ermöglichen, startet die Workplace App die Quell-App (iOS-App) über einen in der Quell-App definierten Deep Link.
Um diese Funktion zu aktivieren, ist höchstwahrscheinlich eine Entwicklung in der iOS-App erforderlich, bei der die Workplace App die Rückwärtsnavigation unter Verwendung des folgenden URL-Schemas auslösen kann.
"pabacknavigation"
Dies kann durch die Implementierung der folgenden Änderungen in der iOS-Quellanwendung erreicht werden:
Implementieren Sie im AppDelegate die Methode OpenURL und geben Sie true zurück.
Fügen Sie in info.plist ein benutzerdefiniertes URL-Schema hinzu. Es muss "pabacknavigation" genannt werden.
Wenn die Rückwärtsnavigation nicht benötigt wird, muss der Benutzer nach einer Operation in der Workplace iOS-App manuell zur Ausgangs-App zurückwechseln.
Suche