Skapa och skicka push-meddelanden

Lär dig skapa push-meddelanden för mobilappar med Experience Platform Mobile SDK och Journey Optimizer.

Med Journey Optimizer kan ni skapa resor och skicka meddelanden till utvalda målgrupper. Innan du skickar push-meddelanden med Journey Optimizer måste du se till att rätt konfigurationer och integreringar finns på plats. Om du vill veta mer om dataflödet för push-meddelanden i Journey Optimizer kan du läsa dokumentation.

Arkitektur

NOTE
Den här lektionen är valfri och gäller endast för Journey Optimizer-användare som vill skicka push-meddelanden.

Förutsättningar

  • Programmet har skapats och körts med SDK:er installerade och konfigurerade.

  • Konfigurera appen för Adobe Experience Platform.

  • Åtkomst till Journey Optimizer och tillräcklig behörighet enligt beskrivningen här. Du behöver även tillräcklig behörighet för följande Journey Optimizer-funktioner.

    • Skapa en appyta.
    • Skapa en resa.
    • Skapa ett meddelande.
    • Skapa meddelandeförinställningar.
  • Betalat Apple-utvecklarkonto med tillräcklig åtkomst för att skapa certifikat, identifierare och nycklar.

  • Fysisk iOS-enhet eller simulator för testning.

Utbildningsmål

I den här lektionen ska du

  • Registrera program-ID med Apple Push Notification-tjänsten (APN:er).
  • Skapa en appyta i Journey Optimizer.
  • Uppdatera ditt schema så att det inkluderar push-meddelandefält.
  • Installera och konfigurera taggtillägget för Journey Optimizer.
  • Uppdatera appen för att registrera Journey Optimizer-taggtillägget.
  • Validera inställningar i Assurance.
  • Skicka ett testmeddelande från Assurance
  • Definiera din egen push-meddelandehändelse, resa och upplevelse i Journey Optimizer.
  • Skicka ditt eget push-meddelande inifrån appen.

Inställningar

TIP
Om du redan har konfigurerat miljön som en del av Journey Optimizer-meddelanden i appen kan du redan ha utfört några av stegen i det här inställningsavsnittet.

Registrera program-ID med APN:er

Följande steg är inte Adobe Experience Cloud-specifika och har utformats för att vägleda dig genom APN-konfigurationen.

Skapa en privat nyckel

  1. Gå till Apple utvecklarportal Tangenter.

  2. Om du vill skapa en nyckel väljer du +.
    skapa ny nyckel

  3. Ange en Nyckelnamn.

  4. Välj Tjänsten Apple Push Notification (APN) kryssrutan.

  5. Välj Fortsätt.
    konfigurera ny nyckel

  6. Granska konfigurationen och välj Registrera.

  7. Ladda ned .p8 privat nyckel. Den används senare i konfigurationen för appytan i den här lektionen.

  8. Anteckna Nyckel-ID. Den används i appytskonfigurationen.

  9. Anteckna Team-ID. Den används i appytskonfigurationen.
    Nyckelinformation

Ytterligare dokumentation kan hittades här.

Lägg till en appyta i datainsamling

  1. Från Gränssnitt för datainsamling, markera Appytor till vänster.

  2. Om du vill skapa en konfiguration väljer du Skapa appyta.
    app surface home

  3. Ange en Namn för konfigurationen, till exempel Luma App Tutorial .

  4. Från Konfiguration av mobilprogram, markera Apple iOS.

  5. Ange programpaket-ID för mobilappen i Program-ID (iOS Bundle-ID) fält. Till exempel: com.adobe.luma.tutorial.swiftui.

  6. Aktivera Push-autentiseringsuppgifter för att lägga till dina inloggningsuppgifter.

  7. Dra och släpp .p8 Autentiseringsnyckel för push-meddelanden i Apple -fil.

  8. Ange Nyckel-ID, en sträng med 10 tecken som tilldelas när p8 auth key. Den finns under Tangenter i Certifikat, identifierare och profiler på Apple Developer Portal. Se även Skapa en privat nyckel.

  9. Ange Team-ID. Team-ID är ett värde som finns under medlemskap eller högst upp på Apple Developer Portal-sidan. Se även Skapa en privat nyckel.

  10. Välj Spara.

    appytans konfiguration

