Creare e inviare notifiche push

Scopri come creare notifiche push per le app mobili con Experience 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 la 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.

  • Accedi a Journey Optimizer e alle 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.
  • Ha pagato l'account sviluppatore di Apple 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 della lezione Messaggistica in-app di Journey Optimizer, potresti aver già eseguito 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 Apple, passa a Chiavi.

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

  3. Fornisci un nome chiave.

  4. Selezionare la casella di controllo Servizio notifiche push Apple (APNs).

  5. Seleziona Continua.
    configura nuova chiave

  6. Rivedi la configurazione e seleziona Registra.

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

  8. Prendere nota dell'ID chiave. Viene utilizzato nella configurazione della superficie dell’app.

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

Ulteriori informazioni sono disponibili qui.

Aggiungere una superficie app in Raccolta dati

  1. Dall'interfaccia Data Collection, seleziona App Surfaces 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, selezionare Apple iOS.

  5. Immetti l'ID del bundle per app mobile nel campo ID app (ID bundle iOS). Ad esempio, com.adobe.luma.tutorial.swiftui.

  6. Attiva l'interruttore Push Credentials per aggiungere le tue credenziali.

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

  8. Specificare l'ID chiave, una stringa di 10 caratteri assegnata durante la creazione della chiave di autenticazione p8. È disponibile nella scheda Chiavi nella pagina 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 scheda Appartenenza o nella parte superiore della pagina del portale Apple Developer. Vedi anche Creare una chiave privata.

  10. Seleziona Salva.

    configurazione superficie app

Aggiorna configurazione dello stream di dati

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

  1. Nell'interfaccia utente di Data Collection, seleziona Datastreams e quindi il tuo datastream, ad esempio Luma Mobile App.

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

  3. Nella schermata Datastreams > Folder > Adobe Experience Platform:

    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 la chiamata API MobileCore.setPushIdentifier (vedi Registrare il token del dispositivo per le notifiche push) che garantisce che l'identificatore univoco per le notifiche push (ovvero l'identificatore push) sia memorizzato come parte del profilo dell'utente.

    2. Adobe Journey Optimizer è selezionato. Per ulteriori informazioni, vedere Impostazioni di Adobe Experience Platform.

    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. Passa a Tag > Estensioni > Catalogo,

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

  3. Seleziona Catalogo.

  4. Cerca l'estensione Adobe Journey Optimizer.

  5. Installa l’estensione.

  6. Nella finestra di dialogo Installa estensione

    1. Seleziona un ambiente, ad esempio Sviluppo.

    2. Seleziona il set di dati dell'evento di tracciamento push di AJO dall'elenco Set di dati evento.

    3. Selezionare Salva nella libreria e genera.

      Impostazioni estensione AJO

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

Convalida impostazione con Assurance

  1. Consulta la sezione istruzioni di installazione per collegare il simulatore o il dispositivo ad Assurance.

  2. Nell'interfaccia utente Assurance, selezionare Configura.
    configura clic

  3. Seleziona Plus accanto a Debug push.

  4. Seleziona Salva.
    salva

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

  6. Selezionare la scheda Convalida installazione.

  7. Selezionare il dispositivo dall'elenco Client.

  8. Verifica che non siano presenti errori.
    convalida

  9. Selezionare la scheda Invia push test.

  10. (facoltativo) Modificare i dettagli predefiniti per Titolo e Corpo

  11. Seleziona Bug Invia notifica push di prova.

  12. Controlla i 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. Selezionare Luma nel Navigatore progetti.

  3. Selezionare la destinazione Luma.

  4. Selezionare la scheda Firma e funzionalità.

  5. Configura Firma gestione automatica, Team e Identificatore bundle oppure utilizza i dettagli specifici del provisioning di sviluppo Apple.

    note important
    IMPORTANT
    Assicurati di utilizzare un identificatore bundle univoco e sostituisci l'identificatore bundle com.adobe.luma.tutorial.swiftui, in quanto ogni identificatore bundle deve essere univoco. In genere si utilizza un 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, devi disporre di un account sviluppatore Apple a pagamento. Se non disponi di un account sviluppatore Apple a pagamento, puoi saltare il resto di questa lezione.
  1. In Xcode, seleziona Luma dall'elenco TARGET, seleziona la scheda Firma e funzionalità, seleziona il pulsante + 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 alla scheda General e seleziona l'icona + nella parte inferiore della sezione TARGET.

  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 sul pulsante Fine.

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, controlla la sezione Installare gli SDK.

