Creare e inviare notifiche push

Scopri come creare notifiche push per le app mobili con Experienci Platform Mobile SDK e Journey Optimizer.

Journey Optimizer consente di creare percorsi e inviare messaggi a tipi di pubblico mirati. Prima di inviare le notifiche push con Journey Optimizer, devi verificare che siano presenti le configurazioni e le integrazioni corrette. Per informazioni sul flusso di dati delle notifiche push in Journey Optimizer, consulta documentazione.

Architettura

NOTE
Questa lezione è facoltativa e si applica solo agli utenti di Journey Optimizer che desiderano inviare notifiche push.

Prerequisiti

  • L'app con gli SDK installati e configurati è stata creata ed eseguita correttamente.

  • Configura l’app per Adobe Experience Platform.

  • Accesso a Journey Optimizer e autorizzazioni sufficienti come descritto qui. È inoltre necessaria un'autorizzazione sufficiente per le seguenti funzioni di Journey Optimizer.

    • Crea una superficie app.
    • Creazione di un percorso.
    • Crea un messaggio.
    • Creare predefiniti per messaggi.
  • Account sviluppatore Apple a pagamento con accesso sufficiente per creare certificati, identificatori e chiavi.

  • Dispositivo fisico iOS o simulatore per test.

Obiettivi di apprendimento

In questa lezione, potrai

  • Registra l’ID app con il servizio di notifica push di Apple (APN).
  • Crea una superficie app in Journey Optimizer.
  • Aggiorna lo schema per includere i campi di messaggistica push.
  • Installa e configura l’estensione tag Journey Optimizer.
  • Aggiorna l’app per registrare l’estensione tag Journey Optimizer.
  • Convalidare l'impostazione in Assurance.
  • Invia un messaggio di prova da Assurance
  • Definisci in Journey Optimizer l’evento, il percorso e l’esperienza della notifica push.
  • Invia una notifica push personalizzata dall’app.

Configurazione

TIP
Se hai già configurato l’ambiente come parte del Messaggistica in-app Journey Optimizer In questa lezione è possibile che siano già stati eseguiti alcuni dei passaggi descritti in questa sezione di configurazione.

Registra ID app con APN

I passaggi seguenti non sono specifici per Adobe Experience Cloud e sono progettati per guidarti nella configurazione di APN.

Creare una chiave privata

  1. Nel portale per sviluppatori di Apple, vai a Chiavi.

  2. Per creare una chiave, seleziona +.
    crea nuova chiave

  3. Fornisci un Nome chiave.

  4. Seleziona la Servizio di notifica push di Apple (APN) casella di controllo.

  5. Seleziona Continua.
    configura nuova chiave

  6. Rivedi la configurazione e seleziona Registrati.

  7. Scarica il file .p8 chiave privata. Viene utilizzato nella configurazione della superficie dell’app più avanti in questa lezione.

  8. Prendi nota di ID chiave. Viene utilizzato nella configurazione della superficie dell’app.

  9. Prendi nota di ID team. Viene utilizzato nella configurazione della superficie dell’app.
    Dettagli chiave

La documentazione aggiuntiva può essere trovato qui.

Aggiungere una superficie app in Raccolta dati

  1. Dalla sezione Interfaccia di Data Collection, seleziona Superfici app nel pannello a sinistra.

  2. Per creare una configurazione, seleziona Crea superficie app.
    app surface home

  3. Immetti un Nome per la configurazione, ad esempio Luma App Tutorial .

  4. Da Configurazione applicazione mobile, seleziona Apple iOS.

  5. Immetti l’ID del bundle dell’app mobile in ID app (ID bundle iOS) campo. Ad esempio: com.adobe.luma.tutorial.swiftui.

  6. Accendere il Credenziali push per aggiungere le credenziali.

  7. Trascina il file .p8 Chiave di autenticazione per notifica push Apple file.

  8. Fornisci ID chiave, stringa di 10 caratteri assegnata durante la creazione di p8 tasto auth. Si trova sotto Chiavi scheda in Certificati, identificatori e profili delle pagine del portale Apple Developer. Vedi anche Creare una chiave privata.

  9. Fornisci ID team. L’ID team è un valore che si trova nella sezione Iscrizione o nella parte superiore della pagina del portale Apple Developer. Vedi anche Creare una chiave privata.

  10. Seleziona Salva.

    configurazione della superficie dellapp

