Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Automatically translated by Lango

DifficultySchwierigkeitsgrad: expertExperte

The format in which these are structured is
Content

Inhalt

Table of Contents
minLevel1
maxLevel1

Learning Objectives

After reading this article, you’ll be able to:

  • Set up deep links from 3rd party app to Workplace app

It is possible to launch Workplace App and navigate to specific screens/features in a single user action.

This behavior can be achieved by launching the URL either from a web application/website or from another app on the same device.

The linking mechanism is supported on the standard Workplace app, both on iOS and Android platforms.

Image Removed

What are deep links?

Deep links are predefined custom URLs, which can be used to invoke an app from an external app or environment. For example, selecting the “navigate” button on a website launches the default “maps” application on the device where navigation is started automatically.

Prerequisites

To activate an application which supports deep links, the following conditions must be ensured:

  • The destination app (in this case: The Workplace App) must be installed on the device

  • The source app must invoke the custom URL to trigger navigation

  • The deep link URL must be well formatted and pass all required parameters, as expected by the destination app.

Deep links in Workplace app

The Workplace app supports deep links to the below screens or features:

  • Book a room

  • View live floorplan

Deep-link construction format

The deep link is constructed out of 3 sections:

  • Scheme – The URL which is registered by an app. It informs the system that the app can handle links starting with this scheme.

  • Host – A unique identifier for the app/feature that you want to invoke. This is usable if multiple pages in an app handle the same Scheme.

  • Parameters – A list of key-value pairs, which can be captured by the application. Both keys and values should be of string type.

 

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.

Image Added

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}

WhereWo,

Scheme Schema = PA://

Host Gastgeber = spacewell Weltraumbahnhof

Parameters Parameter = targetview, extraparam and usernameund benutzername

Host

and Scheme

For now, both host and scheme should remain constant while creating deep links for integration with the Workplace app. The expected values are described above.

The Workplace app is designed in such a way that it can handle Scheme in both upper and lower case, as it is case sensitive.

Info

Make sure not to mix upper and lower case in the Scheme.

Allowed

PA://…. OR pa://….

Not allowed

Pa://…. OR pA://….

Parameters

The following parameters are expected by Workplace app for enabling the use cases above.

Key

Purpose

Required

Details

targetview

The target screen to be launched via the deep link.

Yes

Should be one of the predefined 5 values, as described in the next chapter.

extraparam

For passing additional ID/value based on targetview

Optional

The allowed combinations of targetview and extraparam are described in the next chapter.

username

Workplace username or email ID of the user.

 

For an unauthenticated user, user identification is required in Workplace app: trigger the login flow.

 

For a logged in user, to ensure that the same user is authenticated across Workplace app and source app.

 

If email ID is used, the same email ID must be configured for the Workplace user.

No

When username is passed as a parameter:

For an unauthenticated user, Workplace app will capture the value and fill it on the username screen. It will automatically detect whether SSO is enabled for the user or not and trigger the relevant authentication flow.

It’s not possible to login with a different user in this case.

 

For a logged in user, Workplace app will capture the username and ensure that the same user is logged in. If not, the current user session will be terminated and login flow will be triggered for the user captured in the link.

 

When username is not passed as a parameter:

If no value is passed from the source app, the user comparisons are skipped in Workplace app.

 

For an unauthenticated user, the Workplace username should be entered manually in Workplace app as the first step. Any Workplace user is allowed to login.

 

On the other hand, an authenticated user with an active Workplace session in Workplace app can continue using the app when navigating from a deep link too. No user comparisons are made.

 targetview and extraparam combinations

The below combinations of targetview and extraparam combinations are supported by Workplace app. If an incorrect value is passed for targetview, the Workplace app will show a relevant error message and navigate back to the launcher app. Back navigation is supported out of the box on Android only.

targetview

extraparam

Description

BOOK_ROOM

Not required

Navigates to “Book a room” screen where user can start searching for a room.

FLOORPLAN

Optional

To navigate to a live floorplan view.

 

With extraparam:

The floor ID (as per data received from Workplace APIs, see Rest API) should be passed as a parameter to launch the desired live floorplan without any explicit floor selection. The floor should be inside the current building selected in Workplace app.

 

Without extraparam:

