iOS: Links zu nativen Apps aus dem Browser heraus
Aus mobilen Websites oder Web-Apps kann man auf native Apps verlinken. Ob Telefonnummer wählen, Routenplaner starten oder Facebook-App öffnen: Dies alles funktioniert üblicherweise über die so genannte URL-Schemes.
Hier einige Aktionen, die man per Link aus dem mobilen Safari-Browser (iPhone und iPad) auslösen kann:
- Email: Der Email-Client auf dem iPhone öffnet sich und man kann eine Email schreiben.
- Telefon: Wählen einer Telefonnummer.
- SMS: Senden einer SMS an eine Telefonnummer
- Maps: Aufrufen der nativen Karten-App (Google Maps)
- YouTube: Öffnen eines YouTube-Videos in der nativen YouTube-App.
- Facebook: Öffnen der App und Anzeigen von bestimmten Inhalten
Der folgende Artikel zeigt, wie dies auf Apples iOS-Betriebssystem funktioniert. Auf einem iOS-Gerät kann man dies auch direkt an diesem Beispiel ausprobieren, das ich zu Demozwecken erstellt habe: Demo mit iOS-URL-Schemes.
Offizielle Apple-Apps aus dem Browser ansprechen
Der Vorteil der folgenden Apple-Apps liegt darin, dass diese auf jedem Apple-Gerät vorinstalliert und somit immer vorhanden sind. Dadurch funktionieren diese Links auf jeden Fall.
Email-Client öffnen
Bereits seit langem werden im Internet mailto:
-Links verwendet, um den Standard-Email-Client zu öffnen. Auf dem iPhone geht dies auf die gleiche Weise, wodurch man z.B. den Empfänger, die CC-Empfänger, den Betreff und den Emailtext vordefinieren kann.
<a href="mailto:test@example.com">...</a> <a href="mailto:test@example.com?cc=test2@example.com,test3@example.com">...</a> <a href="mailto:test@example.com?subject=Neuer Betreff!&body=Neue Nachricht!">...</a> |
Telefonnummer wählen und SMS schreiben
Sowohl des Anrufen einer Telefonnummer als auch das SMS-Schreiben funktionieren nach dem gleichen Prinzip: Man schreibt einfach einen gewöhnlichen Link mit der Ziel-URL tel:
bzw. sms:
. Bevor das Telefon die Nummer wählt, erfolgt ein Pop-Up mit einer Sicherheitsabfrage, ob der Anruf tatsächlich gewünscht ist. Ein Anruf auf dem iPad geht logischerweise nicht, weshalb das Tablet stattdessen die Option anbietet, die Nummer ins Adressbuch zu übernehmen. Da das iPad auch eine SMS-/Nachrichten-App, funktioniert das SMS-Schreiben auf dem Tablett von Apple ebenso.
<a href="tel:01234-123456">...</a> <a href="sms:01234-123456">...</a> |
Eigentlich sollten Telefonnummer auch automatisch erkannt werden, ohne diese speziell mit der genannten Methode explizit zu verlinken. Allerdings kann man so sicherstellen, dass dies auf jeden Fall korrekt implementiert ist. Werden fälscherweise andere Nummern auf der Website als Telefonnummer erkannt, lässt sich diese Auto-Erkennung übrigens auch deaktivieren.
iCal / Kalender
Ein Kalender im iCal-Format kann man über webcal://
verlinken, wodurch er in der iCal-App abonniert werden kann.
<a href="webcal://../basic.ics">...</a> |
[ad]
Karten-App öffnen
Die Karten-App wird von iOS automatisch gestartet, wenn man von einer mobilen Website auf maps.google.com
verlinkt. Es wird also anstatt eines URL Schemes einfach die Domainanfrage abgefangen. Mithilfe von Parametern in der URL kann man die gewünschte Darstellung festlegen. Man kann auch direkt in den Routenplaner-Modus springen, wenn man Source Address (saddr
) und Destination Address (daddr
) angibt. Eine Übersicht der Parameter findet man in der Apple-Doku.
<a href="http://maps.google.com/maps?q=marktplatz+bretten+deutschland">..</a> <a href="http://maps.google.com/maps?saddr=Bretten,+Deutschland&daddr=Karlsruhe,+Deutschland">...</a> |
YouTube-Video anschauen
Um ein Video zu öffnen, muss man lediglich einen normalen Link auf YouTube setzen. iOS fängt dies wie bei Google Maps ab und öffnet darauf hin die native YouTube-App. Der Link setzt sich zusammen aus http://youtube.com/v/
und der Video-ID.
<a href="http://youtube.com/v/V_MmgpGWqpA">..</a> |
Third-Party-Apps aus dem Browser öffnen
Alle nativen Apps können eigenen URL-Schemes definieren und auf einem iPhone registrieren, so dass diese z.B. aus Mobile Safari heraus aufgerufen werden.
One of the coolest features of the iPhone SDK is an application’s ability to “bind” itself to a custom URL scheme and for that scheme to be used to launch itself from either a browser or from another application on the iPhone.
Allerdings besteht das Problem, dass man nicht abfragen kann, welche Apps auf dem Smartphone installiert sind. Insofern ist ein bisschen Glückssache, ob der Link erfolgreich ausgeführt werden kann.
Facebook-App öffnen
Die bisher genannten Apple-Apps sind alle auf jedem iPhone vorhanden, was bei der offiziellen Facebook-App nicht der Fall ist. Allerdings ist die Wahrscheinlichkeit sehr hoch, dass ein Nutzer diese installiert hat, wenn er Facebook nutzt. Das passende URL-Schema für Facebook lautet fb://
und ist sehr umfangreich (und Facebook-typisch scheinbar nicht wirklich dokumentiert…). So öffnet fb://profile
beispielsweise das Profil des Nutzers, fb://friends
die Freundeliste oder fb://feed
die aktuellen Neuigkeiten.
Interessant dürfte sicher die Frage sein, wie man einen bestimmten Nutzer (z.B. eine Fanpage) öffnet? Ganz einfach: Man öffnet seine Fanpage im Browser und ersetzt das www
durch graph
(z.B. http://graph.facebook.com/dm.Deutschland
). Schon sieht man die User-ID, die man für das Schema fb://profile/[userid]/wall
benötigt (fb://profile/129724513733284/wall
).
Bei Details empfehle ich diese sehr umfangreiche Übersicht der Facebok-URL-Schemes, die knapp 200 Einträge enthält.
Quellen und Links
Link: Apple URL Scheme Reference
Link: iPhoneIntegration (Sample Code)
Link: Making a Phone Number clickable for iPhone Users
Link: Launching Your Own Application via a Custom URL Scheme
Link: IPhone URL Schemes