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

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. È inoltre necessaria un'autorizzazione sufficiente per le seguenti funzioni di Journey Optimizer.

    • Crea una credenziale push.
    • Crea una configurazione di canale push.
    • Creazione di un percorso.
    • Crea un messaggio.
    • Creare predefiniti per messaggi.
  • Per iOS, un account sviluppatore Apple a pagamento con accesso sufficiente per creare certificati, identificatori e chiavi.

  • Per Android, un account sviluppatore Google con accesso sufficiente per creare certificati e chiavi.

  • Dispositivo o simulatore fisico iOS o Android da testare.

Obiettivi di apprendimento

In questa lezione, potrai

  • Registra l’ID app con il servizio di notifica push di Apple (APN).
  • Crea una configurazione di canale 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.
  • Convalida la configurazione in Assurance.
  • Inviare 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.

Creare le credenziali push

Per le notifiche push, devi innanzitutto registrare l’app per le notifiche push.

iOS

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

  1. Nel portale per sviluppatori Apple, passa a Chiavi.

  2. Per creare una chiave, selezionare +.

    crea nuova chiave {modal="regular"}

  3. Fornisci un nome chiave.

  4. Seleziona Servizio di notifica push di Apple (APNs), quindi seleziona Configura.

    1. Nella schermata Configura chiave, seleziona Sandbox e produzione dal menu a discesa Ambiente.
    2. Seleziona Salva.
  5. Seleziona Continua.

    configura nuova chiave {modal="regular"}

  6. Rivedi la configurazione e seleziona Registra.

  7. Scarica la chiave privata .p8. Viene utilizzato nell’esercizio successivo quando configuri le credenziali push di Journey Optimizer.

  8. Prendere nota dell'ID chiave. Viene utilizzato nell’esercizio successivo quando configuri le credenziali push di Journey Optimizer.

  9. Prendi nota dell'ID team. Viene utilizzato nell’esercizio successivo quando configuri le credenziali push di Journey Optimizer. L’ID del team si trova in alto a destra, accanto al nome di accesso.
    Dettagli chiave {modal="regular"}

Ulteriori informazioni sono disponibili qui.

Android

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

  1. Accedi alla console Firebase.

  2. Selezionare Crea un progetto Firebase.

    1. Immetti un nome progetto.
    2. Seleziona Continua in Crea un progetto - Iniziamo con un nome per il progetto. Ad esempio, Luma Android App.
    3. Disabilita Gemini in Firebase e seleziona Continua in Crea un progetto - Assistenza IA per il progetto Firebase.
    4. Disabilita Google Analytics per questo progetto e seleziona Continua in Crea un progetto - Google Analytics per il tuo progetto Firebase.
    5. Selezionare Crea progetto.
    6. Quando il progetto è pronto, selezionare Continua.
  3. Nella console Firebase, accertati che il progetto sia selezionato in alto. Ad esempio, App Android Luma.

    Console Firebase {modal="regular"}

  4. Selezionare Impostazione > Impostazioni progetto.

  5. In Impostazioni progetto, selezionare Aggiungi app.

    1. In Aggiungi Firebase all'app, seleziona Android come piattaforma.

    2. In Aggiungi Firebase all'app Android:

      1. Nel passaggio 1, Registra app:

        1. Immetti un nome per il pacchetto Android, simile all'identificatore dell'app. Ad esempio, com.adobe.luma.tutorial.android.
        2. Immettere un nome alternativo app facoltativo.
        3. Seleziona Registra app.
      2. Nel passaggio 2, Scaricare e aggiungere il file di configurazione.

        1. Seleziona Scarica Scarica google-services.json. Quando crei la tua versione dell'app Android, devi sostituire il file google-services.json corrente nel progetto Android Studio di esempio con la versione del file generato da questa nuova configurazione dell'app.
          Gli altri passaggi vengono gestiti già nell’app di esempio.

    Lo schermo dovrebbe essere simile al seguente:

    Console Firebase {modal="regular"}

  6. In Impostazioni progetto, selezionare Account servizio.

  7. Seleziona Genera nuova chiave privata. È stato generato un file luma-android-app-firebase-adminsdk-xxxx-xxxxxxxx.json. Archivia il file in un luogo sicuro, poiché è necessario in una fase successiva.

Per ulteriori informazioni, consulta la documentazione per gli sviluppatori di Firebase.

Aggiungere le credenziali push dell’app in Raccolta dati