Uppdatera datastream-konfiguration

Uppdatera Experience Edge-konfigurationen för att säkerställa att data som skickas från din mobilapp till Edge Network vidarebefordras till Journey Optimizer.

  1. I gränssnittet för datainsamling väljer du Datastreams och välj till exempel din datastream Luma Mobile App.

  2. Välj Mer for Experience Platform och markera Redigera Redigera på snabbmenyn.

  3. I Datastreams > Mapp > Adobe Experience Platform skärm:

    1. Om inte redan är markerat väljer du AJO-push-profildatauppsättning från Profildatauppsättning. Den här profildatauppsättningen krävs när du använder MobileCore.setPushIdentifier API-anrop (se Registrera enhetstoken för push-meddelanden) som ser till att den unika identifieraren för push-meddelanden (alias push-identifierare) lagras som en del av användarens profil.

    2. Adobe Journey Optimizer är markerat. Se Adobe Experience Platform-inställningar för mer information.

    3. Om du vill spara din datastream-konfiguration väljer du Spara.

    AEP-konfiguration för datastream

Installera tillägget Journey Optimizer-taggar

För att din app ska fungera med Journey Optimizer måste du uppdatera din taggegenskap.

  1. Navigera till Taggar > Tillägg > Katalog,

  2. Öppna egenskapen, till exempel Luma Mobile App Tutorial.

  3. Välj Katalog.

  4. Sök efter Adobe Journey Optimizer tillägg.

  5. Installera tillägget.

  6. I Installera tillägg dialog

    1. Välj en miljö, till exempel Utveckling.

    2. Välj AJO Push Tracking Experience, händelsedatauppsättning datauppsättning från Händelsedatauppsättning lista.

    3. Välj Spara i bibliotek och bygge.

      Inställningar för AJO-tillägg

NOTE
Om du inte ser AJO Push Tracking Experience, händelsedatauppsättning som ett alternativ, kontakta kundtjänst.

Validera inställningar med Assurance

  1. Granska installationsanvisningar för att ansluta simulatorn eller enheten till Assurance.

  2. Välj Konfigurera.
    konfigurera klicka

  3. Välj Plus nästa Push-felsökning.

  4. Välj Spara.
    spara

  5. Välj Push-felsökning från vänster navigering.

  6. Välj Validera inställningar -fliken.

  7. Välj din enhet från Klient lista.

  8. Bekräfta att inga fel visas.
    validera

  9. Välj Skicka testöverföring -fliken.

  10. (valfritt) Ändra standardinformationen för Titel och Brödtext

  11. Välj Fel Skicka meddelande om testpush.

  12. Kontrollera Testresultat.

  13. Du bör se push-meddelandet för testningen visas i din app.

    {width="300"}

Signering

Signera Luma-appen krävs för att skicka push-meddelanden och kräver ett betalt Apple-utvecklarkonto.

Så här uppdaterar du signeringen för din app:

  1. Gå till appen i Xcode.

  2. Välj Luma i projektnavigatorn.

  3. Välj Luma mål.

  4. Välj Signering och funktioner -fliken.

  5. Konfigurera Hantera signering automatiskt, Team och Paketidentifierare eller använd dina specifika Apple-utvecklingskonfigurationer.

    note important
    IMPORTANT
    Se till att du använder en unik källidentifierare och ersätt com.adobe.luma.tutorial.swiftui källidentifierare eftersom varje källidentifierare måste vara unik. Vanligtvis använder du ett omvänt DNS-format för paket-ID-strängar, som com.organization.brand.uniqueidentifier. I den färdiga versionen av den här självstudiekursen används com.adobe.luma.tutorial.swiftui.

    Xcode-signeringsfunktioner {modal="regular"}

Lägg till funktioner för push-meddelanden i appen

