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. Mer information om dataflödet för push-meddelanden i Journey Optimizer finns i dokumentationen.

Arkitektur

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

Förhandskrav

  • 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 din miljö som en del av Journey Optimizer-lektionen för meddelanden i appen kanske du redan har utfört några av stegen i det här installationsavsnittet.

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 Keys på Apple utvecklarportal.

  2. Välj + om du vill skapa en nyckel.
    skapa ny nyckel

  3. Ange en Key Name.

  4. Markera kryssrutan Apple Push Notification service (APN:er).

  5. Välj Continue.
    konfigurera ny nyckel

  6. Granska konfigurationen och välj Register.

  7. Hämta den privata nyckeln .p8. Den används senare i konfigurationen för appytan i den här lektionen.

  8. Notera Key ID. Den används i appytskonfigurationen.

  9. Notera Team ID. Den används i appytskonfigurationen.
    Nyckelinformation

Ytterligare dokumentation finns här.

Lägg till en appyta i datainsamling

  1. I gränssnittet för datainsamling väljer du App Surfaces i den vänstra panelen.

  2. Välj Create App Surface om du vill skapa en konfiguration.
    appyta - startsida

  3. Ange Name som konfiguration, till exempel Luma App Tutorial.

  4. Välj Apple iOS från Mobile Application Configuration.

  5. Ange ID för mobilappspaket i fältet App ID (iOS Bundle ID). Exempel: com.adobe.luma.tutorial.swiftui.

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

  7. Dra och släpp .p8 Apple Push Notification Authentication Key-filen.

  8. Ange Key ID, en sträng med 10 tecken som tilldelats när autentiseringsnyckeln p8 skapades. Den finns på fliken Keys på sidan Certifikat, Identifierare och profiler på sidorna på Apple Developer Portal. Se även Skapa en privat nyckel.

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

  10. Välj Save.

    appytans konfiguration

Uppdatera datastream-konfiguration

För att säkerställa att data som skickas från din mobilapp till Edge Network vidarebefordras till Journey Optimizer, ska du uppdatera Experience Edge-konfigurationen.

  1. I användargränssnittet för datainsamling väljer du Datastreams och markerar ditt datastream, till exempel Luma Mobile App.

  2. Välj Mer för Experience Platform och välj Redigera Edit på snabbmenyn.

  3. På skärmen Datastreams > Mapp > Adobe Experience Platform:

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

    2. Adobe Journey Optimizer har valts. Mer information finns i Adobe Experience Platform-inställningar.

    3. Välj Save om du vill spara dataströmskonfigurationen.

    AEP-datastream-konfiguration

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 Tags > Extensions > Catalog,

  2. Öppna din egenskap, till exempel Luma Mobile App Tutorial.

  3. Välj Catalog.

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

  5. Installera tillägget.

  6. I dialogrutan Install Extension

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

    2. Välj datauppsättningen AJO Push Tracking Experience Event Dataset i listan Event Dataset.

    3. Välj Save to Library and Build.

      AJO-tilläggsinställningar

NOTE
Om du inte ser AJO Push Tracking Experience Event Dataset som ett alternativ kontaktar du kundtjänst.

Validera inställningar med Assurance

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

  2. Välj Configure i försäkringsgränssnittet.
    konfigurera klicka

  3. Välj Plus bredvid Push Debug.

  4. Välj Save.
    spara

  5. Välj Push Debug i den vänstra navigeringen.

  6. Klicka på fliken Validate Setup.

  7. Välj din enhet i listan Client.

  8. Bekräfta att inga fel visas.
    validate

  9. Klicka på fliken Send Test Push.

  10. (valfritt) Ändra standardinformationen för Title och Body

  11. Välj Fel Send Test Push Notification.

  12. Kontrollera Test Results.

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

    {width="300"}

Signering

Du måste signera Luma-appen 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 målet Luma.

  4. Välj fliken Signering och funktioner.

  5. Konfigurera Automatic manage signing, Team och Bundle Identifier, eller använd din specifika information om etablering av Apple-utveckling.

    note important
    IMPORTANT
    Se till att du använder en unik-paketidentifierare och ersätt com.adobe.luma.tutorial.swiftui-paketidentifieraren, eftersom varje paketidentifierare 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älvstudien används till exempel 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 ett betalt Apple-utvecklarkonto. Om du inte har ett betalt Apple-utvecklarkonto kan du hoppa över resten av den här lektionen.
  1. I Xcode väljer du Luma i listan TARGETS, väljer fliken Signing & Capabilities, klickar på knappen + Capability och väljer sedan Push Notifications. 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 fliken General och välj ikonen + längst ned i avsnittet TARGETS.

  3. Du uppmanas att välja en mall för det nya målet. Välj Notification Service Extension och sedan Next.

  4. I nästa fönster använder du NotificationExtension som namn på tillägget och klickar på knappen Finish.

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

PUSN-meddelandetillägg

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 avsnittet Installera SDK.

