Pushmeldingen maken en verzenden

Leer hoe u pushmeldingen voor mobiele apps maakt met Experience Platform Mobile SDK en Journey Optimizer.

Met Journey Optimizer kunt u reizen maken en berichten verzenden naar doelgroepen. Voordat u pushmeldingen verzendt met Journey Optimizer, moet u ervoor zorgen dat de juiste configuraties en integratie zijn geïnstalleerd. Om de de gegevensstroom van de Berichten van de Duw in Journey Optimizer te begrijpen, verwijs naar de documentatie.

Architectuur

NOTE
Deze les is optioneel en is alleen van toepassing op Journey Optimizer-gebruikers die pushberichten willen verzenden.

Vereisten

  • De app is gemaakt en uitgevoerd met SDK's geïnstalleerd en geconfigureerd.

  • Stel de app in voor Adobe Experience Platform.

  • Toegang tot Journey Optimizer en voldoende toestemmingen zoals die hierworden beschreven. U hebt ook voldoende machtigingen nodig voor de volgende Journey Optimizer-functies.

    • Maak een toepassingsoppervlak.
    • Maak een reis.
    • Maak een bericht.
    • Voorinstellingen voor berichten maken.
  • betaalde de ontwikkelaarsrekening van Apple met voldoende toegang om certificaten, herkenningstekens, en sleutels tot stand te brengen.

  • Fysiek iOS-apparaat of simulator voor testen.

Leerdoelstellingen

In deze les zult u

  • Registreer de toepassings-id bij de APNs (Apple Push Notification service).
  • Maak een App Surface in Journey Optimizer.
  • Werk uw schema bij om velden voor pushberichten op te nemen.
  • Installeer en configureer de extensie Journey Optimizer.
  • Werk uw app bij om de Journey Optimizer-tagextensie te registreren.
  • Valideer installatie in Betrouwbaarheid.
  • Een testbericht verzenden vanuit de Betrouwbaarheid
  • Definieer uw eigen pushmelding voor een Journey Optimizer.
  • Verzend uw eigen pushmelding vanuit de app.

Instellen

TIP
Als u opstelling uw milieu reeds als deel van Journey Optimizer in-app overseinenles hebt, zou u sommige stappen in deze opstellingssectie reeds kunnen reeds uitgevoerd hebben.

Toepassings-id registreren bij APNs

De volgende stappen zijn niet Adobe Experience Cloud-specifiek en zijn ontworpen om u door de configuratie van APNs te begeleiden.

Een persoonlijke sleutel maken

  1. Navigeer in de Apple Developer Portal naar Keys .

  2. Selecteer + om een sleutel te maken.
    creeer nieuwe sleutel

  3. Geef een Key Name op.

  4. Selecteer Apple Push Notification service (APNs) checkbox.

  5. Selecteer Continue.
    vorm nieuwe sleutel

  6. Controleer de configuratie en selecteer Register .

  7. Download de persoonlijke sleutel van .p8 . Het wordt gebruikt in de configuratie van de Oppervlakte van de Toepassing later in deze les.

  8. Noteer de Key ID . Het wordt gebruikt in de configuratie van de Oppervlakte van de App.

  9. Noteer de Team ID . Het wordt gebruikt in de configuratie van de Oppervlakte van de App.
    Zeer belangrijke Details

De extra documentatie kan hierworden gevonden.

