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 {modal="regular"}

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äckliga behörigheter. Du behöver även tillräcklig behörighet för följande Journey Optimizer-funktioner.

    • Skapa en push-autentiseringsuppgift.
    • Skapa en push-kanalskonfiguration.
    • Skapa en resa.
    • Skapa ett meddelande.
    • Skapa meddelandeförinställningar.
  • För iOS är ett betalt Apple-utvecklarkonto med tillräcklig behörighet för att skapa certifikat, identifierare och nycklar.

  • För Android är ett Google-utvecklarkonto med tillräcklig behörighet för att skapa certifikat och nycklar.

  • Fysisk iOS- eller Android-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 kanalkonfiguration 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 konfigurationen 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.

Skapa push-autentiseringsuppgifter

För push-meddelanden måste du först registrera din app för push-meddelanden.

iOS

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

  1. Gå till Keys på Apple utvecklarportal.

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

    skapa ny nyckel {modal="regular"}

  3. Ange en Key Name.

  4. Välj Apple Push Notification service (APN:er) och välj Configure.

    1. Välj Configure Key i listrutan Sandbox & Production på skärmen Environment.
    2. Välj Save.
  5. Välj Continue.

    konfigurera ny nyckel {modal="regular"}

  6. Granska konfigurationen och välj Register.

  7. Hämta den privata nyckeln .p8. Den används i nästa övning när du konfigurerar push-autentiseringsuppgifter för Journey Optimizer.

  8. Notera Key ID. Den används i nästa övning när du konfigurerar push-autentiseringsuppgifter för Journey Optimizer.

  9. Notera Team ID. Den används i nästa övning när du konfigurerar push-autentiseringsuppgifter för Journey Optimizer. Team-ID:t finns uppe till höger på skärmen bredvid ditt inloggningsnamn.
    Nyckelinformation {modal="regular"}

Ytterligare dokumentation finns här.

Android

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

  1. Gå till Firebase-konsolen.

  2. Välj Create a Firebase project.

    1. Ange en Project name.
    2. Välj Continue i Create a project - Let’s start with a name for your project. Exempel: Luma Android App.
    3. Inaktivera Gemini in Firebase och välj Continue i Create a project - AI assistance for your Firebase project.
    4. Inaktivera Google Analytics for this project och välj Continue i Create a project - Google Analytics for your Firebase project.
    5. Välj Create Project.
    6. När projektet är klart väljer du Continue.
  3. Gå tillbaka till Firebase-konsolen och se till att ditt projekt är markerat längst upp. Exempel: Luma Android App.

    Firebase-konsol {modal="regular"}

  4. Välj Inställning > Project Settings.

  5. I Project settings väljer du Add app.

    1. I Add Firebase to your app väljer du Android som plattform.

    2. I Add Firebase to your Android app:

      1. I steg 1, Register app:

        1. Ange ett namn på ett Android-paket som liknar din programidentifierare. Exempel: com.adobe.luma.tutorial.android.
        2. Ange ett valfritt App nickname.
        3. Välj Register app.
      2. I steg 2, Download and then add config file.

        1. Välj Hämta Download google-services.json. När du skapar en egen version av Android-appen bör du ersätta den aktuella google-services.json-filen i Android Studio-exempelprojektet med den version av filen som genereras av den nya appkonfigurationen.
          De andra stegen hanteras redan i exempelappen.

    Skärmen ska se ut så här:

    Firebase-konsol {modal="regular"}

  6. I Project Settings väljer du Service accounts.

  7. Välj Generate new private key. En luma-android-app-firebase-adminsdk-xxxx-xxxxxxxx.json-fil genereras. Spara filen på en säker plats när du behöver den i ett senare skede.

Mer information finns i dokumentationen för Firebase-utvecklare.

Lägg till push-autentiseringsuppgifter för appen i datainsamlingen

Därefter måste du lägga till push-autentiseringsuppgifter för mobilprogrammet för att godkänna att Adobe skickar push-meddelanden åt dig. Du kan lägga till push-inloggningsuppgifter antingen i datainsamling eller i Journey Optimizer. I den här självstudiekursen används gränssnittet Datainsamling. Push-autentiseringsuppgifterna länkas sedan till en kanalkonfiguration i Journey Optimizer.

  1. Välj App Surfaces i Datainsamling.

  2. Välj Create App Surface.

  3. I gränssnittet Create App Surface:

    1. Ange en Name.

    2. Välj Apple iOS om du vill skicka push-meddelanden för iOS.

      1. Ange din App ID, till exempel com.adobe.luma.tutorial.swiftui.
      2. Markera sandlådan (valfritt).
      3. Aktivera Push Credentials.
      4. Släpp den sparade .p8 privata nyckelfilen på Drag and Drop Your File.
      5. Ange Key ID.
      6. Ange Team ID.
    3. Välj Android om du vill skicka push-meddelanden för Android.

      1. Ange din App ID, till exempel com.adobe.luma.tutorial.android.
      2. Markera sandlådan (valfritt).
      3. Aktivera Push Credentials.
      4. Släpp den sparade luma-android-app-firebase-adminsdk-xxxx-xxxxxxxx.json-filen på Drag and Drop Your File.

    Skapa en ny konfiguration för push-autentiseringsuppgifter i Journey Optimizer {modal="regular"}

  4. Välj Save. Om all information är korrekt har du skapat push-autentiseringsuppgifter som ska kopplas till en kanalkonfiguration.

