Standortdaten und die neuen Möglichkeiten

iOS 13 bringt bessere Ortung - aber nicht zu jedem Preis

12.07.2019
Von   
Mark Zimmermann leitet hauptberuflich das Center of Excellence (CoE mobile) zur mobilen Lösungsentwicklung bei der EnBW Energie Baden-Württemberg AG in Karlsruhe. Er weist mehrere Jahre Erfahrung in den Bereichen Mobile Sicherheit, Mobile Lösungserstellung, Digitalisierung und Wearables auf. Der Autor versteht es, seine Themen aus unterschiedlichsten Blickwinkeln für unternehmensspezifische Herausforderungen darzustellen. Neben seiner hauptberuflichen Tätigkeiten ist er Autor zahlreicher Artikel in Fachmagazinen.
Mit iOS 13 legt Apple einen starken Fokus auf neue Datenschutzfunktionen, gerade auch im Hinblick auf die Erhebung und Weitergabe von Standortdaten.

Wie so häufig bei Apple ergeben sich auch mit iOS 13 neue Herausforderungen, aber auch Möglichkeiten für App-Entwickler. So etwa beim Thema Standortermittlung. War es früher noch so, dass eine App bei der ersten Standortermittlung den Anwender gefragt hat, ob und insbesondere wann diese auf GPS-Daten zugreifen darf ("When in use" oder "Always"), ändert sich das mit iOS 13. Er kann bei seiner Freigabe nur auswählen zwischen:

  • "Allow Once"

  • "When in Use"

Mit iOS 13 können Anwender Apps nur einen temporären Zugriff auf ihre Standortdaten gewähren.
Mit iOS 13 können Anwender Apps nur einen temporären Zugriff auf ihre Standortdaten gewähren.
Foto: Alexey Boldin - shutterstock.com

Mit iOS 13 erhalten Anwender nämlich eine neue Option ("Allow Once") bei der Anfrage nach Standortdaten durch eine App. Die "Einmaligkeit" erstreckt sich dabei über die Laufzeit der App. Wird die App beendet, muss der Anwender die Freigabe bei einem neuen Start der App erst freigeben. Dabei haben Entwickler die Möglichkeit, die App auch im Hintergrund weiter auf die Ortung zugreifen zu lassen, solange dies im Vordergrund initiiert wurde. Ist diese Aktion jedoch beendet, bedarf es wieder der "einmaligen" Freigabe.

Apps können zwar weiterhin von sich aus verlangen, dass sie "Always" nutzen möchten, der Anwender bekommt diese Option jedoch nicht mehr angeboten. Der Grund liegt in Apples neuem Datenschutzkonzept. Der Konzern aus Cupertino spricht von "Provisional Always". In diesem Zustand erwartet die App zwar die Daten, die ihr gemäß der Always-Regelung zustehen würden - bekommt diese aber nicht.

Bislang zumindest. Apple teilte den Entwicklern auf der WWDC 2019 jedoch mit, dass Anwender in iOS 13 zu gegebener Zeit ein Popup erhalten, in dem sie die Möglichkeit haben, einer bestimmten App weiterhin Zugriff auf ihren Standort zu gewähren oder sie auf "Always" zu ändern.

Trifft der Anwender seine Entscheidung, löst dies die Provisional-Always-Freigabe auf. Hier gibt es jedoch Einschränkungen. Je nach den geforderten Rechten stehen den Apps folgende Daten zur Verfügung :

Region Monitoring ("Always"): Eine Region kann definiert werden, bei deren Verlassen oder Betreten man benachrichtigt wird. Im einfachsten Fall: Center und Radius.

Significant Location Change Monitoring ("Always"): Apps können eine Benachrichtigung erhalten, sobald das Gerät 500 Meter oder mehr von ihrer vorherigen Benachrichtigung entfernt sind. Apps sollte nicht häufiger als alle fünf Minuten eine Benachrichtigung erwarten.

Visit Monitoring ("Always"): Die App erhält eine Benachrichtigung, wenn der Nutzer einen Ort besucht hat, mit z.B. Beginn und Ende eines Besuchs. Die Daten umfassen den Ort, an dem der Besuch stattgefunden hat, und Informationen über die Ankunfts- und Abfahrtszeiten - soweit relevant. Wird die App beendet während dieser Service aktiv ist, startet das System die Anwendung neu, sobald neue Besuchsereignisse zur Auslieferung bereit sind.

Standard Location ("Always", "When in Use"): Beim "normalen" Location Service definiert man Rahmenbedingungen für Präzision und Update-Frequenz und erhält dann je nach Entscheidung durch iOS Location Updates.

Continous Background Location ("Always", "When in Use"): Ähnlich wie Standard Location, allerdings im Hintergrund - so lange es möglich ist. Man kann auch über einen gewissen Zeitraum die Daten speichern lassen (z.B.: 20 Minuten). Egal, was dann mit der App passiert werden die Daten aufgenommen. Das Ergebnis kann man dann bis zu drei Tage später wieder abrufen, wenn die App bis dahin gestartet wird.

Ranging Beacons ("Always", "When in Use"): Die App trackt eine Umgebung auf Beacons und wird beim Betreten eines bestimmten Bereichs benachrichtigt. Die Umgebung wird durch die UUID der Beacons definiert - um eine Region zu definieren, müssen alle Beacons die gleiche UUID aufweisen. Sie können sich jedoch in den Major/Minor Parametern unterscheiden.

Wie Sie sehen, hatte das Ganze (bisher) nur bedingt etwas mit der Frage "When in Use" bzw. "Always" zu tun. Mit iOS 13 wird hier endlich für Klarheit gesorgt: Eine App darf nur dann auf die Core Location API zugreifen, wenn sie in Verwendung ist ("When in Use") bzw. immer ("Always").