Een toepassingsoppervlak toevoegen aan gegevensverzameling

  1. Van de interface van de Inzameling van Gegevens, selecteer App Surfaces in het linkerpaneel.

  2. Selecteer Create App Surface als u een configuratie wilt maken.
    app oppervlakte huis

  3. Voer een Name in voor de configuratie, bijvoorbeeld Luma App Tutorial .

  4. Selecteer Apple iOS in Mobile Application Configuration .

  5. Voer de bundel-id voor de mobiele app in het veld App ID (iOS Bundle ID) in. Bijvoorbeeld com.adobe.luma.tutorial.swiftui .

  6. Schakel de schakeloptie Push Credentials in om uw referenties toe te voegen.

  7. De belemmering en laat vallen uw .p8 Sleutel van de Authentificatie van het Bericht van de Duw van Apple dossier.

  8. Geef Key ID op, een tekenreeks van 10 tekens die is toegewezen tijdens het maken van de p8 auth-toets. Het kan onder het Keys lusje in de Certificaten, Herkenningstekens en de pagina van Profielen van de de poortpagina's van de Ontwikkelaar van Apple worden gevonden. Zie ook tot een privé sleutelleiden.

  9. Geef de Team ID op. Identiteitskaart van het Team is een waarde die onder het 1} lusje van het Lidmaatschap {of bij de bovenkant van de het poortpagina van de Ontwikkelaar van Apple kan worden gevonden. Zie ook tot een privé sleutelleiden.

  10. Selecteer Save.

    de configuratie van de toepassingsoppervlakte

Gegevensstroomconfiguratie bijwerken

Werk de configuratie van Experience Edge bij om ervoor te zorgen dat gegevens die vanuit uw mobiele app naar de Edge Network worden verzonden, naar Journey Optimizer worden doorgestuurd.

  1. Selecteer Datastreams in de gebruikersinterface voor gegevensverzameling en selecteer de gegevensstroom, bijvoorbeeld Luma Mobile App .

  2. Selecteer Meer voor Experience Platform en selecteer uitgeven Edit van het contextmenu.

  3. In Datastreams > Omslag > Adobe Experience Platform scherm:

    1. Selecteer AJO Push Profile Dataset in Profile Dataset als dit nog niet is geselecteerd. Deze profieldataset wordt vereist wanneer het gebruiken van de MobileCore.setPushIdentifier API vraag (zie het apparatenteken van het Register voor duw berichten) die het unieke herkenningsteken voor duw berichten (a.k.a. duw herkenningsteken) als deel van het profiel van de gebruiker verzekert.

    2. Adobe Journey Optimizer is geselecteerd. Zie {de montages van 0} Adobe Experience Platform 🔗 voor meer informatie.

    3. Selecteer Save om de configuratie van de gegevensstroom op te slaan.

    AEP gegevensstroomconfiguratie

Journey Optimizer-extensie installeren

Uw app werkt alleen met Journey Optimizer als u de eigenschap tag bijwerkt.

  1. Navigeer naar Tags > Extensions > Catalog ,

  2. Open uw eigenschap, bijvoorbeeld Luma Mobile App Tutorial .

  3. Selecteer Catalog.

  4. Zoek naar de extensie Adobe Journey Optimizer .

  5. De extensie installeren.

  6. In het dialoogvenster Install Extension

    1. Selecteer een omgeving, bijvoorbeeld Development .

    2. Selecteer de AJO Push Tracking Experience Event Dataset dataset van de Event Dataset lijst.

    3. Selecteer Save to Library and Build.

      de uitbreidingsmontages van AJO

NOTE
Neem contact op met de klantenservice als u AJO Push Tracking Experience Event Dataset niet ziet als een optie.

Setup valideren met betrouwbaarheid

  1. Herzie de sectie van opstellingsinstructiesom uw simulator of apparaat aan Verzekering te verbinden.

  2. Selecteer Configure in de gebruikersinterface van Verzekering.
    vorm klik

  3. Selecteer plus naast Push Debug.

  4. Selecteer Save.
    sparen

  5. Selecteer Push Debug in de linkernavigatie.

  6. Selecteer het tabblad Validate Setup.

  7. Selecteer het apparaat in de lijst Client .

  8. Bevestig dat u geen fouten krijgt.
    bevestigt

  9. Selecteer het tabblad Send Test Push.

  10. (optioneel) Wijzig de standaarddetails voor Title en Body

  11. Selecteer Bug Send Test Push Notification.

  12. Controleer Test Results.

  13. De pushmelding voor de test wordt weergegeven in uw app.

    {width="300"}

Ondertekenen

Het ondertekenen van app Luma is nodig om pushmeldingen te verzenden en vereist een betaalde Apple-ontwikkelaarsaccount .

U kunt als volgt de ondertekening voor uw app bijwerken:

  1. Ga naar uw app in Xcode.

  2. Selecteer Luma in de projectnavigator.

  3. Selecteer het doel Luma .

  4. Selecteer het Ondertekenen & Capabilities lusje.

  5. Configureer Automatic manage signing, Team en Bundle Identifier of gebruik uw specifieke Apple-ontwikkelinrichtingsgegevens.

    note important
    IMPORTANT
    Verzeker u a uniek bundelherkenningsteken gebruikt en vervang het com.adobe.luma.tutorial.swiftui bundelherkenningsteken, aangezien elk bundelherkenningsteken uniek moet zijn. Gewoonlijk gebruikt u een omgekeerde DNS-indeling voor bundle ID-tekenreeksen, zoals com.organization.brand.uniqueidentifier . De voltooide versie van deze zelfstudie gebruikt bijvoorbeeld com.adobe.luma.tutorial.swiftui .

    Xcode ondertekenende mogelijkheden {modal="regular"}

Mogelijkheden voor pushmeldingen toevoegen aan uw app

IMPORTANT
Om dupmelding in een iOS app uit te voeren en te testen, moet u a betaalde de ontwikkelaarsrekening van Apple hebben. Als u geen betaald Apple-ontwikkelaarsaccount hebt, kunt u het restant van deze les overslaan.
  1. Selecteer in Xcode Luma in de lijst TARGETS , selecteer het tabblad Signing & Capabilities , selecteer de knop + Capability en selecteer vervolgens Push Notifications . Hierdoor kan uw app pushmeldingen ontvangen.

  2. Vervolgens moet u een Berichtgevingsextensie aan de app toevoegen. Ga terug naar de tab General en selecteer het pictogram + onder aan de sectie TARGETS .

  3. U wordt gevraagd om de sjabloon voor uw nieuwe doel te selecteren. Selecteer Notification Service Extension en selecteer vervolgens Next .

  4. Gebruik NotificationExtension in het volgende venster als de naam van de extensie en klik op de knop Finish .

Er moet nu een extensie voor pushmeldingen aan uw app worden toegevoegd, vergelijkbaar met het onderstaande scherm.

de uitbreiding van Pusn- mededelingen

Journey Optimizer implementeren in de app

Zoals in vorige lessen is besproken, biedt het installeren van een extensie voor mobiele tags alleen de configuratie. Vervolgens moet u de SDK voor berichten installeren en registreren. Als deze stappen niet duidelijk zijn, herzie installeer SDKssectie.

NOTE
Als u voltooide installeerde SDKssectie, dan is SDK reeds geïnstalleerd en u kunt deze stap overslaan.
  1. In Xcode, zorg ervoor dat het Overseinen AEPaan de lijst van pakketten in de Afhankelijkheden van het Pakket wordt toegevoegd. Zie {de Manager van het Pakket van 0} Swift 🔗.

  2. Navigeer naar Luma > Luma > AppDelegate in de Xcode-projectnavigator.

  3. Controleer of AEPMessaging deel uitmaakt van uw lijst met importbewerkingen.

    import AEPMessaging

  4. Controleer of Messaging.self deel uitmaakt van de array met extensies die u registreert.

    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
    ]
    