Ora devi aggiungere le credenziali push dell’app mobile per autorizzare Adobe a inviare notifiche push per tuo conto. Puoi aggiungere credenziali push in Data Collection o in Journey Optimizer. In questa esercitazione viene utilizzata l’interfaccia di Data Collection. Le credenziali push vengono quindi collegate a una configurazione di canale in Journey Optimizer.

  1. In Raccolta dati selezionare Superfici app.

  2. Seleziona Crea superficie app.

  3. Nell'interfaccia Crea superficie app:

    1. Immetti un Nome.

    2. Seleziona Apple iOS se desideri inviare notifiche push per iOS.

      1. Immetti il tuo ID app, ad esempio com.adobe.luma.tutorial.swiftui.
      2. Seleziona la sandbox (facoltativo).
      3. Abilita Credenziali push.
      4. Rilascia il file della chiave privata .p8 salvato in Trascina il file.
      5. Immetti ID chiave.
      6. Immetti ID team.
    3. Seleziona Android se desideri inviare notifiche push per Android.

      1. Immetti il tuo ID app, ad esempio com.adobe.luma.tutorial.android.
      2. Seleziona la sandbox (facoltativo).
      3. Abilita Credenziali push.
      4. Rilascia il file luma-android-app-firebase-adminsdk-xxxx-xxxxxxxx.json salvato in Trascina il file.

    Crea una nuova configurazione delle credenziali push in Journey Optimizer {modal="regular"}

  4. Seleziona Salva. Se tutte le informazioni sono corrette, hai creato le credenziali push da associare a una configurazione di canale.

Creare una configurazione di canale per il push in Journey Optimizer

Dopo aver creato una configurazione delle credenziali push, devi crearne una per poter inviare notifiche push da Journey Optimizer.

  1. Nell'interfaccia di Journey Optimizer aprire il menu Canali > Impostazioni generali > Configurazioni canale e quindi selezionare Crea configurazione canale.

    Crea una nuova configurazione canale {modal="regular"}

  2. Immetti un nome e una descrizione (facoltativa) per la configurazione.

    note note
    NOTE
    I nomi devono iniziare con una lettera (A-Z). Può contenere solo caratteri alfanumerici. È inoltre possibile utilizzare i caratteri trattino basso _, punto . e trattino -.
  3. Per assegnare etichette di utilizzo dei dati personalizzate o di base alla configurazione, è possibile selezionare Gestisci accesso. Ulteriori informazioni sul controllo degli accessi a livello di oggetto.

  4. Seleziona il canale Push.

  5. Seleziona Azioni di marketing per associare i criteri di consenso ai messaggi utilizzando questa configurazione. Tutti i criteri di consenso associati alle azioni di marketing vengono utilizzati per rispettare le preferenze dei tuoi clienti. Ulteriori informazioni sulle azioni di marketing.

  6. Scegli la tua piattaforma. È possibile configurare sia iOS che Android per una configurazione del canale.

  7. Seleziona il ID app appropriato utilizzato in precedenza per definire le credenziali push. com.adobe.luma.tutorial.swiftui per iOS e com.adobe.luma.tutorial.android per Android. Il segno di spuntaCerchio verde indica che le credenziali push valide sono associate a una configurazione di canale.

    Configurazione canale push {modal="regular"}

  8. Seleziona Invia per salvare le modifiche.

Aggiorna configurazione dello stream di dati

Per fare in modo che i dati inviati dalla tua app mobile ad 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 profilo è necessario quando si utilizza la chiamata API MobileCore.setPushIdentifier (vedi Registrare il token del dispositivo per le notifiche push). Questa selezione assicura anche 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 di AEP {modal="regular"}

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

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

Convalidare la configurazione con Assurance

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

  2. Nell'interfaccia utente di Assurance, seleziona Configura.
    configura clic {modal="regular"}

  3. Seleziona Plus accanto a Debug push.

  4. Seleziona Salva.
    salva {modal="regular"}

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

  9. Selezionare la scheda Invia push test.

  10. (facoltativo) Modifica i dettagli predefiniti per Titolo e Corpo e assicurati di fornire tutti i parametri previsti dall'app, ad esempio Avanzate > Canale di notifica (obbligatorio per Android, ad esempio LUMA_CHANNEL_ID).

  11. Seleziona Bug Invia notifica push di prova.

  12. Controlla i risultati del test.

    Verifica notifiche push da Assurance {modal="regular"}

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

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

Firma

IMPORTANT
La firma di un'app iOS è necessaria per inviare notifiche push su iOS e richiede un account sviluppatore Apple a pagamento. Non è necessario firmare un’app Android per inviare notifiche push.

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.
iOS
  1. In Xcode, seleziona Luma dall'elenco TARGET, seleziona la scheda Firma e funzionalità, seleziona il pulsante + funzionalità, quindi seleziona Notifiche push. Questa selezione consente all’app di 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 {modal="regular"}

Android

Il progetto Android Studio è già configurato per le notifiche push. Non è necessario eseguire ulteriori passaggi per abilitare la versione Android dell’app Luma per le notifiche push. Per ulteriori informazioni, vedere Informazioni sulle notifiche.

