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 in der 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 in hier beschrieben. 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 ausreichendem 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 + aus.
-
Geben Sie einen Schlüsselnamen an.
-
Aktivieren Sie das Kontrollkästchen Apple Push Notification Service (APNs) .
-
Wählen Sie Weiter aus.
-
Überprüfen Sie die Konfiguration und wählen Sie Registrieren aus.
-
Laden Sie den privaten Schlüssel
.p8
herunter. Sie wird später in dieser Lektion in der App Surface-Konfiguration verwendet. -
Notieren Sie sich die Schlüssel-ID. Sie wird in der App Surface-Konfiguration verwendet.
-
Notieren Sie sich die Team-ID. Sie wird in der App Surface-Konfiguration verwendet.
Weitere Dokumentationen finden Sie unter 🔗.
App-Oberfläche zur Datenerfassung hinzufügen
-
Wählen Sie in der Datenerfassungsoberfläche im linken Bereich die Option App-Oberflächen aus.
-
Um eine Konfiguration zu erstellen, wählen Sie App-Oberfläche erstellen aus.
-
Geben Sie einen Namen für die Konfiguration ein, z. B.
Luma App Tutorial
. -
Wählen Sie in Mobile Application Configuration die Option Apple iOS aus.
-
Geben Sie im Feld App-ID (iOS Bundle ID) die App-Paket-ID ein. Beispiel:
com.adobe.luma.tutorial.swiftui
. -
Schalten Sie den Umschalter Push-Anmeldedaten ein, um Ihre Anmeldedaten hinzuzufügen.
-
Ziehen Sie die Datei
.p8
Apple Push Notification Authentication Key in den Arbeitsbereich. -
Geben Sie die Schlüssel-ID an, eine 10-stellige Zeichenfolge, die bei der Erstellung des
p8
-Authentifizierungsschlüssels zugewiesen wurde. Sie finden sie auf der Registerkarte Schlüssel auf der Seite Zertifikate, Kennungen und Profile der Apple-Portal-Seiten für Entwickler. Siehe auch Erstellen eines privaten Schlüssels. -
Geben Sie die Team ID an. Die Team-ID ist ein Wert, der auf der Registerkarte Mitgliedschaft oder oben auf der Apple Developer Portal-Seite zu finden ist. Siehe auch Erstellen eines privaten Schlüssels.
-
Wählen Sie Speichern aus.
Aktualisierung der Konfiguration des Datenspeichers
Um sicherzustellen, dass Daten, die von Ihrer App an das Edge Network gesendet werden, an Journey Optimizer weitergeleitet werden, aktualisieren Sie Ihre Experience Edge-Konfiguration .
-
Wählen Sie in der Datenerfassungs-Benutzeroberfläche Datastreams aus und wählen Sie Ihren Datastream aus, z. B. Luma Mobile App.
-
Wählen Sie für Experience Platform und dann Bearbeiten aus dem Kontextmenü.
-
Im Bildschirm Datastreams > > Adobe Experience Platform :
-
Wählen Sie, falls noch nicht ausgewählt, AJO Push Profile DataSet aus dem Profildatensatz aus. Dieser Profildatensatz ist bei Verwendung des API-Aufrufs
MobileCore.setPushIdentifier
erforderlich (siehe Registrieren des Geräte-Tokens für Push-Benachrichtigungen), der 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. Weitere Informationen finden Sie unter Adobe Experience Platform-Einstellungen .
-
Wählen Sie Speichern aus, um Ihre Datastream-Konfiguration zu 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, z. B. Luma Mobile App Tutorial.
-
Wählen Sie Katalog aus.
-
Suchen Sie nach der Erweiterung Adobe Journey Optimizer .
-
Installieren Sie die -Erweiterung.
-
Im Dialogfeld Erweiterung installieren
-
Wählen Sie eine Umgebung aus, z. B. Entwicklung.
-
Wählen Sie den Datensatz AJO Push Tracking Experience Event Datensatz aus der Liste Ereignisdatensatz aus.
-
Wählen Sie In Bibliothek speichern und erstellen.
-
Validieren der Einrichtung mit Assurance
-
Lesen Sie den Abschnitt Setup instructions , um Ihren Simulator oder Ihr Gerät mit Assurance zu verbinden.
-
Wählen Sie in der Assurance-Benutzeroberfläche Konfigurieren aus.
-
Wählen Sie " "neben "Push Debug".
-
Wählen Sie Speichern aus.
-
Wählen Sie im linken Navigationsbereich Debug pushen aus.
-
Wählen Sie die Registerkarte Einrichtung validieren aus.
-
Wählen Sie Ihr Gerät aus der Liste Client aus.
-
Vergewissern Sie sich, dass keine Fehler auftreten.
-
Wählen Sie die Registerkarte Testversand durchführen aus.
-
(optional) Ändern Sie die Standarddetails für Titel und Hauptteil
-
Wählen Sie Test Push-Benachrichtigung senden aus.
-
Überprüfen Sie die Testergebnisse.
-
Die Test-Push-Benachrichtigung sollte in Ihrer App angezeigt werden.
{width="300"}
Signing
Das Signieren der Luma-App ist zum Senden von Push-Benachrichtigungen erforderlich und erfordert ein gebührenpflichtiges Apple-Entwicklerkonto.
So aktualisieren Sie die Signatur für Ihre App:
-
Rufen Sie Ihre App in Xcode auf.
-
Wählen Sie im Projektnavigator Luma aus.
-
Wählen Sie das Ziel Luma aus.
-
Wählen Sie die Registerkarte Signing & Capabilities aus.
-
Konfigurieren Sie Automatische Verwaltung der Signierung, Team und die Bundle-Kennung oder verwenden Sie Ihre spezifischen Apple-Entwicklungsbereitstellungsdetails.
note important IMPORTANT Stellen Sie sicher, dass Sie eine eindeutige Bundle-ID verwenden und die com.adobe.luma.tutorial.swiftui
-Bundle-ID ersetzen, da jede Bundle-ID eindeutig sein muss. Normalerweise 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 der Liste ZIELGRUPPEN, wählen Sie die Registerkarte Signing & Capabilities, klicken Sie auf die Schaltfläche + Capability und wählen Sie dann Push Notifications. Dadurch kann Ihre App Push-Benachrichtigungen empfangen.
-
Als Nächstes müssen Sie der App eine Benachrichtigungserweiterung hinzufügen. Gehen Sie zurück zur Registerkarte General und wählen Sie das Symbol + unten im Abschnitt ZIELGRUPPEN aus.
-
Sie werden aufgefordert, die Vorlage für Ihr neues Ziel auszuwählen. Wählen Sie Erweiterung des Benachrichtigungsdienstes und dann Weiter aus.
-
Verwenden Sie im nächsten Fenster
NotificationExtension
als Namen der Erweiterung und klicken Sie auf die Schaltfläche Beenden .
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, lesen Sie den Abschnitt SDKs installieren .
-
Stellen Sie in Xcode sicher, dass AEP Messaging zur Liste der Pakete in Package-Abhängigkeiten hinzugefügt wird. Siehe Swift Package Manager.
-
Navigieren Sie im Xcode Project-Navigator zu Luma > Luma > AppDelegate .
-
Stellen Sie sicher, dass
AEPMessaging
Teil Ihrer Importliste ist.import AEPMessaging
-
Stellen Sie sicher, dass
Messaging.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 ]
Geräte-Token für Push-Benachrichtigungen registrieren
-
Fügen Sie die API
MobileCore.setPushIdentifier
zur Funktionfunc application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
hinzu.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 eine APN-Sandbox oder einen Produktionsserver zum Senden von Push-Benachrichtigungen verwenden. Stellen Sie beim Testen Ihrer App im Simulator oder auf einem Gerät sicher, dass messaging.useSandbox
auf true
gesetzt ist, damit Sie Push-Benachrichtigungen erhalten. Stellen Sie bei der Bereitstellung Ihrer App für Produktionstests mit Apple Testflight sicher, dass Sie messaging.useSandbox
auf false
setzen, da ansonsten Ihre Produktions-App keine Push-Benachrichtigungen empfangen kann.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 in der linken Leiste Schemas aus.
-
Wählen Sie in der Registerkartenleiste Durchsuchen aus.
-
Wählen Sie Ihr Schema aus, z. B. Luma Mobile App Event Schema , um es zu öffnen.
-
Im Schema-Editor:
-
Wählen Sie das Feld eventType aus.
-
Scrollen Sie im Bereich Feldeigenschaften nach unten, um die Liste der möglichen Werte für den Ereignistyp anzuzeigen. Wählen Sie Zeile hinzufügen und fügen Sie
application.test
als WERT undTest event for push notification
alsDISPLAY NAME
hinzu. -
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. Weitere Informationen finden Sie unter Über Ereignisse .
-
Wählen Sie in der Journey Optimizer-Benutzeroberfläche in der linken Leiste Konfigurationen aus.
-
Wählen Sie im Bildschirm Dashboard die Schaltfläche Verwalten in der Kachel Ereignisse aus.
-
Wählen Sie im Bildschirm Ereignisse die Option Ereignis erstellen.
-
Im Bereich Ereignis bearbeiten1 :
-
Geben Sie
LumaTestEvent
als Name des Ereignisses ein. -
Geben Sie eine Beschreibung an, z. B.
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 der Liste Schema erstellt haben, z. B. Luma Mobile App Event Schema v.1.
-
Wählen Sie neben der Liste Felder aus.
Stellen Sie im Dialogfeld Felder sicher, dass die folgenden Felder ausgewählt sind (über den immer ausgewählten Standardfeldern (_id, id und timestamp). Sie können mithilfe der Dropdown-Liste zwischen Ausgewählt, Alle und Primär umschalten oder das Feld verwenden.
- Application Identified (id),
- Ereignistyp (eventType),
- Primär (primär).
Wählen Sie dann OK aus.
-
Wählen Sie " "neben dem Feld Ereignis-ID-Bedingung".
-
Ziehen Sie im Dialogfeld Ereignis-ID-Bedingung hinzufügen den Eintrag Ereignistyp (eventType) auf Element hierher ziehen und ablegen.
-
Scrollen Sie im Popup-Fenster nach unten und wählen Sie application.test aus (der Ereignistyp, den Sie zuvor zur Liste der Ereignistypen im Rahmen von Schema aktualisieren hinzugefügt haben). Scrollen Sie dann nach oben und wählen Sie OK aus.
-
Wählen Sie OK aus, um die Bedingung zu speichern.
-
-
Wählen Sie ECID (ECID) aus der Liste Namespace aus. Das Feld Profilkennung wird automatisch mit Die ID des ersten Elements des Schlüssels ECID für die map identityMap ausgefüllt.
-
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, im nächsten Schritt die 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 in der linken Leiste Journey aus.
-
Wählen Sie Journey erstellen aus.
-
Im Bereich Journey-Eigenschaften :
-
Geben Sie einen Namen für die Journey ein, z. B.
Luma - Test Push Notification Journey
. -
Geben Sie eine Beschreibung für die Journey ein, z. B.
Journey for test push notifications in Luma mobile app
. -
Stellen Sie sicher, dass Neueintritt zulassen ausgewählt ist, und legen Sie die Wartezeit für den erneuten Eintritt auf 30 Sekunden fest.
-
Klicken Sie auf OK.
-
-
Zurück auf der Journey-Arbeitsfläche ziehen Sie aus den EREIGNISSEN Ihr LumaTestEvent per Drag-and-Drop auf die Arbeitsfläche, auf der Wählen Sie ein Eintrittsereignis oder die Aktivität "Zielgruppe lesen" angezeigt wird.
- Geben Sie im Bedienfeld Ereignisse: LumaTestEvent einen Titel ein, z. B.
Luma Test Event
.
- Geben Sie im Bedienfeld Ereignisse: LumaTestEvent einen Titel ein, z. B.
-
Ziehen Sie aus dem Dropdown-Menü AKTIONEN den Eintrag Push auf den Eintrag , der rechts von Ihrer LumaTestEvent -Aktivität angezeigt wird. Im Bereich Aktionen: Push :
-
Geben Sie eine Bezeichnung an, z. B.
Luma Test Push Notification
, geben Sie eine Beschreibung ein, z. B.Test push notification for Luma mobile app
, wählen Sie Transactional aus der Liste Kategorie und wählen Sie Luma aus der Liste Push-Oberfläche. -
Wählen Sie Inhalt bearbeiten aus, um die eigentliche Push-Benachrichtigung zu bearbeiten.
Im Editor Push Notification :
-
Geben Sie einen Titel ein, z. B.
Luma Test Push Notification
, und geben Sie einen Hauptteil ein, z. B.Test push notification for Luma mobile app
. -
Optional können Sie einen Link zu einem Bild (.png oder .jpg) in Medien hinzufügen eingeben. Wenn Sie dies tun, wird das Bild Teil der Push-Benachrichtigung sein.
-
Um den Editor zu speichern und zu verlassen, wählen Sie aus.
-
-
Um die Definition der Push-Benachrichtigung zu speichern und abzuschließen, wählen Sie OK aus.
-
-
Ihre Journey sollte wie unten dargestellt aussehen. Wählen Sie Publish aus, 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 Ereignisse).
Diesmal wird das Erlebnisereignis, das Sie senden möchten, nicht zum Erstellen eines einfachen XDM-Wörterbuchs erstellt. Sie verwenden einen struct
, der eine Push-Benachrichtigungs-Payload darstellt. Die Definition eines dedizierten Datentyps ist eine alternative Methode zur Implementierung der Erstellung von Erlebnisereignis-Payloads in Ihrer Anwendung.
-
Navigieren Sie im Xcode Project-Navigator zu "Luma > Luma > Modell > XDM > TestPushPayload"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 im Xcode Project-Navigator zu Luma > Luma > Utils > MobileSDK und fügen Sie den folgenden Code zu
func sendTestPushEvent(applicationId: String, eventType: String)
hinzu: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 mithilfe der Parameter, die der Funktion (applicationId
undeventType
) bereitgestellt werden, und ruft dannsendExperienceEvent
auf, während die Payload in ein Wörterbuch konvertiert wird. Dieser Code berücksichtigt diesmal auch die asynchronen Aspekte des Aufrufs des Adobe Experience Platform-SDK, indem er das Swift-Parallelitätsmodell verwendet, das aufawait
undasync
basiert. -
Navigieren Sie im Xcode Project-Navigator zu Luma > Luma > Views > General > ConfigView . 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 mit aus.
-
Gehen Sie zur Registerkarte Einstellungen .
-
Tippen Sie auf 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 Lektion Places sehen werden).
Weiter: In-App-Nachrichten erstellen und senden