Apparaattoken registreren voor pushberichten

  1. Voeg de MobileCore.setPushIdentifierAPI aan de func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) functie toe.

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

    Deze functie haalt het apparaattoken op dat uniek is voor het apparaat waarop de toepassing is geïnstalleerd. Dan plaatst het teken voor de levering van het dupbericht gebruikend de configuratie die u opstelling hebt en die op de dienst van het Bericht van de Duw van Apple (APNs) vertrouwt.

IMPORTANT
Met MobileCore.updateConfigurationWith(configDict: ["messaging.useSandbox": true]) bepaalt u of pushberichten een APNs-sandbox of productieserver gebruiken voor het verzenden van pushberichten. Wanneer u de app test in de simulator of op een apparaat, moet u controleren of messaging.useSandbox is ingesteld op true , zodat u pushmeldingen ontvangt. Wanneer u uw app implementeert voor productie om te testen met gebruik van Apple Testflight, moet u messaging.useSandbox instellen op false anders kan uw productie-app geen pushmeldingen ontvangen.

Uw eigen pushmelding maken

Als u uw eigen pushmelding wilt maken, moet u een gebeurtenis in Journey Optimizer definiëren die een rit start die zorgt voor het verzenden van een pushmelding.

Uw schema bijwerken

U gaat een nieuw gebeurtenistype bepalen, nog niet beschikbaar als deel van de lijst van gebeurtenissen die in uw schema worden bepaald. U gebruikt dit gebeurtenistype later wanneer u pushmeldingen activeert.

  1. Selecteer in de gebruikersinterface van Journey Optimizer de optie Schemas in het linkerspoor.

  2. Selecteer Browse in de tabbalk.

  3. Selecteer het schema, bijvoorbeeld Luma Mobile App Event Schema om het te openen.

  4. In de Schema-editor:

    1. Selecteer het veld eventType .

    2. Schuif in het deelvenster Field properties omlaag om de lijst met mogelijke waarden voor het gebeurtenistype weer te geven. Selecteer Add row en voeg application.test toe als de VALUE en Test event for push notification als de DISPLAY NAME .

    3. Selecteer Apply.

    4. Selecteer Save.

      voegt waarde aan gebeurtenistypen toe