IMPORTANT
Om du vill implementera och testa push-meddelanden i en iOS-app måste du ha en betald Apple utvecklarkonto. Om du inte har ett betalt Apple-utvecklarkonto kan du hoppa över resten av den här lektionen.
  1. Välj Luma från MÅLGRUPPER väljer du Signering och funktioner väljer du + Funktioner knapp och sedan markera Push-meddelanden. Detta gör att din app kan ta emot push-meddelanden.

  2. Sedan måste du lägga till ett meddelandetillägg i programmet. Gå tillbaka till General och väljer + ikonen längst ned i MÅLGRUPPER -avsnitt.

  3. Du uppmanas att välja en mall för det nya målet. Välj Meddelandetjänsttillägg välj Nästa.

  4. I nästa fönster använder du NotificationExtension som tilläggets namn och klicka på Slutför -knappen.

Du bör nu ha ett tillägg för push-meddelanden tillagt i appen, som liknar skärmen nedan.

Tillägg för push-meddelanden

Implementera Journey Optimizer i appen

Som tidigare nämnts tillhandahåller installation av ett mobiltaggtillägg bara konfigurationen. Därefter måste du installera och registrera Messaging SDK. Om de här stegen inte är tydliga går du igenom Installera SDK:er -avsnitt.

NOTE
Om du har slutfört Installera SDK:er är SDK redan installerat och du kan hoppa över det här steget.
  1. I Xcode kontrollerar du att AEP Messaging läggs till i listan över paket i paketberoenden. Se Swift Package Manager.

  2. Navigera till Luma > Luma > AppDelegate i Xcode Project-navigatorn.

  3. Säkerställ AEPMessaging är en del av din lista över importer.

    import AEPMessaging

  4. Säkerställ Messaging.self är en del av den array med tillägg som du registrerar.

    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
    ]
    

Registrera enhetstoken för push-meddelanden

  1. Lägg till MobileCore.setPushIdentifier API till func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) funktion.

    code language-swift
    // Send push token to Mobile SDK
    MobileCore.setPushIdentifier(deviceToken)
    

    Den här funktionen hämtar enhetstoken som är unik för den enhet som appen är installerad på. Ställer sedan in token för leverans av push-meddelanden med den konfiguration som du har konfigurerat och som är beroende av Apple Push Notification-tjänst (APN:er).

IMPORTANT
The MobileCore.updateConfigurationWith(configDict: ["messaging.useSandbox": true]) Anger om push-meddelanden använder en APN-sandlåda eller produktionsserver för att skicka push-meddelanden. När du testar din app i simulatorn eller på en enhet ska du kontrollera att messaging.useSandbox är inställd på true så att du får push-meddelanden. När du distribuerar din app för produktion för att testa med Apple Testflight måste du ange messaging.useSandbox till false annars kan produktionsappen inte ta emot push-meddelanden.

Skapa ett eget push-meddelande

Om du vill skapa ett eget push-meddelande måste du definiera en händelse i Journey Optimizer som utlöser en resa som tar hand om att skicka ett push-meddelande.

Uppdatera ditt schema

Du ska definiera en ny händelsetyp som ännu inte är tillgänglig som en del av listan med händelser som definieras i ditt schema. Du använder den här händelsetypen senare när du utlöser push-meddelanden.

  1. I användargränssnittet för Journey Optimizer väljer du Scheman från den vänstra listen.

  2. Välj Bläddra i tabbfältet.

  3. Välj ditt schema, till exempel Luma Mobile App Event Schema för att öppna den.

  4. I schemaredigeraren:

    1. Välj eventType fält.

    2. I Fältegenskaper bläddra nedåt för att se en lista över möjliga värden för händelsetypen. Välj Lägg till rad och lägga till application.test som VÄRDE och Test event for push notification som DISPLAY NAME.

    3. Välj Använd.

    4. Välj Spara.

      Lägg till värde till händelsetyper

Definiera en händelse