When using this link for the first time, the user will be asked to select a floor from the available floors inside the current building. On subsequent launches, the previously selected floor will be remembered, and the live floorplan will be shown by default. The user still has a possibility to switch between the floors in the same building.

 

The previous selection will be cleared in the below scenarios:

  • A different user login in Workplace app

  • The current location (building) is changed in Workplace app

Examples

Launch “Book a room” screen

structure

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.

Info

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:

  • Eine andere Benutzeranmeldung in der Workplace App

  • Der aktuelle Standort (Gebäude) wird in der Workplace App geändert

Beispiele

Bildschirm "Zimmer buchen" starten

Struktur: "PA://spacewell?targetview={0}&extraparam={1}&username={2}"

{0} - “BOOK"BOOK_ROOM”ROOM"

{1} – “”- ""

{2} - “” "" OR Workplace username/ email address-Benutzername/E-Mail-Adresse

exampleBeispiel: “PA"PA://spacewell?targetview=BOOK_ROOM”

Try it yourself

ROOM"

Versuchen Sie es selbst:

Launch “Floorplan” screen

structure Bildschirm "Grundriss" starten

Struktur "PA://spacewell?targetview={0}&extraparam={1}&username={2}"

{0} - “FLOORPLAN”"GRUNDRISS"

{1} – “” OR location ID of the floor you want to open in floorplan view- "" OR Standort-ID der Etage, die Sie in der Grundrissansicht öffnen möchten

{2} - “” "" OR Workplace username/ email address→ general example, opening “All Floors” view if multiple floor plans are available in a building: “PA-Benutzername/E-Mail-Adresse

→ allgemeines Beispiel: Öffnen der Ansicht "Alle Stockwerke", wenn mehrere Grundrisse in einem Gebäude vorhanden sind: "PA://spacewell?targetview=FLOORPLAN”FLOORPLAN"

concrete example, using floor ID to open 1 particular floor in our own Spacewell tenant: “PAKonkretes Beispiel: Verwendung der Etagen-ID zur Öffnung einer bestimmten Etage in unserem eigenen Spacewell-Mieter: "PA://spacewell?targetview=FLOORPLAN&extraparam=910000000004545”

Try it yourself

910000000004545"

Versuchen Sie es selbst:

How to activate Workplace app (destination app) from a link in a source app?

A deep link can be considered the same as a web URL, which means that it can be launched like any other web URL. It can be involved on click of a button, pasted in the device’s web browser (Chrome/Safari) or involved from a native iOS or Android app.

 

Shared below are some examples, which might help in implementing the logic in the source apps.

Xamarin iOS example

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

example

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

Using page redirects

Verwendung von Seitenumleitungen

window.location.replace("PA://spacewell?targetview=FLOORPLAN&extraparam=0000012345&username=aaa");

Using a link

<a href="PA://spacewell?targetview=FLOORPLAN&extraparam=0000012345&username=aaa">Floorplan<>Grundriss</a>

How to navigate back to the source app

Wie navigiert man zurück zur Ausgangsanwendung?

Android

Back navigation in Android is supported out-of-the-box. When a user navigates back from the Workplace app and the app was invoked from a deep link, Workplace app is dismissed, and the user can continue working on the previous app.

This offers a seamless navigation experience to the user.

iOS

On iOS platform, when an app is launched (Workplace app in this case), the launcher app is automatically dismissed to the background. Subsequently, back navigation to the previous app is not available out of the box.

If back navigation is required, the same deep linking mechanism can be used, but in the opposite direction. To enable this, the Workplace app will launch the source app (iOS app) via a deep link defined in the source app.

To enable this feature, most likely a development is required in the source iOS app; where Workplace app can trigger back navigation using the below URL scheme.

“pabacknavigation”

 This can be achieved by implementing the below changes in the source iOS app:

  • In the AppDelegate, implement OpenURL method and return true.

Image Removed
  • In info.plist, add a custom URL scheme. It must be called “pabacknavigation”

Image Removed

If back navigation is not needed, the user will have to manually switch back to the source app after performing an operation in the Workplace iOS app.

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

Image Added
  • Fügen Sie in info.plist ein benutzerdefiniertes URL-Schema hinzu. Es muss "pabacknavigation" genannt werden.

Image Added

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

Live Search