Een gebeurtenis definiëren

Met gebeurtenissen in Journey Optimizer kunt u uw reizen tijdelijk activeren om berichten te verzenden, bijvoorbeeld pushberichten. Zie Ongeveer gebeurtenissenvoor meer informatie.

  1. Selecteer in de gebruikersinterface van Journey Optimizer de optie Configurations in het linkerspoor.

  2. Selecteer in het scherm Dashboard de knop Manage in de tegel Events .

  3. Selecteer Create Event in het Events -scherm.

  4. In het deelvenster Edit event event1 :

    1. Voer LumaTestEvent in als de Name van de gebeurtenis.

    2. Geef een Description op, bijvoorbeeld Test event to trigger push notifications in Luma app .

    3. Selecteer het mobiele schema van de toepassingservaring die u vroeger in creeerde een schema XDMvan de Schema lijst, bijvoorbeeld Luma Mobile App Event Schema v.1 creeerde.

    4. Selecteer uitgeven naast de Fields lijst.

      geef gebeurtenisstap 1 uit

      Controleer in het dialoogvenster Fields of de volgende velden zijn geselecteerd (boven op de standaardvelden die altijd zijn geselecteerd (_id , id en timestamp). U kunt, het gebruiken van de dropdown lijst, tussen Selected, All en Primary van een knevel voorzien of het Onderzoek gebied gebruiken.

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

      geeft gebeurtenisgebieden uit

      Selecteer vervolgens Ok .

    5. Selecteer uitgeven naast het Event id condition gebied.

      1. Sleep in het dialoogvenster Add an event id condition Event Type (eventType) naar Drag and drop an element here .

      2. In popover, rol aan de bodem en selecteer application.test (dat het gebeurtenistype is u vroeger aan de lijst van gebeurtenistypen als deel van toevoegde Werk uw schema). Blader vervolgens omhoog en selecteer Ok .

      3. Selecteer Ok om de voorwaarde op te slaan.

        geef gebeurtenisvoorwaarde uit

    6. Selecteer ECID (ECID) in de lijst Namespace . Het veld Profile identifier wordt automatisch gevuld met The id of the first element of the key ECID for the map identityMap .

    7. Selecteer Save.

      geef gebeurtenisstap 2 uit

U hebt zojuist een gebeurtenisconfiguratie gemaakt die is gebaseerd op het gebeurtenissenschema voor mobiele apps dat u eerder hebt gemaakt in het kader van deze zelfstudie. Deze gebeurtenisconfiguratie zal inkomende ervaringsgebeurtenissen filtreren gebruikend uw specifiek gebeurtenistype (application.test), zodat slechts de gebeurtenissen met dat specifieke type, die van uw mobiele app in werking worden gesteld, de reis zullen activeren u in de volgende stap bouwt. In een echt scenario zou u dupberichten van de externe dienst kunnen willen verzenden, nochtans zijn de zelfde concepten van toepassing: van de externe toepassing verzendt een ervaringsgebeurtenis naar Experience Platform dat specifieke gebieden heeft u kunt gebruiken om voorwaarden op toe te passen alvorens deze gebeurtenissen een reis teweegbrengen.

De reis maken

Uw volgende stap is het maken van de reis die het verzenden van de pushmelding activeert wanneer de juiste gebeurtenis wordt ontvangen.

  1. Selecteer in de gebruikersinterface van Journey Optimizer de optie Journeys in het linkerspoor.

  2. Selecteer Create Journey.

  3. In het deelvenster Journey Properties :

    1. Voer een Name in voor de rit, bijvoorbeeld Luma - Test Push Notification Journey .

    2. Voer een Description in voor de rit, bijvoorbeeld Journey for test push notifications in Luma mobile app .

    3. Zorg ervoor dat Allow re-entrance is geselecteerd en stel Re-entrance wait period in op 30 Seconds .

    4. Selecteer Ok.

      Journeyeigenschappen

  4. Terug bij het wegcanvas, van EVENTS, sleep en laat vallen uw Gebeurtenis LumaTestEvent op het canvas waar het Select an entry event or a read audience activity toont.

    • Voer in het deelvenster Events: LumaTestEvent bijvoorbeeld een Label Luma Test Event in.
  5. Van ACTIONS dropdown, belemmering en laat vallen Duw Push op voeg toe die aan het recht van uw LumaTestEvent activiteit verschijnen. In het deelvenster Actions: Push :

    1. Geef een Label op, bijvoorbeeld Luma Test Push Notification , geef een Description , bijvoorbeeld Test push notification for Luma mobile app , selecteer Transactional in de lijst Category en selecteer Luma in de lijst Push surface .

    2. Selecteer uitgeven Edit content beginnen het daadwerkelijke dupbericht uit te geven.

      Push eigenschappen

      In de Push Notification editor:

      1. Voer bijvoorbeeld een Title Luma Test Push Notification in en voer een Body in, bijvoorbeeld Test push notification for Luma mobile app .

      2. U kunt desgewenst een koppeling naar een afbeelding (.png of .jpg) invoeren in Add media . Als u dit doet, maakt de afbeelding deel uit van de pushmelding.

      3. Om de redacteur te bewaren en te verlaten, uitgezochte Bevestig verlaten .

        Push redacteur

    3. Selecteer Ok als u de definitie van de pushmelding wilt opslaan en voltooien.

  6. Je reis moet er hieronder uitzien. Selecteer Publish om uw reis te publiceren en te activeren.
    Voltooide reis

De pushmelding activeren

U hebt alle ingrediënten op zijn plaats om een pushmelding te verzenden. Wat overblijft, is hoe deze pushmelding wordt geactiveerd. In wezen, is het het zelfde als u eerder hebt gezien: verzend eenvoudig een ervaringsgebeurtenis met de juiste nuttige lading (zoals in Gebeurtenissen).

Dit keer wordt de ervaringsgebeurtenis die u op het punt staat te verzenden, niet samengesteld als een eenvoudig XDM-woordenboek. U gaat een struct gebruiken die een payload van een pushmelding vertegenwoordigt. Het bepalen van een specifiek gegevenstype is een alternatieve manier op hoe te om het construeren gebeurtenislading in uw toepassing uit te voeren.

  1. Navigeer naar Luma > Luma > Model > XDM > TestPushPayload in de Xcode-projectnavigator en inspecteer de 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
    }
    

    De code is een representatie van de volgende eenvoudige lading die u gaat verzenden om de reis van de testpushmelding te activeren

    code language-json
    {
       "eventType": string,
       "application" : [
           "id": string
       ]
    }
    
  2. Navigeer naar Luma > Luma > Utils > MobileSDK in de Xcode Project navigator en voeg de volgende code toe aan 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() ?? [:]
        )
    }
    

    Met deze code wordt een instantie testPushPayload gemaakt met behulp van de parameters die aan de functie ( applicationId en eventType ) worden doorgegeven. Vervolgens wordt sendExperienceEvent aangeroepen tijdens het omzetten van de laadbewerking naar een woordenboek. In deze code wordt deze keer ook rekening gehouden met de asynchrone aspecten van het aanroepen van de Adobe Experience Platform SDK door gebruik te maken van het gelijktijdige aanroepen van Swift-model op basis van await en async .

  3. Navigeer naar Luma > Luma > Views > General > ConfigView in de Xcode-projectnavigator. Voeg in de definitie van Knop voor pushmeldingen de volgende code toe om de lading van de testpushmelding tijdens de gebeurtenisbeleving te verzenden, zodat de rit wordt geactiveerd wanneer op die knop wordt getikt.

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

Valideren met uw app

  1. Rebuild en stel app in werking in de simulator of op een fysiek apparaat van Xcode, gebruikend Spel .

  2. Ga naar de tab Settings .

  3. Tik op Push Notification. De pushmelding wordt weergegeven in uw app.

    {width="300"}

Volgende stappen

U moet nu over alle gereedschappen beschikken om pushmeldingen in uw app af te handelen. U kunt bijvoorbeeld een reis maken in Journey Optimizer die een welkomstbericht verstuurt wanneer een gebruiker van de app zich aanmeldt. Of een bevestigingspushmelding wanneer een gebruiker een product in de app aanschaft. Of gaat de geofence van een plaats in (aangezien u in de 🔗 les 0} Plaatsen {zult zien).

SUCCESS
U hebt de app voor pushberichten nu ingeschakeld met Journey Optimizer en de Journey Optimizer-extensie voor de Experience Platform Mobile SDK.
Bedankt dat u tijd hebt geïnvesteerd in het leren van Adobe Experience Platform Mobile SDK. Als u vragen hebt, algemene terugkoppelen willen delen, of suggesties over toekomstige inhoud hebben, hen op deze Communautaire besprekingspost van de Experience Leaguedelen.

Volgende: creeer en verzend in-app berichten

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