NOTE
Om du har slutfört avsnittet Installera SDK:er är SDK redan installerat och du kan hoppa över det här steget.
  1. Kontrollera att AEP Messaging har lagts till i listan över paket i paketberoenden i Xcode. Se Hanteraren för wift-paket.

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

  3. Se till att AEPMessaging ingår i din lista över importer.

    import AEPMessaging

  4. Kontrollera att 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 API:t MobileCore.setPushIdentifier i funktionen func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data).

    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
MobileCore.updateConfigurationWith(configDict: ["messaging.useSandbox": true]) avgör om push-meddelanden använder en APN-sandlåda eller produktionsserver för att skicka push-meddelanden. Kontrollera att messaging.useSandbox är inställt på true när du testar din app i simulatorn eller på en enhet 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 ställa in messaging.useSandboxfalse, annars kommer din produktionsapp inte att kunna 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 Journey Optimizer-gränssnittet väljer du Schemas i den vänstra listen.

  2. Välj Browse i flikfältet.

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

  4. I schemaredigeraren:

    1. Markera fältet eventType.

    2. I rutan Field properties rullar du nedåt för att se en lista över möjliga värden för händelsetypen. Välj Add row och lägg till application.test som VALUE och Test event for push notification som DISPLAY NAME.

    3. Välj Apply.

    4. Välj Save.

      Lägg till värde i 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. Mer information finns i Om händelser.

  1. I Journey Optimizer-gränssnittet väljer du Configurations i den vänstra listen.

  2. På skärmen Dashboard väljer du knappen Manage i rutan Events.

  3. Välj Create Event på skärmen Events.

  4. I rutan Edit event event1:

    1. Ange LumaTestEvent som Name för händelsen.

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

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

    4. Välj Redigera bredvid listan Fields.

      Redigera händelsesteg 1

      I dialogrutan Fields ser du till att följande fält är markerade (ovanpå de standardfält som alltid är markerade (_id, id och timestamp)). Du kan växla mellan Selected, All och Primary i listrutan eller använda fältet Sök .

      • Application Identified (id),
      • Event Type (eventType),
      • Primary (primary).

      Redigera händelsefält

      Välj sedan Ok.

    5. Välj Redigera bredvid fältet Event id condition.

      1. Dra och släpp Event Type (eventType) i dialogrutan Add an event id condition till Drag and drop an element here.

      2. Bläddra längst ned i povern 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 till toppen och välj Ok.

      3. Välj Ok om du vill spara villkoret.

        Redigera händelsevillkor

    6. Välj ECID (ECID) i listan Namespace. Fältet Profile identifier fylls i automatiskt med The id of the first element of the key ECID for the map identityMap.

    7. Välj Save.

      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 filtrerar inkommande upplevelsehändelser med din specifika händelsetyp (application.test), så bara händelser med den typen, som initieras från din mobilapp, utlöser 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 Journey Optimizer-gränssnittet väljer du Journeys i den vänstra listen.

  2. Välj Create Journey.

  3. På panelen Journey Properties:

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

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

    3. Kontrollera att Allow re-entrance är markerat och ange Re-entrance wait period till 30 Seconds.

    4. Välj Ok.

      Resans egenskaper

  4. Tillbaka på arbetsytan på resan, från EVENTS, dra och släpp Event LumaTestEvent på arbetsytan där den visas Select an entry event or a read audience activity.

    • Ange Label, till exempel Luma Test Event, på panelen Events: LumaTestEvent.
  5. I listrutan ACTIONS drar och släpper du Push Push Add som visas till höger om din LumaTestEvent-aktivitet. I rutan Actions: Push:

    1. Ange en Label, till exempel Luma Test Push Notification, ge en Description, till exempel Test push notification for Luma mobile app, välj Transactional i listan Category och välj Luma i listan Push surface.

    2. Välj Redigera Edit content om du vill börja redigera det faktiska push-meddelandet.

      Push-egenskaper

      I Push Notification-redigeraren:

      1. Ange en Title, till exempel Luma Test Push Notification, och ange en Body, till exempel Test push notification for Luma mobile app.

      2. Du kan också ange en länk till en bild (.png eller .jpg) i Add 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 Sparron till vänster .

        Push-redigerare

    3. Om du vill spara och slutföra definitionen av push-meddelanden väljer du Ok.

  6. Resan ska se ut så här nedan. Välj Publish om du vill 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å samma sak 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 > Model > XDM > TestPushPayload i Xcode Project-navigatorn 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-navigatorn 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 anropar sedan sendExperienceEvent när nyttolasten konverteras till ett lexikon. Den här koden, den här gången, tar även hänsyn till asynkrona aspekter av att anropa Adobe Experience Platform SDK genom att använda Swift-samtidighetsmodellen som baseras 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 Play .

  2. Gå till fliken Settings.

  3. Tryck på Push Notification. 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 lektionen Platser).

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 i det här Experience League-diskussionsinlägget.

Nästa: Skapa och skicka meddelanden i appen

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