Skapa en kanalkonfiguration för push-funktioner i Journey Optimizer

När du har skapat en konfiguration för push-autentiseringsuppgifter måste du skapa en konfiguration som kan skicka push-meddelanden från Journey Optimizer.

  1. Öppna menyn Channels > General settings > Channel configurations i Journey Optimizer-gränssnittet och välj sedan Create channel configuration.

    Skapa en ny kanalkonfiguration {modal="regular"}

  2. Ange ett namn och en beskrivning (valfritt) för konfigurationen.

    note note
    NOTE
    Namn måste börja med en bokstav (A-Z). Det får bara innehålla alfanumeriska tecken. Du kan också använda understreck _, punkt . och bindestreck -.
  3. Om du vill tilldela anpassade eller grundläggande dataanvändningsetiketter till konfigurationen kan du välja Manage access. Läs mer om OLAC (Object Level Access Control).

  4. Välj kanalen Push.

  5. Välj Marketing action(s) om du vill associera medgivandeprinciper med de meddelanden som använder den här konfigurationen. Alla profiler för samtycke som är kopplade till marknadsföringsåtgärderna utnyttjas för att ta hänsyn till kundernas önskemål. Läs mer om marknadsföringsåtgärder.

  6. Välj din Platform. Du kan konfigurera både iOS och Android för en kanalkonfiguration.

  7. Välj rätt App id som du använde tidigare för att definiera dina push-autentiseringsuppgifter. Exempel: com.adobe.luma.tutorial.swiftui för iOS och com.adobe.luma.tutorial.android för Android. Den gröna CheckCircle anger att giltiga push-autentiseringsuppgifter är associerade med en kanalkonfiguration.

    Push-kanalkonfiguration {modal="regular"}

  8. Välj Submit om du vill spara ändringarna.

Uppdatera datastream-konfiguration

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

  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). Detta val säkerställer också att den unika identifieraren för push-meddelanden (alias 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 {modal="regular"}

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 {modal="regular"}

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

Validera installationen med Assurance

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

  2. I Assurance-gränssnittet väljer du Configure.
    konfigurera klicka {modal="regular"}

  3. Välj Plus bredvid Push Debug.

  4. Välj Save.
    spara {modal="regular"}

  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 {modal="regular"}

  9. Klicka på fliken Send Test Push.

  10. (valfritt) Ändra standardinformationen för Title och Body och se till att du anger alla parametrar som programmet förväntar sig, som Advanced > Notification Channel (krävs för Android, till exempel LUMA_CHANNEL_ID).

  11. Välj Fel Send Test Push Notification.

  12. Kontrollera Test Results.

    Testa push-meddelanden från Assurance {modal="regular"}

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

iOS
{width="300"}
Android
{width="300"}

Signering

IMPORTANT
Du måste signera en iOS-app för att skicka push-meddelanden till iOS och kräver ett betalt Apple-utvecklarkonto. Du behöver inte signera en Android-app för att skicka push-meddelanden.

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.
iOS
  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. Med det här alternativet kan din app 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 {modal="regular"}

Android

Android Studio-projektet har redan konfigurerats för push-meddelanden. Du behöver inte vidta ytterligare åtgärder för att aktivera Android-versionen av Luma-appen för push-meddelanden. Mer information finns i Om meddelanden.

Android push-meddelanden kräver att du definierar ett ID för en meddelandekanal, både i din app och när du skickar ett push-meddelande. Det kanalmeddelande-ID som används i Android Luma-appen är LUMA_CHANNEL ID.

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.
iOS
  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
    ]
    