NOTE
Se hai completato la sezione Installare gli SDK, l'SDK è già installato e puoi saltare questo passaggio.
  1. In Xcode, accertati che Messaggistica AEP sia aggiunto all'elenco dei pacchetti nelle dipendenze dei pacchetti. Consulta Gestione pacchetti Swift.

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

  3. Assicurarsi che AEPMessaging faccia parte dell'elenco delle importazioni.

    import AEPMessaging

  4. Assicurarsi che Messaging.self faccia parte dell'array di estensioni che si sta 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. Aggiungere l'API MobileCore.setPushIdentifier alla funzione func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data).

    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
MobileCore.updateConfigurationWith(configDict: ["messaging.useSandbox": true]) determina se per l'invio di notifiche push viene utilizzata una sandbox APNs o un server di produzione. Quando esegui il test dell'app nel simulatore o su un dispositivo, assicurati che messaging.useSandbox sia impostato su true in modo da ricevere le notifiche push. Quando distribuisci l'app per la produzione per testare l'utilizzo di Testflight di Apple, assicurati di impostare messaging.useSandbox su 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. Selezionare lo schema, ad esempio Luma Mobile App Event Schema per aprirlo.

  4. Nell’editor schema:

    1. Selezionare il campo eventType.

    2. Nel riquadro Proprietà campo, scorri verso il basso per visualizzare l'elenco dei valori possibili per il tipo di evento. Selezionare Aggiungi riga e aggiungere 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. Per ulteriori informazioni, vedere Informazioni sugli eventi.

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

  2. Nella schermata Dashboard, seleziona il pulsante Gestisci nel riquadro Eventi.

  3. Nella schermata Eventi, seleziona Crea evento.

  4. Nel riquadro Modifica evento evento1:

    1. Immetti LumaTestEvent come Nome dell'evento.

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

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

    4. Seleziona Modifica accanto all'elenco Campi.

      Modifica passaggio evento 1

      Nella finestra di dialogo Campi, accertati che siano selezionati i seguenti campi (oltre ai campi predefiniti sempre selezionati (_id, id e timestamp). Utilizzando l'elenco a discesa, puoi scegliere tra Selezionati, Tutti e Primari oppure utilizzare il campo Ricerca .

      • Applicazione identificata (ID),
      • Tipo evento (eventType),
      • Principale (primario).

      Modifica campi evento

      Quindi selezionare Ok.

    5. Seleziona Modifica accanto al campo Condizione ID evento.

      1. Nella finestra di dialogo Aggiungi una condizione ID evento, trascina Tipo evento (eventType) su Trascina e rilascia qui un elemento.

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

      3. Selezionare Ok per salvare la condizione.

        Modifica condizione evento

    6. Selezionare ECID (ECID) dall'elenco Spazio dei nomi. Il campo Identificatore profilo viene compilato automaticamente 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 di evento filtrerà gli eventi di esperienza in arrivo utilizzando il tipo di evento specifico (application.test), pertanto solo gli eventi con quel tipo specifico, avviati dall'app mobile, attiveranno 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 Experience 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. Selezionare Crea Percorso.

  3. Nel pannello Proprietà Percorso:

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

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

    3. Verificare che Consenti rientro sia selezionato e impostare Periodo di attesa rientro su 30 Secondi.

    4. Selezionare Ok.

      Proprietà del percorso

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

    • Nel pannello Events: LumaTestEvent, immetti un Label, ad esempio Luma Test Event.
  5. Dal menu a discesa ACTIONS, trascina e rilascia Push Push sulla Add visualizzata a destra dell'attività LumaTestEvent. Nel riquadro Azioni: Push:

    1. Fornisci un Etichetta, ad esempio Luma Test Push Notification, fornisci una Descrizione, ad esempio Test push notification for Luma mobile app, seleziona Transazionale dall'elenco Categoria e seleziona Luma dalla Superficie push.

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

      Proprietà push

      Nell'editor Notifica push:

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

      2. Se necessario, è possibile immettere 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, selezionare Freccia sinistra .

        Editor push

    3. Per salvare e completare la definizione della notifica push, selezionare Ok.

  6. Il percorso deve essere simile al seguente. Seleziona Publish per pubblicare e attivare il percorso.
    percorso completato

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 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 che 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. Passa a Luma > Luma > Modello > XDM > TestPushPayload nel Navigatore progetti Xcode e controlla 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. Passa a Luma > Luma > Utils > MobileSDK nel navigatore progetti 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'istanza testPushPayload utilizzando i parametri forniti alla funzione (applicationId e eventType), quindi chiama 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. Passa 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. Passa alla scheda Impostazioni.

  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 verrà visualizzato nella lezione Places).

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

Successivo: Creare e inviare messaggi in-app

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