Le notifiche push in Android richiedono la definizione di un ID canale di notifica, sia nell’app che durante l’invio di una notifica push. L'ID di notifica del canale utilizzato nell'app Android Luma è LUMA_CHANNEL ID.

Implementare Journey Optimizer nell’app

Come descritto nelle lezioni precedenti, l’installazione di un’estensione tag per dispositivi mobili fornisce solo la configurazione. A questo punto è necessario installare e registrare il SDK di messaggistica. Se questi passaggi non sono chiari, controlla la sezione Installare gli SDK.

NOTE
Se hai completato la sezione Installare gli SDK, SDK è già installato e puoi saltare questo passaggio.
iOS
  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
    ]
    
Android
  1. In Android Studio, assicurati che aepsdk-messaing-android faccia parte delle dipendenze in build.gradle.kts (Modulo :app) in Android ChevronDown Script Gradle. Vedi Gradle.

  2. Passa a Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > LumaApplication nel Navigatore progetti di Android Studio.

  3. Assicurarsi che com.adobe.marketing.mobile.Messaging faccia parte dell'elenco delle importazioni.

    import import com.adobe.marketing.mobile.Messaging

  4. Assicurarsi che Messaging.EXTENSION faccia parte dell'array di estensioni che si sta registrando.

    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
    )
    

Registrare un token dispositivo per le notifiche push

È necessario registrare il token del dispositivo per le notifiche push.

iOS
  1. Passa a Luma > Luma > AppDelegate nel Navigatore progetti Xcode.

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

Android
  1. Passa a Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > LumaApplication nel Navigatore progetti di Android Studio.

  2. Aggiungere l'API MobileCore.setPushIdentifier alla funzione override fun onCreate() in class LumaAplication : Application, in FirebaseMessaging.getInstance().token.addOnCompleteListener.

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

    Questa funzione recupera il token del dispositivo univoco per il dispositivo su cui è installata l’app. Imposta quindi il token per il recapito delle notifiche push utilizzando la configurazione configurata e basata su Firebase Cloud Messaging (FCM).

IMPORTANT
Solo per iOS: 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. 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, altrimenti l'app di produzione non sarà in grado di ricevere notifiche push.


​>Firebase Cloud Messaging (FCM) non supporta not il concetto di sandbox per le 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 {modal="regular"}

Definire un evento

Gli eventi in Journey Optimizer ti consentono di attivare percorsi per l’invio di 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 {modal="regular"}

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

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

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

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, potresti voler inviare notifiche push da un servizio esterno. Tuttavia, si applicano gli stessi concetti: dall’applicazione esterna invia un evento esperienza in Experience Platform che dispone di campi specifici su cui puoi applicare condizioni 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 {modal="regular"}

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

      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 fa parte della notifica push. Se lo fai, devi preoccuparti di gestire correttamente l’immagine nell’app mobile.

      3. Per salvare e lasciare l'editor, selezionare Freccia sinistra .

        Editor push {modal="regular"}

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

  6. Il percorso deve essere simile al seguente. Seleziona Pubblica per pubblicare e attivare il percorso.
    percorso completato {modal="regular"}

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.

Tieni presente che solo a scopo illustrativo invii una notifica push dall’app. Uno scenario più tipico è l’invio dell’evento esperienza (che attiva il percorso di notifica push) da un’altra applicazione o servizio.

iOS
  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 prende in considerazione anche gli aspetti asincroni della chiamata a Adobe Experience Platform SDK tramite l'utilizzo del 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)
    }
    
Android
  1. Passa a Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > xdm > TestPushPayload.kt nel navigatore di Android Studio e ispeziona il codice.

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

    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 Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > models > MobileSDK nel navigatore di Android Studio e aggiungi il seguente codice a func sendTestPushEvent(applicationId: String, eventType: String):

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

    Questo codice crea un'istanza testPushPayload utilizzando i parametri forniti alla funzione (applicationId e eventType), quindi chiama sendExperienceEvent durante la conversione del payload in una mappa.

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

Convalida tramite l’app

Per convalidare l’evento e il percorso di notifica push:

iOS
  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.

    La notifica push viene visualizzata sopra l’app.

    {width="300"}

Android
  1. Rigenera ed esegui l'app nel simulatore o su un dispositivo fisico da Android Studio, utilizzando Play .

  2. Passa alla scheda Impostazioni.

  3. Tocca Notifica push.

    La notifica push viene visualizzata sopra l’app.

    {width="300"}

Oltre all’argomento di questa sezione, puoi vedere come gestire e visualizzare la notifica push nell’app stessa. Ogni piattaforma implementa la gestione e visualizza le notifiche in un modo specifico. Per ulteriori informazioni, consulta:

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 immette il recinto geografico di una posizione (come illustrato nella lezione Places).

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

Successivo: Creare e inviare messaggi in-app

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