Aggiorna configurazione dello stream di dati

Per fare in modo che i dati inviati dalla tua app mobile a Edge Network vengano inoltrati a Journey Optimizer, aggiorna la configurazione di Experience Edge.

  1. Nell’interfaccia utente di Data Collection, seleziona Flussi di dati e seleziona il flusso di dati, ad esempio Luma Mobile App.

  2. Seleziona Altro per Experience Platform e seleziona Modifica Modifica dal menu di scelta rapida.

  3. In Flussi di dati > Cartella > Adobe Experience Platform schermata:

    1. Se non è già selezionato, seleziona Set di dati profilo push AJO da Set di dati profilo. Questo set di dati di profilo è necessario quando si utilizza MobileCore.setPushIdentifier Chiamata API (vedi Registra token dispositivo per notifiche push) che garantisce che l’identificatore univoco per le notifiche push (ovvero l’identificatore push) venga memorizzato come parte del profilo dell’utente.

    2. Adobe Journey Optimizer è selezionato. Consulta Impostazioni Adobe Experience Platform per ulteriori informazioni.

    3. Per salvare la configurazione dello stream di dati, seleziona Salva.

    Configurazione dello stream di dati AEP

Installare l’estensione dei tag di Journey Optimizer

Affinché l'app funzioni con Journey Optimizer, devi aggiornare la proprietà del tag.

  1. Accedi a Tag > Estensioni > Catalogo,

  2. Apri la proprietà, ad esempio Luma Mobile App Tutorial.

  3. Seleziona Catalogo.

  4. Cerca Adobe Journey Optimizer estensione.

  5. Installa l’estensione.

  6. In Installa estensione finestra di dialogo

    1. Seleziona un ambiente, ad esempio Sviluppo.

    2. Seleziona la Set di dati evento di tracciamento push AJO set di dati da Set di dati evento elenco.

    3. Seleziona Salva nella libreria e genera.

      Impostazioni estensione AJO

NOTE
Se non vedi Set di dati evento di tracciamento push AJO contatta l’assistenza clienti come opzione.

Convalida impostazione con Assurance

  1. Rivedi istruzioni di configurazione per collegare il simulatore o il dispositivo ad Assurance.

  2. Nell’interfaccia utente Assurance, seleziona Configura.
    configura clic

  3. Seleziona Più accanto a Debug push.

  4. Seleziona Salva.
    salva

  5. Seleziona Debug push dal menu di navigazione a sinistra.

  6. Seleziona la Convalida configurazione scheda.

  7. Selezionare il dispositivo dalla Client elenco.

  8. Verifica che non siano presenti errori.
    convalida

  9. Seleziona la Invia messaggio push di prova scheda.

  10. (facoltativo) Modifica dei dettagli predefiniti per Titolo e Corpo

  11. Seleziona Bug Invia notifica push di prova.

  12. Controlla la Risultati del test.

  13. Dovresti visualizzare nell’app la notifica push di prova.

    {width="300"}

Firma

La firma dell’app Luma è necessaria per inviare notifiche push e richiede un account sviluppatore Apple a pagamento.

Per aggiornare la firma per l'app:

  1. Vai all’app in Xcode.

  2. Seleziona Luma nel Navigatore progetti.

  3. Seleziona la Luma target.

  4. Seleziona la Firma e funzionalità scheda.

  5. Configura Gestisci firma automatica, Team, e Identificatore bundle, oppure utilizza i dettagli specifici del provisioning per lo sviluppo di Apple.

    note important
    IMPORTANT
    Assicurati di utilizzare un’ univoco identificatore del bundle e sostituisci il com.adobe.luma.tutorial.swiftui identificatore del bundle, in quanto ogni identificatore del bundle deve essere univoco. In genere si utilizza il formato DNS inverso per le stringhe ID bundle, come com.organization.brand.uniqueidentifier. La versione finale di questa esercitazione, ad esempio, utilizza com.adobe.luma.tutorial.swiftui.

    Funzionalità di firma Xcode {modal="regular"}

