Moeilijkheidsgraad: expert
Inhoud
Leerdoelen
Na het lezen van dit artikel kun je:
- Vanuit externe apps naar Workplace linken
In één actie app en specifiek scherm openen.
Via website/webapp of andere app op hetzelfde apparaat.
Standaardapp op iOS en Android.
Wat zijn deeplinks?
Aangepaste vooraf bepaalde URL’s openen een app, zoals navigatieknop die Maps met route start.
Vereisten
Voor activering:
- Doelapp, hier De Workplace-app, geïnstalleerd
- Bronapp roept aangepaste URL aan
- Juiste opmaak en vereiste parameters
Workplace-deeplinks
Schermen:
- Ruimte boeken
- Liveplattegrond
URL-opbouw
Drie delen:
- Scheme – Geregistreerd voorvoegsel dat appondersteuning aangeeft.
- Host – Unieke app-/functieidentifier bij gedeeld scheme.
- Parameters – String-sleutel/waardeparen.
Formaat:
PA://spacewell?targetview={0}&extraparam={1}&username={2}
Waarbij:
Scheme = PA://
Host = spacewell
Parameters = targetview, extraparam en username
Host en Scheme
Deze blijven constant zoals hierboven.
Scheme mag volledig hoofd- of kleine letters bevatten; bron noemt hoofdlettergevoeligheid.
Info
Niet mengen.
Toegestaan
PA://…. OF pa://….
Niet toegestaan
Pa://…. OF pA://….
Parameters
Verwachte waarden:
Sleutel |
Doel |
Verplicht |
Details |
|---|---|---|---|
targetview |
Doelscherm |
JA | Volgens bron één van vijf vooraf bepaalde waarden hieronder. |
extraparam |
Extra ID/waarde volgens targetview |
Optioneel |
Combinaties hieronder. |
username |
Workplace-gebruikersnaam of e-mail. Zonder sessie identificatie voor login. Met sessie dezelfde gebruiker in bron en Workplace controleren. E-mail moet bij Workplace-gebruiker horen. |
NEE |
Indien username meegegeven: Een niet-ingelogde gebruikerkrijgt dit vooraf ingevuld en automatisch juiste SSO-/authenticatieprocedure. Andere gebruiker kiezen kan dan niet. Een ingelogde gebruikerwordt vergeleken; bij verschil huidige sessie beëindigd en juiste login gestart. Zonder username: Geen vergelijking met bronapp. Niet ingelogd: handmatig ID, iedere Workplace-gebruiker mag aanmelden. Al ingelogd: sessie blijft zonder vergelijking. |
targetview/extraparam-combinaties
Onjuiste targetview geeft fout en terug naar bron. Terugnavigatie standaard alleen Android.
targetview |
extraparam |
Beschrijving |
|---|---|---|
BOOK_ROOM |
Niet nodig |
Book a room voor zoeken. |
FLOORPLAN |
Optioneel |
Liveplattegrond. Met extraparam: Verdieping-ID uit REST APIopent direct; binnen huidig gebouw. Zonder extraparam: Eerst verdieping kiezen, later onthouden; wisselen binnen gebouw mogelijk. Gewist bij:
|
Voorbeelden
Workplace vanuit een bronapp openen
Zoals web-URL: knop, browser Chrome/Safari of native iOS/Android.
Implementatievoorbeelden:
Xamarin iOS
string url = string.Format("PA://spacewell?targetview={0}&extraparam={1}&username={2}", viewName, extraParamValue, userName);
UIApplication.SharedApplication.OpenUrl(new NSUrl(url));
Xamarin Android
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
Doorverwijzing
window.location.replace("PA://spacewell?targetview=FLOORPLAN&extraparam=0000012345&username=aaa");
Link
<a href="PA://spacewell?targetview=FLOORPLAN&extraparam=0000012345&username=aaa">Floorplan</a>
Terug naar bronapp
Android
Standaard terug: Workplace sluit naar eerder geopende bronapp.
Vloeiende navigatie.
iOS
Bron gaat naar achtergrond; terug niet standaard beschikbaar.
Omgekeerde deeplink kan bronapp openen.
Bron-iOS-app heeft waarschijnlijk ontwikkeling nodig voor scheme:
pabacknavigation
Aanpassingen:
- AppDelegate: OpenURL implementeren, true retourneren.
- info.plist: custom URL scheme pabacknavigation
Zonder terugnavigatie handmatig wisselen na Workplace-actie.