Erstellen und Versenden von Push-Benachrichtigungen
Erfahren Sie, wie Sie Push-Benachrichtigungen für mobile Apps mit dem Experience Platform Mobile SDK und Journey Optimizer erstellen.
Mit Journey Optimizer können Sie Journey erstellen und Nachrichten an Zielgruppen senden. Bevor Sie Push-Benachrichtigungen mit Journey Optimizer senden, müssen Sie sicherstellen, dass die richtigen Konfigurationen und Integrationen vorhanden sind. Informationen zum Datenfluss von Push-Benachrichtigungen in Journey Optimizer finden Sie im Abschnitt Dokumentation.
Voraussetzungen
-
Die App wurde erfolgreich erstellt und mit installierten und konfigurierten SDKs ausgeführt.
-
Richten Sie die App für Adobe Experience Platform ein.
-
Zugriff auf Journey Optimizer und ausreichende Berechtigungen wie beschrieben here. Außerdem benötigen Sie ausreichende Berechtigungen für die folgenden Journey Optimizer-Funktionen.
- Erstellen Sie eine App-Oberfläche.
- Erstellen Sie eine Journey.
- Erstellen Sie eine Nachricht.
- Erstellen Sie Nachrichtenvorgaben.
-
Bezahltes Apple-Entwicklerkonto mit ausreichend Zugriff zum Erstellen von Zertifikaten, Kennungen und Schlüsseln.
-
Physisches iOS-Gerät oder Simulator zum Testen.
Lernziele
In dieser Lektion werden Sie
- Registrieren Sie die App-ID beim Apple Push Notification Service (APNs).
- Erstellen Sie eine App-Oberfläche in Journey Optimizer.
- Aktualisieren Sie Ihr Schema, um Push-Nachrichtenfelder einzuschließen.
- Installieren und konfigurieren Sie die Journey Optimizer-Tag-Erweiterung.
- Aktualisieren Sie Ihre App, um die Journey Optimizer-Tag-Erweiterung zu registrieren.
- Validieren Sie die Einrichtung in "Assurance".
- Testnachricht aus Assurance senden
- Definieren Sie Ihr eigenes Push-Benachrichtigungsereignis, Ihre eigene Journey und Ihr eigenes Erlebnis in Journey Optimizer.
- Senden Sie Ihre eigene Push-Benachrichtigung aus der App heraus.
Einrichten
App-ID mit APNS registrieren
Die folgenden Schritte sind nicht Adobe Experience Cloud-spezifisch und dienen als Orientierung für die Konfiguration von APNs.
Privaten Schlüssel erstellen
-
Navigieren Sie im Apple-Entwicklerportal zu Schlüssel.
-
Um einen Schlüssel zu erstellen, wählen Sie +.
-
Stellen Sie eine Schlüsselname.
-
Wählen Sie die Apple Push Notification Service (APNs) aktivieren.
-
Klicken Sie auf Weiter.
-
Überprüfen Sie die Konfiguration und wählen Sie registrieren.
-
Laden Sie die
.p8
privater Schlüssel. Sie wird später in dieser Lektion in der App Surface-Konfiguration verwendet. -
Beachten Sie die Schlüssel-ID. Sie wird in der App Surface-Konfiguration verwendet.
-
Beachten Sie die Team-ID. Sie wird in der App Surface-Konfiguration verwendet.
Weitere Dokumentationen können hier finden.
App-Oberfläche zur Datenerfassung hinzufügen
-
Aus dem Datenerfassungsoberflächeauswählen App-Oberflächen im linken Bereich.
-
Um eine Konfiguration zu erstellen, wählen Sie App-Oberfläche erstellen.
-
Geben Sie einen Name für die Konfiguration, beispielsweise
Luma App Tutorial
. -
Von Konfiguration von Mobile Apps auswählen Apple iOS.
-
Geben Sie die Paket-ID der mobilen App in die App-ID (iOS Bundle ID) -Feld. Beispiel:
com.adobe.luma.tutorial.swiftui
. -
Schalten Sie die Push-Anmeldedaten Schalten Sie um, um Ihre Anmeldedaten hinzuzufügen.
-
Ziehen und ablegen
.p8
Authentifizierungsschlüssel für Apple-Push-Benachrichtigungen -Datei. -
Stellen Sie die Schlüssel-ID, eine 10-stellige Zeichenfolge, die bei der Erstellung von
p8
Authentifizierungsschlüssel. Sie finden sie unter der Schlüssel im Zertifikate, Kennungen und Profile auf den Apple Developer Portal-Seiten. Siehe auch Privaten Schlüssel erstellen. -
Geben Sie die Team ID an. Die Team-ID ist ein Wert, der unter der Mitgliedschaft oder oben auf der Apple Developer Portal-Seite. Siehe auch Privaten Schlüssel erstellen.
-
Wählen Sie Speichern aus.
Aktualisierung der Konfiguration des Datenspeichers
Um sicherzustellen, dass Daten, die von Ihrer mobilen App an das Edge-Netzwerk gesendet werden, an Journey Optimizer weitergeleitet werden, aktualisieren Sie Ihre Experience Edge-Konfiguration .
-
Wählen Sie in der Datenerfassungs-Benutzeroberfläche die Option Datenspeicher und wählen Sie Ihren Datastream aus, z. B. Luma Mobile App.
-
Auswählen für Experience Platform und wählen Bearbeiten aus dem Kontextmenü aus.
-
Im Datenspeicher > > Adobe Experience Platform screen:
-
Wenn noch nicht ausgewählt, wählen Sie AJO Push Profile DataSet von Profildatensatz. Dieser Profildatensatz ist bei Verwendung der
MobileCore.setPushIdentifier
API-Aufruf (siehe Geräte-Token für Push-Benachrichtigungen registrieren), die sicherstellt, dass die eindeutige Kennung für Push-Benachrichtigungen (auch Push-Kennung genannt) als Teil des Benutzerprofils gespeichert wird. -
Adobe Journey Optimizer ausgewählt ist. Siehe Adobe Experience Platform-Einstellungen für weitere Informationen.
-
Wählen Sie zum Speichern Ihrer Datastream-Konfiguration Speichern.
-
Journey Optimizer-Tag-Erweiterung installieren
Damit Ihre App mit Journey Optimizer verwendet werden kann, müssen Sie Ihre Tag-Eigenschaft aktualisieren.
-
Navigieren Sie zu Tags > Erweiterungen > Katalog,
-
Öffnen Sie Ihre Eigenschaft, beispielsweise Luma Mobile App Tutorial.
-
Auswählen Katalog.
-
Suchen Sie nach Adobe Journey Optimizer -Erweiterung.
-
Installieren Sie die -Erweiterung.
-
Im Installieren der Erweiterung dialog
-
Wählen Sie beispielsweise eine Umgebung aus. Entwicklung.
-
Wählen Sie die AJO Push Tracking Erlebnis-Datensatz Datensatz aus der Ereignis-Datensatz Liste.
-
Auswählen In Bibliothek speichern und erstellen.
-
Validieren der Einrichtung mit Assurance
-
Überprüfen Sie die Einrichtungsanweisungen -Abschnitt, um Ihren Simulator oder Ihr Gerät mit Assurance zu verbinden.
-
Wählen Sie in der Assurance-Benutzeroberfläche die Option Konfigurieren.
-
Auswählen neben Push Debug.
-
Wählen Sie Speichern aus.
-
Auswählen Push Debug über die linke Navigation.
-
Wählen Sie die Einrichtung überprüfen Registerkarte.
-
Wählen Sie Ihr Gerät aus der Client Liste.
-
Vergewissern Sie sich, dass keine Fehler auftreten.
-
Wählen Sie die Test-Push senden Registerkarte.
-
(optional) Ändern Sie die Standarddetails für Titel und body
-
Auswählen Push-Benachrichtigung zum Testversand senden.
-
Überprüfen Sie die Testergebnisse.
-
Die Test-Push-Benachrichtigung sollte in Ihrer App angezeigt werden.
{width="300"}
Signing
Zum Senden von Push-Benachrichtigungen und erfordert ein gebührenpflichtiges Apple-Entwicklerkonto.
So aktualisieren Sie die Signatur für Ihre App:
-
Rufen Sie Ihre App in Xcode auf.
-
Auswählen Luma im Projekt-Navigator.
-
Wählen Sie die Luma Zielgruppe.
-
Wählen Sie die Signieren und Funktionen Registerkarte.
-
Konfigurieren Automatische Verwaltungssignatur, Team, und Bundle-Kennung oder verwenden Sie Ihre spezifischen Apple-Entwicklungsbereitstellungsdetails.
note important IMPORTANT Stellen Sie sicher, dass Sie eine eindeutig Bundle-ID und ersetzen Sie com.adobe.luma.tutorial.swiftui
Bundle-Kennung, da jede Bundle-ID eindeutig sein muss. In der Regel verwenden Sie ein Reverse-DNS-Format für Bundle-ID-Zeichenfolgen, z. B.com.organization.brand.uniqueidentifier
. Die abgeschlossene Version dieses Tutorials verwendet beispielsweisecom.adobe.luma.tutorial.swiftui
.{modal="regular"}
Hinzufügen von Push-Benachrichtigungsfunktionen zu Ihrer App
-
Wählen Sie in Xcode Luma aus dem ZIELE Liste, wählen Sie die Signieren und Funktionen auswählen, wählen Sie die + Funktion Schaltfläche und wählen Sie Push-Benachrichtigungen. Dadurch kann Ihre App Push-Benachrichtigungen empfangen.
-
Als Nächstes müssen Sie der App eine Benachrichtigungserweiterung hinzufügen. Gehen Sie zurück zu General und wählen Sie die + -Symbol unten im ZIELE Abschnitt.
-
Sie werden aufgefordert, die Vorlage für Ihr neues Ziel auszuwählen. Auswählen Erweiterung für Benachrichtigungsdienst und wählen Sie Nächste.
-
Verwenden Sie im nächsten Fenster
NotificationExtension
als Namen der Erweiterung verwenden und auf die Beenden Schaltfläche.
Sie sollten Ihrer App jetzt eine Push-Benachrichtigungs-Erweiterung hinzufügen, ähnlich dem unten stehenden Bildschirm.
Implementieren von Journey Optimizer in die 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 Messaging SDK installieren und registrieren. Wenn diese Schritte nicht klar sind, überprüfen Sie die SDKs installieren Abschnitt.
-
Stellen Sie in Xcode sicher, dass AEP Messaging wird zur Liste der Pakete in Package-Abhängigkeiten hinzugefügt. Siehe Swift Package Manager.
-
Navigieren Sie zu Luma > Luma > AppDelegate im Xcode-Projektnavigator.
-
Sichern
AEPMessaging
ist Teil Ihrer Importliste.import AEPMessaging
-
Sichern
Messaging.self
ist Teil des Arrays von Erweiterungen, 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 ]
Geräte-Token für Push-Benachrichtigungen registrieren
-
Fügen Sie die
MobileCore.setPushIdentifier
API für diefunc application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
-Funktion.code language-swift // Send push token to Mobile SDK MobileCore.setPushIdentifier(deviceToken)
Diese Funktion ruft das Geräte-Token ab, das für das Gerät eindeutig ist, auf dem die App installiert ist. Legt dann das Token für den Push-Benachrichtigungsversand mithilfe der von Ihnen eingerichteten Konfiguration fest, die sich auf den Push-Benachrichtigungsdienst (APNs) von Apple stützt.
MobileCore.updateConfigurationWith(configDict: ["messaging.useSandbox": true])
bestimmt, ob Push-Benachrichtigungen zum Senden von Push-Benachrichtigungen eine APN-Sandbox oder einen Produktionsserver verwenden. Stellen Sie beim Testen Ihrer App im Simulator oder auf einem Gerät sicher, dass die messaging.useSandbox
auf true
sodass Sie Push-Benachrichtigungen erhalten. Stellen Sie beim Bereitstellen Ihrer App für die Produktion zum Testen mit Apple Testflight sicher, dass Sie messaging.useSandbox
nach false
ansonsten kann Ihre Produktions-App keine Push-Benachrichtigungen empfangen.Erstellen einer eigenen Push-Benachrichtigung
Um eine eigene Push-Benachrichtigung zu erstellen, müssen Sie in Journey Optimizer ein Ereignis definieren, das einen Journey Trigger, der die Push-Benachrichtigung sendet.
Schema aktualisieren
Sie werden einen neuen Ereignistyp definieren, der noch nicht als Teil der Liste der in Ihrem Schema definierten Ereignisse verfügbar ist. Sie verwenden diesen Ereignistyp später beim Auslösen von Push-Benachrichtigungen.
-
Wählen Sie in der Journey Optimizer-Benutzeroberfläche die Option Schemas über die linke Leiste.
-
Auswählen Durchsuchen in der Symbolleiste.
-
Wählen Sie beispielsweise Ihr Schema aus. Luma Mobile App Event Schema , um es zu öffnen.
-
Im Schema-Editor:
-
Wählen Sie die eventType -Feld.
-
Im Feldeigenschaften nach unten scrollen, um die Liste der möglichen Werte für den Ereignistyp anzuzeigen. Auswählen Zeile hinzufügen und fügen Sie
application.test
als WERT undTest event for push notification
alsDISPLAY NAME
. -
Wählen Sie Anwenden aus.
-
Wählen Sie Speichern aus.
-
Ereignis definieren
Ereignisse in Journey Optimizer ermöglichen den einheitlichen Trigger Ihrer Journey, Nachrichten, z. B. Push-Benachrichtigungen, zu senden. Siehe Über Ereignisse für weitere Informationen.
-
Wählen Sie in der Journey Optimizer-Benutzeroberfläche die Option Konfigurationen über die linke Leiste.
-
Im Dashboard Bildschirm, wählen Sie Verwalten im Veranstaltungen Kachel.
-
Im Veranstaltungen Bildschirm, auswählen Ereignis erstellen.
-
Im Ereignis-Ereignis bearbeiten1 -Bereich:
-
Eingabe
LumaTestEvent
als Name des Ereignisses. -
Stellen Sie eine Beschreibung, beispielsweise
Test event to trigger push notifications in Luma app
. -
Wählen Sie das Erlebnisereignisschema der Mobile App aus, das Sie zuvor in Erstellen eines XDM-Schemas aus dem Schema beispielsweise Liste Luma Mobile App Event Schema v.1.
-
Auswählen neben dem Felder Liste.
Im Felder müssen Sie sicherstellen, dass die folgenden Felder ausgewählt sind (über den Standardfeldern, die immer ausgewählt sind (_id, id, und timestamp). Mithilfe der Dropdown-Liste können Sie zwischen Ausgewählt, Alle und Primär oder verwenden Sie -Feld.
- App identifiziert (id),
- Ereignistyp (eventType),
- Primär (primary).
Wählen Sie anschließend Ok.
-
Auswählen neben dem Ereignis-ID-Bedingung -Feld.
-
Im Ereignis-ID-Bedingung hinzufügen Dialogfeld, ziehen und ablegen Ereignistyp (eventType) auf Element hierher ziehen und ablegen.
-
Scrollen Sie im Popover-Fenster zum unteren Rand und wählen Sie application.test (Dies ist der Ereignistyp, den Sie zuvor zur Liste der Ereignistypen im Rahmen von Schema aktualisieren). Scrollen Sie dann nach oben und wählen Sie Ok.
-
Auswählen Ok , um die Bedingung zu speichern.
-
-
Auswählen ECID (ECID) aus dem Namespace Liste. Automatisch die Profilkennung -Feld mit Die ID des ersten Elements des ECID-Schlüssels für die Map identityMap.
-
Wählen Sie Speichern aus.
-
Sie haben soeben eine Ereigniskonfiguration erstellt, die auf dem Erlebnisereignisschema der Mobile App basiert, das Sie im Rahmen dieses Tutorials zuvor erstellt haben. Diese Ereigniskonfiguration filtert eingehende Erlebnisereignisse nach Ihrem spezifischen Ereignistyp (application.test
), sodass nur Ereignisse mit diesem bestimmten Typ, die von Ihrer mobilen App aus initiiert werden, die im nächsten Schritt von Ihnen erstellte Journey Trigger werden. In einem realen Szenario möchten Sie möglicherweise Push-Benachrichtigungen von einem externen Dienst versenden. Dabei gelten jedoch die gleichen Konzepte: Von der externen Anwendung senden Sie ein Erlebnisereignis an Experience Platform, das spezifische Felder aufweist, auf die Sie Bedingungen anwenden können, bevor diese Ereignisse Trigger einer Journey werden.
Journey erstellen
Als Nächstes erstellen Sie die Journey, die beim Empfang des entsprechenden Ereignisses den Versand der Push-Benachrichtigung an den Trigger sendet.
-
Wählen Sie in der Journey Optimizer-Benutzeroberfläche die Option Journey über die linke Leiste.
-
Auswählen Journey erstellen.
-
Im Journey-Eigenschaften Bereich:
-
Geben Sie einen Name für die Journey, beispielsweise
Luma - Test Push Notification Journey
. -
Geben Sie einen Beschreibung für die Journey, beispielsweise
Journey for test push notifications in Luma mobile app
. -
Sichern Wiedereintritt erlauben ausgewählt und festgelegt ist Wartezeit beim erneuten Eintritt nach 30 Sekunden.
-
Klicken Sie auf OK.
-
-
Zurück auf der Journey-Arbeitsfläche, aus dem EREIGNISSE, ziehen Sie Ihre LumaTestEvent auf der Arbeitsfläche, auf der sie angezeigt wird Wählen Sie ein Eintrittsereignis oder die Aktivität Audience lesen aus.
- Im Ereignisse: LumaTestEvent Bereich, geben Sie eine Titel, beispielsweise
Luma Test Event
.
- Im Ereignisse: LumaTestEvent Bereich, geben Sie eine Titel, beispielsweise
-
Aus dem AKTIONEN Dropdown, per Drag & Drop Push auf im rechten LumaTestEvent -Aktivität. Im Aktionen: Push -Bereich:
-
Stellen Sie eine Titel, beispielsweise
Luma Test Push Notification
, stellen Sie eine Beschreibung, beispielsweiseTest push notification for Luma mobile app
auswählen Transactional aus dem Kategorie Liste und Auswahl Luma aus dem Push-Oberfläche. -
Auswählen Inhalt bearbeiten , um die eigentliche Push-Benachrichtigung zu bearbeiten.
Im Push-Benachrichtigung editor:
-
Geben Sie einen Titel, beispielsweise
Luma Test Push Notification
und geben Sie einen body, beispielsweiseTest push notification for Luma mobile app
. -
Optional können Sie einen Link zu einem Bild (.png oder .jpg) in Medien hinzufügen. Wenn Sie dies tun, wird das Bild Teil der Push-Benachrichtigung sein.
-
Um den Editor zu speichern und zu verlassen, wählen Sie .
-
-
Um die Definition der Push-Benachrichtigung zu speichern und abzuschließen, wählen Sie Ok.
-
-
Ihre Journey sollte wie unten dargestellt aussehen. Auswählen Veröffentlichen , um Ihre Journey zu veröffentlichen und zu aktivieren.
Trigger der Push-Benachrichtigung
Sie verfügen über alle nötigen Bestandteile, um eine Push-Benachrichtigung zu versenden. Was bleibt, ist, wie diese Push-Benachrichtigung Trigger wird. Im Wesentlichen ist dies dasselbe wie zuvor: Senden Sie einfach ein Erlebnisereignis mit der richtigen Payload (wie in Veranstaltungen).
Diesmal wird das Erlebnisereignis, das Sie senden möchten, nicht zum Erstellen eines einfachen XDM-Wörterbuchs erstellt. Sie werden eine struct
, die eine Push-Benachrichtigungs-Payload darstellen. Die Definition eines dedizierten Datentyps ist eine alternative Methode zur Implementierung der Erstellung von Erlebnisereignis-Payloads in Ihrer Anwendung.
-
Navigieren Sie zu Luma > Luma > Modell > XDM > TestPushPayload im Xcode-Projektnavigator und überprüfen Sie den Code.
code language-swift import Foundation // MARK: - TestPush struct TestPushPayload: Codable { let application: Application let eventType: String } // MARK: - Application struct Application: Codable { let id: String }
Der Code stellt die folgende einfache Payload dar, die Sie an den Trigger Ihrer Test-Push-Benachrichtigung senden werden Journey
code language-json { "eventType": string, "application" : [ "id": string ] }
-
Navigieren Sie zu Luma > Luma > Utils > MobileSDK im Xcode Project-Navigator und fügen Sie den folgenden Code zu
func sendTestPushEvent(applicationId: String, eventType: String)
:code language-swift // Create payload and send experience event Task { let testPushPayload = TestPushPayload( application: Application( id: applicationId ), eventType: eventType ) // send the final experience event await sendExperienceEvent( xdm: testPushPayload.asDictionary() ?? [:] ) }
Dieser Code erstellt eine
testPushPayload
-Instanz mit den Parametern, die der Funktion (applicationId
undeventType
) und anschließend -AufrufesendExperienceEvent
beim Konvertieren der Payload in ein Wörterbuch. Dieser Code berücksichtigt diesmal auch die asynchronen Aspekte des Aufrufs des Adobe Experience Platform-SDK, indem das Swift-Parallelitätsmodell verwendet wird, das aufawait
undasync
. -
Navigieren Sie zu Luma > Luma > Views > General > ConfigView im Xcode-Projektnavigator. Fügen Sie in der Definition der Push-Benachrichtigungsschaltfläche den folgenden Code hinzu, um die Payload des Erlebnisereignisses für Push-Benachrichtigungen zu senden, die bei jedem Tippen auf diese Schaltfläche auf Ihre Journey Trigger werden.
code language-swift // Setting parameters and calling function to send push notification Task { let eventType = testPushEventType let applicationId = Bundle.main.bundleIdentifier ?? "No bundle id found" await MobileSDK.shared.sendTestPushEvent(applicationId: applicationId, eventType: eventType) }
Validieren mit Ihrer App
-
Erstellen Sie die App im Simulator oder auf einem physischen Gerät aus Xcode neu und führen Sie sie mithilfe von .
-
Navigieren Sie zu Einstellungen Registerkarte.
-
Tippen Push-Benachrichtigung. Die Push-Benachrichtigung wird in Ihrer App angezeigt.
{width="300"}
Nächste Schritte
Sie sollten jetzt über alle Tools verfügen, um Push-Benachrichtigungen in Ihrer App zu verarbeiten. Sie können beispielsweise eine Journey in Journey Optimizer erstellen, die eine Willkommens-Push-Benachrichtigung sendet, wenn sich ein Anwender der App anmeldet. Oder eine Push-Benachrichtigung zur Bestätigung, wenn ein Benutzer ein Produkt in der App kauft. Oder gibt den Geofence eines Standorts ein (wie Sie in der Orte Lektion).
Weiter: In-App-Nachrichten erstellen und senden