Android
  1. I Android Studio kontrollerar du att aepsdk-messing-android är en del av beroendena i build.gradle.kts (Module :app) i Android ChevronDown Gradle Scripts. Se Gradle.

  2. Navigera till Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > LumaApplication i projektnavigeraren i Android Studio.

  3. Se till att com.adobe.marketing.mobile.Messaging ingår i din lista över importer.

    import import com.adobe.marketing.mobile.Messaging

  4. Kontrollera att Messaging.EXTENSION är en del av den array med tillägg som du registrerar.

    code language-kotlin
    val extensions = listOf(
        Identity.EXTENSION,
        Lifecycle.EXTENSION,
        Signal.EXTENSION,
        Edge.EXTENSION,
        Consent.EXTENSION,
        UserProfile.EXTENSION,
        Places.EXTENSION,
        Messaging.EXTENSION,
        Optimize.EXTENSION,
        Assurance.EXTENSION
    )
    

Registrera en enhetstoken för push-meddelanden

Du måste registrera enhetstoken för push-meddelanden.

iOS
  1. Navigera till Luma > Luma > AppDelegate i Xcode Project-navigatorn.

  2. 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).

Android
  1. Navigera till Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > LumaApplication i projektnavigeraren i Android Studio.

  2. Lägg till API:t MobileCore.setPushIdentifier i funktionen override fun onCreate() i class LumaAplication : Application, i FirebaseMessaging.getInstance().token.addOnCompleteListener.

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

    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 FCM (Firebase Cloud Messaging).

IMPORTANT
För endast iOS: 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 kan din produktionsapp inte ta emot push-meddelanden.


​>Firebase Cloud Messaging (FCM) stöder inte konceptet med sandlådor för 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 {modal="regular"}

Definiera en händelse

Med händelser i Journey Optimizer kan du utlösa resor 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 Events på skärmen Create Event.

  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 {modal="regular"}

      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 {modal="regular"}

      Välj sedan Ok.

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

      1. Dra och släpp Add an event id condition i dialogrutan Event Type (eventType) 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 {modal="regular"}

    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 {modal="regular"}

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. Samma koncept gäller dock: från det externa programmet skickas 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 {modal="regular"}

  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 Events: LumaTestEvent, till exempel Label, på panelen Luma Test Event.
  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 {modal="regular"}

      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 är bilden en del av push-meddelandet. Observera att om du gör det måste du hantera bilden på rätt sätt i din mobilapp.

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

        Push-redigerare {modal="regular"}

    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 {modal="regular"}

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.

Tänk på att du bara skickar ett push-meddelande inifrån programmet för att illustrera. Ett vanligare scenario är att du skickar upplevelsehändelsen (som utlöser push-meddelanderesan) från ett annat program eller en annan tjänst.

iOS
  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 tar också 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)
    }
    
Android
  1. Navigera till Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > xdm > TestPushPayload.kt i Android Studio-navigatorn och kontrollera koden.

    code language-kotlin
    import com.google.gson.annotations.SerializedName
    
    data class TestPushPayload(
       @SerializedName("application") val application: Application,
       @SerializedName("eventType") val eventType: String
    ) {
       fun asMap(): Map<String, Any> {
          return mapOf(
                "application" to application.asMap(),
                "eventType" to eventType
          )
       }
    }
    
    data class Application(
       @SerializedName("id") val id: String
    ) {
       fun asMap(): Map<String, Any> {
          return mapOf(
                "id" to id
          )
       }
    }
    

    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 Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > models > MobileSDK i Android Studio-navigatorn och lägg till följande kod i func sendTestPushEvent(applicationId: String, eventType: String):

    code language-kotlin
    // Create payload and send experience event
    val testPushPayload = TestPushPayload(
       Application(applicationId),
       eventType
    )
    sendExperienceEvent(testPushPayload.asMap())
    

    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 en karta.

  3. Navigera till Android ChevronDown > app > kotlin+java > com.adobe.luma.android.tutorial > views > ConfigView.kt i Android Studio-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-kotlin
    // Setting parameters and calling function to send push notification
    val eventType = testPushEventType
    val applicationId = context.packageName
    scope.launch {
          MobileSDK.shared.sendTestPushEvent(
             applicationId,
             eventType
          )
    }
    

Validera med din app

Så här validerar du händelsen och resan för push-meddelanden:

iOS
  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 ovanpå appen.

    {width="300"}

Android
  1. Återskapa och kör appen i simulatorn eller på en fysisk enhet från Android Studio med Play .

  2. Gå till fliken Settings.

  3. Tryck på Push Notification.

    Push-meddelandet visas ovanpå appen.

    {width="300"}

Hur du hanterar och visar push-meddelanden i själva appen ligger utanför det här avsnittet. Varje plattform implementerar hantering och visar meddelanden på ett specifikt sätt. Mer information finns här:

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 ser 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 har lagt 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 Community-diskussionsinlägget.

Nästa: Skapa och skicka meddelanden i appen

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