Med händelser i Journey Optimizer kan du utlösa resor åt gången för att skicka meddelanden, till exempel push-meddelanden. Se Om händelser för mer information.

  1. I användargränssnittet för Journey Optimizer väljer du Konfigurationer från den vänstra listen.

  2. I Kontrollpanel väljer du Hantera knappen i Händelser platta.

  3. I Händelser skärm, välja Skapa händelse.

  4. I Redigera händelse1 ruta:

    1. Retur LumaTestEvent som Namn av händelsen.

    2. Ange en Beskrivning, till exempel Test event to trigger push notifications in Luma app.

    3. Välj det händelseschema för mobilappsupplevelsen som du skapade tidigare i Skapa ett XDM-schema från Schema lista, till exempel Luma Mobile App Event Schema v.1.

    4. Välj Redigera bredvid Fält lista.

      Redigera händelsesteg 1

      I Fält kontrollerar du att följande fält är markerade (ovanpå de standardfält som alltid är markerade (_id, id och tidsstämpel). Du kan växla mellan Markerad, Alla och Primär eller använder Sök fält.

      • Identifierat program (id),
      • Händelsetyp (eventType),
      • Primär (primär).

      Redigera händelsefält

      Välj sedan OK.

    5. Välj Redigera bredvid Händelse-id-villkor fält.

      1. I Lägg till ett händelse-id-villkor dialogruta, dra och släppa Händelsetyp (eventType) till Dra och släpp ett element här.

      2. Bläddra nedåt i poverteraren och välj application.test (som är den händelsetyp som du lade till tidigare i listan över händelsetyper som en del av Uppdatera ditt schema). Bläddra sedan uppåt och uppåt och välj OK.

      3. Välj OK för att spara villkoret.

        Redigera händelsevillkor

    6. Välj ECID (ECID) från Namnutrymme lista. Automatiskt Profilidentifierare fältet är ifyllt med ID för det första elementet i nyckel-ECID för map identityMap.

    7. Välj Spara.

      Redigera händelsesteg 2

Du har just skapat en händelsekonfiguration som baseras på det händelseschema för mobilappsupplevelser som du skapade tidigare som en del av den här självstudien. Den här händelsekonfigurationen kommer att filtrera inkommande upplevelsehändelser med din specifika händelsetyp (application.test), så bara händelser av den typen, som initierats från din mobilapp, kommer att utlösa den resa du bygger i nästa steg. I ett verkligt scenario kanske du vill skicka push-meddelanden från en extern tjänst, men samma koncept gäller: från det externa programmet skickar du en upplevelsehändelse till Experience Platform som innehåller specifika fält som du kan använda för att tillämpa villkor på innan dessa händelser utlöser en resa.

Skapa resan

Nästa steg är att skapa den resa som utlöser sändningen av push-meddelandet när du får den rätta händelsen.

  1. I användargränssnittet för Journey Optimizer väljer du Resor från den vänstra listen.

  2. Välj Skapa resa.

  3. I Reseegenskaper panel:

    1. Ange en Namn för resan, till exempel Luma - Test Push Notification Journey.

    2. Ange en Beskrivning för resan, till exempel Journey for test push notifications in Luma mobile app.

    3. Säkerställ Tillåt återinträde är markerad och inställd Vänteperiod för återinträde till 30 Sekunder.

    4. Välj OK.

      Resans egenskaper

  4. Tillbaka på arbetsytan, från HÄNDELSER, dra och släpp Händelse LumaTestEvent på arbetsytan där den visas Välj en anmälningshändelse eller läsmålgruppsaktivitet.

    • I Händelser: LumaTestEvent panel, ange en Etikett, till exempel Luma Test Event.
  5. Från ÅTGÄRDER listruta, dra och släppa Push Push Lägg till till höger om LumaTestEvent aktivitet. I Åtgärder: Skjut ruta:

    1. Ange en Etikett, till exempel Luma Test Push Notification, tillhandahåller Beskrivning, till exempel Test push notification for Luma mobile app, markera Transactional från Kategori lista och markera Luma från Penselyta.

    2. Välj Redigera Redigera innehåll för att börja redigera det faktiska push-meddelandet.

      Push-egenskaper

      I Push-meddelande redigerare:

      1. Ange en Titel, till exempel Luma Test Push Notification och ange Brödtext, till exempel Test push notification for Luma mobile app.

      2. Du kan också ange en länk till en bild (.png eller .jpg) i Lägg till media. Om du gör det blir bilden en del av push-meddelandet.

      3. Om du vill spara och lämna redigeraren väljer du Chevron vänster .

        Push-redigerare

    3. Om du vill spara och slutföra definitionen för push-meddelanden väljer du OK.

  6. Resan ska se ut så här nedan. Välj Publicera för att publicera och aktivera din resa.
    Färdig resa

Utlös push-meddelandet

Du har alla ingredienser på plats för att skicka ett push-meddelande. Det som återstår är hur detta push-meddelande ska utlösas. Det är alltså detsamma som du har sett tidigare: skicka bara en upplevelsehändelse med rätt nyttolast (som i Händelser).

Den här gången har den upplevelsehändelse du ska skicka inte skapats för att skapa en enkel XDM-ordlista. Du kommer att använda en struct som representerar en nyttolast för push-meddelanden. Att definiera en dedikerad datatyp är ett annat sätt att implementera händelsenyttolaster för att skapa upplevelser i ditt program.

  1. Navigera till Luma > Luma > Modell > XML > TestPushPayload i Xcode Project navigator och kontrollera koden.

    code language-swift
    import Foundation
    
    // MARK: - TestPush
    struct TestPushPayload: Codable {
       let application: Application
       let eventType: String
    }
    
    // MARK: - Application
    struct Application: Codable {
       let id: String
    }
    

    Koden är en representation av följande enkla nyttolast som du ska skicka för att utlösa testresan för push-meddelanden

    code language-json
    {
       "eventType": string,
       "application" : [
           "id": string
       ]
    }
    
  2. Navigera till Luma > Luma > Utils > MobileSDK i Xcode Project navigator och lägg till följande kod i 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() ?? [:]
        )
    }
    

    Den här koden skapar en testPushPayload -instans med de parametrar som har angetts för funktionen (applicationId och eventType) och sedan anrop sendExperienceEvent när nyttolasten konverteras till ett lexikon. Den här koden, som nu även tar hänsyn till asynkrona aspekter av att anropa Adobe Experience Platform SDK genom att använda Swift-modellen för samtidighet baserat på await och async.

  3. Navigera till Luma > Luma > Views > General > ConfigView i Xcode Project-navigatorn. I definitionen för knappen Push Notification (Push-meddelande) lägger du till följande kod för att skicka händelsenyttolasten för testpush-meddelanden för att utlösa din resa när användaren trycker på knappen.

    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)
    }
    

Validera med din app

  1. Återskapa och kör appen i simulatorn eller på en fysisk enhet från Xcode med Spela upp .

  2. Gå till Inställningar -fliken.

  3. Tryck Push-meddelande. Push-meddelandet visas i din app.

    {width="300"}

Nästa steg

Nu bör du ha alla verktyg som behövs för att hantera push-meddelanden i appen. Du kan till exempel skapa en resa i Journey Optimizer som skickar ett välkomstmeddelande när en användare av appen loggar in. Eller ett bekräftelsemeddelande när en användare köper en produkt i appen. Eller anger geofence för en plats (som du kommer att se i Platser lektion).

SUCCESS
Du har nu aktiverat appen för push-meddelanden med Journey Optimizer och Journey Optimizer-tillägget för Experience Platform Mobile SDK.
Tack för att du lade ned din tid på att lära dig om Adobe Experience Platform Mobile SDK. Om du har frågor, vill dela allmän feedback eller har förslag på framtida innehåll kan du dela dem om detta Experience League diskussionsinlägg.

Nästa: Skapa och skicka meddelanden i appen

recommendation-more-help
9fed61f5-c338-47ad-8005-0b89a5f4af8b