Bislang sammelt Core Location die eingehenden Daten, die die App eigentlich verlangen würde. Diese Daten werden aber nicht automatisch an die App übergeben. Je nach Ergebnis der zu Beginn erwähnten Entscheidung durch den Anwender erhält die App entweder die zwischenzeitlich angefallenen und aufgezeichneten Daten - oder eben nicht. Dabei hebt Apple nicht alle Daten auf. Gemäß des FIFO Prinzips (First In, First Out) werden die Daten rollierend, zeitlich und mengenmäßig beschränkt vorgehalten und gegebenenfalls bis zur Anwenderentscheidung reduziert.

Indoor Maps, nicht nur für die Karten-App

Indoor Maps waren bisher etwas, das ausschließlich in der Karten-App von Apple für öffentliche Bereiche angedacht war. Indoor-Karten standen so bisher für Flughäfen (in Deutschland: Frankfurt (FRA), Berlin Schönefeld (SXF) und Berlin Tegel (TXL)) und für diverse Einkaufszentren öffentlich zur Verfügung. Mit iOS 13 erweitert Apple das Ganze jetzt deutlich.

Eine Indoor-Karte weist grundsätzlich mehrere Eigenschaften auf. Diese bestehen aus mehreren Stockwerken (Ebenen), Räumen, Fluren, Fahrstühlen und anderen Elementen. Alle Elemente haben dabei die Möglichkeit, mit einem Türschild versehen zu sein. Es können auch mehrere Bereiche (z.B. Büros) zu einer Selektion (z.B. Teams) gehören.

Jede Ebene wird als eine GeoJSON-Datei abgelegt. Im Jahr 2015 gründete die Internet Engineering Task Force (IETF) zusammen mit den ursprünglichen Autoren der Spezifikation eine GeoJSON-Arbeitsgruppe zur Standardisierung. RFC 7946 wurde im August 2016 veröffentlicht und stellt die aktuelle Standardspezifikation des GeoJSON-Formats dar. GeoJSON ist nun das Format zur Kodierung einer Vielzahl von geografischen Datenstrukturen. Dabei unterstützt GeoJSON die folgenden Geometrietypen:

  • Punkt;

  • Linien;

  • Polygon;

  • MultiPoint;

  • MultiLine;

  • und MultiPolygon.

Geometrische Objekte mit zusätzlichen Eigenschaften sind so genannte Feature-Objekte.

Gebäude mit mehreren Stockwerken bestehen aus mehreren dieser GeoJSON Dateien (eine pro Stockwerk). Diese werden durch eine Manifest-Datei gekoppelt und in einem eigenen IMDF-Archiv (Indoor Mapping Data Format) abgelegt. Dabei lassen sich die Karten an die Anforderungen der jeweiligen Firma (z.B. Styling) anpassen.

Das Indoor Mapping Data Format (IMDF) bietet damit im Ergebnis ein allgemeines Modell für die Abbildung eines beliebigen Indoor-Standorts auf der Welt an. IMDF entspricht RFC 7946 und gewährleistet damit die Kompatibilität und Übertragbarkeit der Daten auf verschiedene Apps, Plattformen und Systeme. IMDF wird von Apple verwendet, um Indoor Positioning mit Core Location zu unterstützen. Indoor-Karten, die in die Indoor-Positionierung integriert sind, können die Grundlage für eine breite Palette von ortsbezogenen Anwendungen und Websites bilden. Und wichtig: Auch wenn Apple das Format bevorzugt, kann es von jedem Gerät, Betriebssystem beziehungsweise jeder Anwendung genutzt und wiedergegeben werden.

Damit Sie für Ihren Standort entsprechende Indoor-Karten erstellen können, benötigt es einer Registrierung unter https://register.apple.com/indoor. Das Indoor-Maps-Programm ist für die Eigentümer öffentlicher oder privater Orte geeignet. Die Nutzung ist aus Sicht des Eigentümers kostenfrei, zumindest was die Registrierung und die Verwendung von IMDF in Apps und Webseiten angeht. Mithilfe von kostenpflichtiger Drittherstellersoftware kann ein solches IMDF Archiv angelegt werden. Dieses kann im Anschluss über Online-Tools bei Apple validiert und optimiert werden.

Für eine funktionierende Ortung bedarf es der Erfassung der vorhandenen WLAN-Signale in den Räumlichkeiten. Hierfür bietet Apple die App Indoor Survey an. Mit ihrer Hilfe können diese WLAN-Signale aufzeichnet werden. Die Indoor-Standortermittlung durch Core Location nutzt die bestehende Wi-Fi-Infrastruktur und erfordert keine zusätzliche Hardware. Eine Ortung durch Bluetooth-Beacons scheint nicht vorgesehen zu sein.

Die nun angereicherte Karte kann von App-Entwicklern in eigenen Apps (=geschlossene Anwendergruppe) per MapKit verwendet werden. Handelt es sich um einen "öffentlichen" Raum, also um Indoor-Karten mit öffentlichem Interesse, kann das so verarbeitete und bereitgestellte Material an Apple, zur Integration in die Karten-App, übergeben werden.

Da Apples MapKit- und MapKit-JS-APIs GeoJSON-Rendering und -Overlays unterstützen, können IMDF-Dateien in Apps als auch auf Webseiten Verwendung finden. Die Indoor-Navigation steht so Verbrauchern oder einem eingeschränkten (ausgewählten) Personenkreis zur Verfügung. Ich persönlich hoffe sehr, dass sich viele Eigentümer oder Betreiber von öffentlichen/privaten Orten die Möglichkeiten genau anschauen und freue mich auf reichhaltige Indoor-Karten. (mb)