Aggiungere funzionalità di notifica push all’app

IMPORTANT
Per implementare e testare le notifiche push in un’app iOS, è necessario disporre di un pagato Account sviluppatore Apple. Se non disponi di un account sviluppatore Apple a pagamento, puoi saltare il resto di questa lezione.
  1. In Xcode, seleziona Luma dal TARGET , seleziona la Firma e funzionalità , seleziona la scheda + Funzionalità , quindi seleziona Notifiche push. In questo modo l’app può ricevere notifiche push.

  2. Quindi, devi aggiungere un’estensione di notifica all’app. Torna a General e seleziona la scheda + nella parte inferiore della sezione TARGET sezione.

  3. Viene richiesto di selezionare il modello per la nuova destinazione. Seleziona Estensione del servizio di notifica quindi seleziona Successivo.

  4. Nella finestra successiva, utilizza NotificationExtension come nome dell’estensione e fai clic su Fine pulsante.

Ora dovresti avere aggiunto all’app un’estensione per le notifiche push, simile alla schermata seguente.

Estensione notifiche push

Implementare Journey Optimizer nell’app

Come descritto nelle lezioni precedenti, l’installazione di un’estensione tag per dispositivi mobili fornisce solo la configurazione. Ora devi installare e registrare l’SDK di messaggistica. Se questi passaggi non sono chiari, rivedi Installare gli SDK sezione.

NOTE
Se hai completato il Installare gli SDK , l'SDK è già installato e puoi saltare questo passaggio.
  1. In Xcode, assicurati che Messaggistica AEP viene aggiunto all’elenco dei pacchetti in Dipendenze dai pacchetti. Consulta Gestione pacchetti Swift.

  2. Accedi a Luma > Luma > AppDelegate nel Navigatore progetti Xcode.

  3. Assicurare AEPMessaging fa parte dell’elenco delle importazioni.

    import AEPMessaging

  4. Assicurare Messaging.self fa parte dell’array di estensioni che si stanno registrando.

    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
    ]
    

Registra token dispositivo per notifiche push

  1. Aggiungi il MobileCore.setPushIdentifier API per func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) funzione.

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

    Questa funzione recupera il token del dispositivo univoco per il dispositivo su cui è installata l’app. Quindi imposta il token per la consegna delle notifiche push utilizzando la configurazione impostata e che si basa sul servizio APN (Push Notification Service) di Apple.

IMPORTANT
Il MobileCore.updateConfigurationWith(configDict: ["messaging.useSandbox": true]) determina se le notifiche push utilizzano una sandbox APNs o un server di produzione per l’invio di notifiche push. Durante il test dell’app nel simulatore o su un dispositivo, assicurati che messaging.useSandbox è impostato su true in modo da ricevere notifiche push. Quando distribuisci l’app per la produzione per testare l’utilizzo di Testflight di Apple, assicurati di impostare messaging.useSandbox a false in caso contrario, l’app di produzione non sarà in grado di ricevere notifiche push.

Creare una notifica push personalizzata

Per creare una notifica push personalizzata, devi definire un evento in Journey Optimizer che attivi un percorso che si occupi di inviare una notifica push.

Aggiornare lo schema

Stai per definire un nuovo tipo di evento, non ancora disponibile, come parte dell’elenco degli eventi definiti nello schema. Utilizza questo tipo di evento in un secondo momento quando attivi le notifiche push.

  1. Nell’interfaccia utente di Journey Optimizer, seleziona Schemi dalla barra a sinistra.

  2. Seleziona Sfoglia nella barra delle schede.

  3. Seleziona lo schema, ad esempio Luma Mobile App Event Schema per aprirlo.

  4. Nell’editor schema:

    1. Seleziona la eventType campo.

    2. In Proprietà campo , scorri verso il basso per visualizzare l’elenco dei valori possibili per il tipo di evento. Seleziona Aggiungi riga, e aggiungi application.test come VALORE e Test event for push notification come DISPLAY NAME.

    3. Seleziona Applica.

    4. Seleziona Salva.

      Aggiungi valore ai tipi di evento

