Orte verwenden
Erfahren Sie, wie Sie den Geolocation-Dienst Places in Ihrer App verwenden.
Der Datenerfassungs-Places-Dienst von Adobe Experience Platform ist ein Geolocation-Dienst, mit dem mobile Apps mit Standorterkennung den Standortkontext verstehen können. Der Dienst verwendet umfangreiche und benutzerfreundliche SDK-Schnittstellen, die von einer flexiblen Datenbank mit Zielpunkten (POIs) begleitet werden.
Voraussetzungen
- Alle Paketabhängigkeiten sind im Xcode-Projekt vorhanden.
- Registrierte Erweiterungen in AppDelegate.
- MobileCore für die Verwendung Ihrer Entwicklungs-AppId konfiguriert.
- Importierte SDKs
- Die App wurde erfolgreich erstellt und mit den oben genannten Änderungen ausgeführt.
Lernziele
In dieser Lektion werden Sie
- Erfahren Sie, wie Sie Zielpunkte im Places-Dienst definieren.
- Aktualisieren Sie Ihre Tag-Eigenschaft mit der Places-Erweiterung.
- Aktualisieren Sie Ihr Schema, um Geolocation-Ereignisse zu erfassen.
- Validieren Sie die Einrichtung in "Assurance".
- Aktualisieren Sie Ihre App, um die Places-Erweiterung zu registrieren.
- Implementieren Sie das Geolocation-Tracking aus dem Places-Dienst in Ihre App.
Einrichten
Damit der Places-Dienst in Ihrer App und im Mobile SDK funktioniert, müssen Sie einige Einstellungen vornehmen.
Festlegen von Orten
Sie definieren einige Zielpunkte im Places-Dienst.
- Wählen Sie in der Datenerfassungs-Benutzeroberfläche Orte aus.
- Wählen Sie aus.
- Wählen Sie im Kontextmenü Bibliotheken verwalten aus.
- Wählen Sie im Dialogfeld Bibliotheken verwalten die Option Neu aus.
- Geben Sie im Dialogfeld Bibliothek erstellen einen Namen ein, z. B.
Luma
. - Wählen Sie Bestätigen aus.
- Um das Dialogfeld Bibliotheken verwalten zu schließen, wählen Sie Schließen aus.
- Wählen Sie in POI-Verwaltung die Option POIs importieren aus.
- Wählen Sie Start im Dialogfeld Orte importieren aus.
- Wählen Sie Luma aus der Liste der Bibliotheken,
- Klicken Sie auf Weiter.
- Laden Sie die ZIP-Datei Luma POIs herunter und extrahieren Sie sie an einen Speicherort auf Ihrem Computer.
- Ziehen Sie im Dialogfeld Orte importieren die extrahierte Datei
luma_pois.csv
per Drag-and-Drop in das Feld CSV-Datei auswählen - Datei ziehen und ablegen. Sie sollten Validierungserfolg - CSV-Datei erfolgreich validiert haben sehen. - Wählen Sie Import starten aus. Sie sollten Erfolg - 6 neue Zielpunkte erfolgreich hinzugefügt haben sehen.
- Wählen Sie Fertig aus.
- In POI-Verwaltung sollten Sie sehen, dass sechs neue Luma-Stores zur Liste hinzugefügt werden. Sie können zwischen der Liste
und der Kartenansicht
umschalten.
.
Installieren der Places-Erweiterung
-
Navigieren Sie zu Tags , suchen Sie Ihre mobile Tag-Eigenschaft und öffnen Sie die Eigenschaft .
-
Wählen Sie Erweiterungen aus.
-
Wählen Sie Katalog aus.
-
Suchen Sie nach der Erweiterung Places .
-
Installieren Sie die -Erweiterung.
-
Im Dialogfeld Install Extension :
-
Wählen Sie Luma aus der Liste Bibliothek auswählen .
-
Stellen Sie sicher, dass Sie Ihre Arbeitsbibliothek ausgewählt haben, z. B. Ursprünglicher Build.
-
Wählen Sie In Bibliothek speichern und erstellen unter In Bibliothek speichern aus.
.
-
-
Ihre Bibliothek ist neu aufgebaut.
Prüfen des Schemas
Überprüfen Sie, ob Ihr Schema, wie in Schema erstellen definiert, die erforderlichen Feldergruppen und Klassen enthält, um POI- und Geolocation-Daten zu erfassen.
- Navigieren Sie zur Datenerfassungsoberfläche und wählen Sie in der linken Leiste Schemas aus.
- Wählen Sie in der oberen Leiste Durchsuchen aus.
- Wählen Sie Ihr Schema aus, um es zu öffnen.
- Wählen Sie im Schema-Editor Consumer Experience Event aus.
- Es wird ein placeContext -Objekt mit Objekt und Feldern angezeigt, um POI-Interaktionen und Geolocation-Daten zu erfassen.
.
Tag-Eigenschaft aktualisieren
Die Places-Erweiterung für Tags bietet Funktionen zum Überwachen von Geolocation-Ereignissen und ermöglicht den Trigger von Aktionen, die auf diesen Ereignissen basieren. Mit dieser Funktion können Sie die API-Codierung minimieren, die Sie in der App implementieren müssen.
Datenelemente
Erstellen Sie zunächst mehrere Datenelemente.
-
Rufen Sie Ihre Tag-Eigenschaft in der Datenerfassungs-Benutzeroberfläche auf.
-
Wählen Sie in der linken Leiste Datenelemente aus.
-
Wählen Sie Datenelement hinzufügen aus.
-
Geben Sie im Bildschirm Datenelement erstellen einen Namen ein, z. B.
Name - Entered
. -
Wählen Sie Orte aus der Liste Erweiterung aus.
-
Wählen Sie Name aus der Liste Datenelementtyp aus.
-
Wählen Sie Aktueller POI unter TARGET aus.
-
Wählen Sie In Bibliothek speichern aus.
-
Wiederholen Sie die Schritte 4 bis 8 anhand der Informationen aus der unten stehenden Tabelle, um zusätzliche Datenelemente zu erstellen.
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 Name Erweiterung Datenelementtyp ZIEL Name - Exited
Places Name Letzter ausgesetzter POI Category - Current
Places Kategorie Aktueller POI Category - Exited
Places Kategorie Letzter ausgesetzter POI City - Current
Places Stadt Aktueller POI City - Exited
Places Stadt Letzter ausgesetzter POI Sie sollten über die folgende Liste von Datenelementen verfügen.
Regeln
Als Nächstes definieren Sie Regeln für die Verwendung dieser Datenelemente.
-
Wählen Sie in der Tag-Eigenschaft in der linken Leiste Regeln aus.
-
Wählen Sie Regel hinzufügen aus.
-
Geben Sie im Bildschirm Regel erstellen einen Namen für die Regel ein, z. B.
POI - Entry
. -
Wählen Sie unter EREIGNISSE aus.
-
Wählen Sie Orte aus der Liste Erweiterung und wählen Sie POI eingeben aus der Liste Ereignistyp aus.
-
Wählen Sie Änderungen beibehalten aus.
.
-
-
Wählen Sie unter AKTIONEN aus.
-
Wählen Sie Mobile Core aus der Liste Erweiterung und wählen Sie Daten anhängen aus der Liste Aktionstyp aus. Diese Aktion hängt Payload-Daten an.
-
Fügen Sie in die JSON-Payload die folgende Payload ein:
code language-json { "xdm": { "eventType": "location.entry", "placeContext": { "geo": { "city": "{%%City - Current%%}" }, "POIinteraction": { "poiDetail": { "name": "{%%Name - Current%%}", "category": "{%%Category - Current%%}" }, "poiEntries": { "value": 1 } } } } }
Sie können auch
{%% ... %%}
Platzhalterwerte für Datenelemente in die JSON einfügen, indem Sie auswählen. In einem Popup-Dialogfeld können Sie jedes von Ihnen erstellte Datenelement auswählen. -
Wählen Sie Änderungen beibehalten aus.
-
-
Wählen Sie neben der Aktion Mobile Core - Attach Data .
- Wählen Sie Adobe Experience Platform-Edge Network aus der Liste Erweiterung und wählen Sie Ereignis an Edge Network weiterleiten aus. Dadurch wird sichergestellt, dass das Ereignis und zusätzliche Payload-Daten an Platform Edge Network weitergeleitet werden.
- Wählen Sie Änderungen beibehalten aus.
-
Um die Regel zu speichern, wählen Sie In Bibliothek speichern aus.
Erstellen wir eine weitere Regel
-
Geben Sie im Bildschirm Regel erstellen einen Namen für die Regel ein, z. B.
POI - Exit
. -
Wählen Sie unter EREIGNISSE aus.
- Wählen Sie Orte aus der Liste Erweiterung und wählen Sie Ausstiegspunkt aus der Liste Ereignistyp aus.
- Wählen Sie Änderungen beibehalten aus.
-
Wählen Sie unter AKTIONEN aus.
-
Wählen Sie Mobile Core aus der Liste Erweiterung und wählen Sie Daten anhängen aus der Liste Aktionstyp aus.
-
Fügen Sie in die JSON-Payload die folgende Payload ein:
code language-json { "xdm": { "eventType": "location.exit", "placeContext": { "geo": { "city": "{%%City - Exited%%}" }, "POIinteraction": { "poiExits": { "value": 1 }, "poiDetail": { "name": "{%%Name - Exited%%}", "category": "{%%Category - Exited%%}" } } } } }
-
Wählen Sie Änderungen beibehalten aus.
-
-
Wählen Sie neben der Aktion Mobile Core - Attach Data .
- Wählen Sie Adobe Experience Platform-Edge Network aus der Liste Erweiterung und wählen Sie Ereignis an Edge Network weiterleiten aus.
- Wählen Sie Änderungen beibehalten aus.
-
Um die Regel zu speichern, wählen Sie In Bibliothek speichern aus.
Um sicherzustellen, dass alle Änderungen in Ihrem Tag veröffentlicht werden
- Wählen Sie Ursprünglicher Build als Bibliothek, die erstellt werden soll.
- Wählen Sie Build aus.
Validieren der Einrichtung in der Zuverlässigkeitserklärung
So überprüfen Sie Ihre Einrichtung in Assurance:
- Navigieren Sie zur Benutzeroberfläche "Assurance".
- Wenn dies nicht bereits in der linken Leiste verfügbar ist, wählen Sie in der linken Leiste die Option Konfigurieren und dann unter PLACES SERVICE die Option neben Ereignisse und Map & Simulate.
- Wählen Sie Speichern aus.
- Wählen Sie in der linken Leiste Map & Simulate aus.
- Verschieben Sie die Karte an die Position eines Ihrer POIs.
- Wählen Sie Ladepunkte simulieren aus. Ihr POI wird anhand eines Kreises und einer Nadel identifiziert.
- Wählen Sie Ihren POI aus.
- Wählen Sie im Popup-Fenster
Eintrittsereignis simulieren aus.
- Wählen Sie in der linken Leiste die Option Ereignisse aus. Daraufhin sollten die simulierten Ereignisse angezeigt werden.
Implementieren von Places in Ihrer App
Wie in den vorherigen Lektionen erläutert, bietet die Installation einer mobilen Tag-Erweiterung nur die Konfiguration. Als Nächstes müssen Sie das Places SDK installieren und registrieren. Wenn diese Schritte nicht klar sind, lesen Sie den Abschnitt SDKs installieren .
-
Stellen Sie in Xcode sicher, dass AEP Places zur Liste der Pakete in Package-Abhängigkeiten hinzugefügt wird. Siehe Swift Package Manager.
-
Navigieren Sie im Xcode-Projekt-Navigator zu Luma > Luma > AppDelegate .
-
Stellen Sie sicher, dass
AEPPlaces
Teil Ihrer Importliste ist.code language-swift import AEPPlaces
-
Stellen Sie sicher, dass
Places.self
Teil des Arrays von Erweiterungen ist, die Sie registrieren.code language-swift let extensions = [ AEPIdentity.Identity.self, Lifecycle.self, Signal.self, Edge.self, AEPEdgeIdentity.Identity.self, Consent.self, UserProfile.self, Places.self, Messaging.self, Optimize.self, Assurance.self ]
-
Navigieren Sie im Xcode Project-Navigator zu Luma > Luma > Utils > MobileSDK und suchen Sie die Funktion
func processRegionEvent(regionEvent: PlacesRegionEvent, forRegion region: CLRegion) async
. Fügen Sie den folgenden Code hinzu:code language-swift // Process geolocation event Places.processRegionEvent(regionEvent, forRegion: region)
Diese
Places.processRegionEvent
-API übermittelt die Geolocation-Informationen an den Places-Dienst. -
Navigieren Sie im Projektnavigator von Xcode zu Luma > Luma > Views > Location > GeofenceSheet.
- Geben Sie für die Schaltfläche "Entry"den folgenden Code ein
code language-swift // Simulate geofence entry event Task { await MobileSDK.shared.processRegionEvent(regionEvent: .entry, forRegion: region) }
- Geben Sie für die Schaltfläche Beenden den folgenden Code ein
code language-swift // Simulate geofence exit event Task { await MobileSDK.shared.processRegionEvent(regionEvent: .exit, forRegion: region) }
Validieren mit Ihrer App
-
Öffnen Sie Ihre App auf einem Gerät oder im Simulator.
-
Gehen Sie zur Registerkarte Position .
-
Verschieben Sie die Karte (ziehen Sie sie), um sicherzustellen, dass sich der blaue mittlere Kreis über einem der POIs befindet, z. B. London.
-
Tippen {width="20"}, bis die Kategorie und der Name in der Beschriftung an der roten Stelle mit dem Pin erscheinen.
-
Tippen Sie auf die Bezeichnung des POI, wodurch das Blatt Nächster POI geöffnet wird.
{width="300"}
-
Drücken Sie die Tasten Einstieg oder Ausstieg , um die Ereignisse für die Geofence-Einsendung und den Geofence-Ausstieg aus der App zu simulieren.
{width="300"}
-
Sie sollten die Ereignisse in der Assurance-Benutzeroberfläche sehen.
Nächste Schritte
Sie sollten jetzt über alle Tools verfügen, um Ihre Geolocation-Funktionalität in der App um weitere Funktionen zu erweitern. Nachdem Sie die Ereignisse an das Edge Network weitergeleitet haben, sollten nach der Einrichtung der App für Experience Platform die Erlebnisereignisse für das in der App verwendete Profil angezeigt werden.
Im Journey Optimizer-Abschnitt dieses Tutorials sehen Sie, dass Erlebnisereignisse zum Trigger von Journey verwendet werden können (siehe Push-Benachrichtigung und In-App-Nachrichten mit Journey Optimizer). Beispielsweise das übliche Beispiel, bei dem Sie dem App-Benutzer eine Push-Benachrichtigung mit einer Produktwerbung senden, wenn dieser Benutzer den Geofence eines physischen Stores betritt.
Sie haben eine Implementierung der Funktionen für Ihre App gesehen, die hauptsächlich vom Places-Dienst sowie von den Datenelementen und Regeln gesteuert wird, die Sie in Ihrer Tag-Eigenschaft definiert haben. Minimieren Sie daher den Code in Ihrer App. Alternativ können Sie dieselbe Funktionalität direkt in Ihrer App mithilfe der API Edge.sendEvent
implementieren (weitere Informationen finden Sie unter Ereignisse ), wobei eine XDM-Payload ein ausgefülltes placeContext
-Objekt enthält.
Weiter: Zuordnen von Daten zu Adobe Analytics