Definire un evento

Gli eventi in Journey Optimizer ti consentono di attivare i percorsi in modo unitario per inviare messaggi, ad esempio notifiche push. Consulta Informazioni sugli eventi per ulteriori informazioni.

  1. Nell’interfaccia utente di Journey Optimizer, seleziona Configurazioni dalla barra a sinistra.

  2. In Dashboard , seleziona la Gestisci pulsante in Eventi affiancare.

  3. In Eventi schermata, seleziona Crea evento.

  4. In Modifica evento 1 riquadro:

    1. Invio LumaTestEvent come Nome dell’evento.

    2. Fornisci un Descrizione, ad esempio Test event to trigger push notifications in Luma app.

    3. Seleziona lo schema evento esperienza app mobile creato in precedenza in Creare uno schema XDM dal Schema elenco, ad esempio Luma Mobile App Event Schema v.1.

    4. Seleziona Modifica accanto al Campi elenco.

      Modifica passaggio evento 1

      In Campi , accertati che siano selezionati i seguenti campi (oltre ai campi predefiniti sempre selezionati (_id, id, e timestamp). Utilizzando l’elenco a discesa puoi alternare tra Selezionato, Tutti e Principale o utilizza Ricerca campo.

      • Identificato dall’applicazione (ID),
      • Tipo evento (eventType),
      • Principale (principale).

      Modifica campi evento

      Quindi seleziona Ok.

    5. Seleziona Modifica accanto al Condizione ID evento campo.

      1. In Aggiungi una condizione per l’ID evento finestra di dialogo, trascinamento della selezione Tipo evento (eventType) su a Trascina qui un elemento.

      2. Nel popover, scorri verso il basso e seleziona application.test (tipo di evento aggiunto in precedenza all'elenco dei tipi di evento come parte di Aggiornare lo schema). Quindi scorri verso l’alto e seleziona Ok.

      3. Seleziona Ok per salvare la condizione.

        Modifica condizione evento

    6. Seleziona ECID (ECID) dal Namespace elenco. Automaticamente il Identificatore profilo il campo è compilato con ID del primo elemento dell’ECID chiave per la mappa identityMap.

    7. Seleziona Salva.

      Modifica passaggio evento 2

Hai appena creato una configurazione dell’evento basata sullo schema degli eventi di esperienza per app mobile creato in precedenza come parte di questa esercitazione. Questa configurazione dell’evento filtrerà gli eventi di esperienza in arrivo utilizzando il tipo di evento specifico (application.test), in modo che solo gli eventi con quel tipo specifico, avviati dalla tua app mobile, attivino il percorso generato nel passaggio successivo. In uno scenario reale, potrebbe essere utile inviare notifiche push da un servizio esterno, tuttavia si applicano gli stessi concetti: dall’applicazione esterna invia un evento esperienza in Experienci Platform che ha campi specifici che puoi utilizzare per applicare condizioni su prima che questi eventi attivino un percorso.

Creazione del percorso

Il passaggio successivo consiste nel creare il percorso che attiva l’invio della notifica push alla ricezione dell’evento appropriato.

  1. Nell’interfaccia utente di Journey Optimizer, seleziona Percorsi dalla barra a sinistra.

  2. Seleziona Crea Percorso.

  3. In Proprietà percorso pannello:

    1. Immetti un Nome per il percorso, ad esempio Luma - Test Push Notification Journey.

    2. Immetti un Descrizione per il percorso, ad esempio Journey for test push notifications in Luma mobile app.

    3. Assicurare Consenti rientro è selezionato e impostato Periodo di attesa per rientro a 30 Secondi.

    4. Seleziona Ok.

      Proprietà del percorso

  4. Tornando all'area di lavoro del percorso, dal EVENTI, trascina Evento LumaTestEvent nell’area di lavoro in cui viene visualizzato Seleziona un evento di ingresso o un’attività di lettura del pubblico.

    • In Eventi: LumaTestEvent , immettere un Etichetta, ad esempio Luma Test Event.
  5. Dalla sezione AZIONI menu a discesa, trascinamento della selezione Push Push il Aggiungi apparendo a destra del LumaTestEvent attività. In Azioni: push riquadro:

    1. Fornisci un Etichetta, ad esempio Luma Test Push Notification, fornisci un Descrizione, ad esempio Test push notification for Luma mobile app, seleziona Transazionale dal Categoria elenca e seleziona Luma dal Superficie push.

    2. Seleziona Modifica Modifica contenuto per iniziare a modificare la notifica push effettiva.

      Proprietà push

      In Notifica push editor:

      1. Immetti un Titolo, ad esempio Luma Test Push Notification e inserisci un Corpo, ad esempio Test push notification for Luma mobile app.

      2. Facoltativamente, puoi inserire un collegamento a un’immagine (.png o .jpg) in Aggiungi file multimediali. In tal caso, l’immagine farà parte della notifica push.

      3. Per salvare e lasciare l’editor, seleziona Freccia sinistra .

        Editor push

    3. Per salvare e terminare la definizione della notifica push, seleziona Ok.

  6. Il percorso deve essere simile al seguente. Seleziona Pubblica per pubblicare e attivare il percorso.
    Percorso finito

Attivare la notifica push

Sono disponibili tutti gli ingredienti per inviare una notifica push. Ciò che rimane è come attivare questa notifica push. In sostanza, è lo stesso che hai visto prima: invia semplicemente un evento di esperienza con il payload corretto (come in Eventi).

Questa volta l’evento esperienza che stai per inviare non è costruito per creare un semplice dizionario XDM. Stai per utilizzare un’ struct rappresenta un payload di notifica push. La definizione di un tipo di dati dedicato rappresenta un modo alternativo di implementare la costruzione dei payload dell’evento esperienza nell’applicazione.

  1. Accedi a Luma > Luma > Modello > XDM > TestPushPayload nel Navigatore progetti Xcode ed esamina il codice.

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

    Il codice è una rappresentazione del seguente semplice payload che stai per inviare per attivare il percorso di notifica push di prova

    code language-json
    {
       "eventType": string,
       "application" : [
           "id": string
       ]
    }
    
  2. Accedi a Luma > Luma > Utils > MobileSDK nel Navigator del progetto Xcode e aggiungi il seguente codice a 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() ?? [:]
        )
    }
    

    Questo codice crea un testPushPayload che utilizza i parametri forniti alla funzione (applicationId e eventType) e quindi chiamate sendExperienceEvent durante la conversione del payload in un dizionario. Questo codice, questa volta, prende in considerazione anche gli aspetti asincroni della chiamata all’SDK di Adobe Experience Platform utilizzando il modello di concorrenza di Swift basato su await e async.

  3. Accedi a Luma > Luma > Views > General > ConfigView nel Navigatore progetti Xcode. Nella definizione del pulsante di notifica push, aggiungi il seguente codice per inviare il payload dell’evento di esperienza di notifica push di prova in modo da attivare il percorso ogni volta che il pulsante viene toccato.

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

Convalida tramite l’app

  1. Rigenera ed esegui l’app nel simulatore o su un dispositivo fisico da Xcode, utilizzando Play .

  2. Vai a Impostazioni scheda.

  3. Tocca Notifica push. Nell’app viene visualizzata la notifica push.

    {width="300"}

Passaggi successivi

Ora dovresti disporre di tutti gli strumenti per gestire le notifiche push nell’app. Ad esempio, puoi creare un percorso in Journey Optimizer che invia una notifica push di benvenuto quando un utente dell’app accede. Oppure una notifica push di conferma quando un utente acquista un prodotto nell’app. Oppure entra nel recinto geografico di una posizione (come vedrai nella Places lezione).

SUCCESS
Ora hai abilitato l’app per le notifiche push tramite Journey Optimizer e l’estensione Journey Optimizer per l’SDK di Experienci Platform Mobile.
Grazie per aver dedicato il tuo tempo all’apprendimento dell’SDK di Adobe Experience Platform Mobile. Se hai domande, vuoi condividere feedback generali o suggerimenti su contenuti futuri, condividili su questo Experience League post di discussione community.

Successivo: Creare e inviare messaggi in-app

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