Criar e enviar notificações por push

Saiba como criar notificações por push para aplicativos móveis com o Experience Platform Mobile SDK e o Journey Optimizer.

O Journey Optimizer permite criar jornadas e enviar mensagens para públicos-alvo direcionados. Antes de enviar notificações por push com o Journey Optimizer, você deve garantir que as configurações e integrações adequadas estejam em vigor. Para entender o fluxo de dados das Notificações por push no Journey Optimizer, consulte a documentação.

Arquitetura {modal="regular"}

NOTE
Essa lição é opcional e se aplica somente aos usuários do Journey Optimizer que desejam enviar notificações por push.

Pré-requisitos

  • O aplicativo foi criado e executado com sucesso com SDKs instalados e configurados.

  • Configure o aplicativo para Adobe Experience Platform.

  • Acesso ao Journey Optimizer e permissões suficientes. Além disso, você precisa de permissão suficiente para os seguintes recursos do Journey Optimizer.

    • Criar uma credencial de push.
    • Criar uma configuração de canal de push.
    • Criar uma jornada.
    • Criar uma mensagem.
    • Criar predefinições de mensagem.
  • Para a iOS, uma conta paga de desenvolvedor do Apple com acesso suficiente para criar certificados, identificadores e chaves.

  • Para o Android, uma conta de desenvolvedor do Google com acesso suficiente para criar certificados e chaves.

  • Dispositivo ou simulador físico iOS ou Android para testes.

Objetivos de aprendizagem

Nesta lição, você

  • Registre a ID do aplicativo com o serviço de notificação por push (APNs) da Apple.
  • Crie uma configuração de canal no Journey Optimizer.
  • Atualize seu esquema para incluir campos de mensagens de push.
  • Instale e configure a extensão de tag da Journey Optimizer.
  • Atualize seu aplicativo para registrar a extensão de tag da Journey Optimizer.
  • Validar configuração no Assurance.
  • Enviar uma mensagem de teste do Assurance
  • Defina seu próprio evento de notificação por push, jornada e experiência no Journey Optimizer.
  • Envie sua própria notificação por push de dentro do aplicativo.

Configurar

TIP
Se você já configurou o ambiente como parte da lição Mensagens no aplicativo do Journey Optimizer, talvez já tenha executado algumas das etapas desta seção de configuração.

Criar credenciais de push

Para notificações por push, primeiro é necessário registrar seu aplicativo para notificações por push.

iOS

As etapas a seguir não são específicas do Adobe Experience Cloud e foram projetadas para orientá-lo pela configuração de APNs.

  1. No portal do desenvolvedor do Apple, navegue até Chaves.

  2. Para criar uma chave, selecione +.

    criar nova chave {modal="regular"}

  3. Forneça um Nome da Chave.

  4. Selecione o Serviço de notificação por push do Apple (APNs) e selecione Configurar.

    1. Na tela Configurar Chave, selecione Sandbox e Produção no menu suspenso Ambiente.
    2. Selecione Salvar.
  5. Selecione Continuar.

    configurar nova chave {modal="regular"}

  6. Revise a configuração e selecione Registrar.

  7. Baixe a chave privada .p8. Ele é usado no próximo exercício, quando você configura a credencial de push do Journey Optimizer.

  8. Anote a Key ID. Ele é usado no próximo exercício, quando você configura a credencial de push do Journey Optimizer.

  9. Anote a ID da Equipe. Ele é usado no próximo exercício, quando você configura a credencial de push do Journey Optimizer. A ID da equipe pode ser encontrada no canto superior direito da tela, próximo ao seu nome de logon.
    Detalhes da Chave {modal="regular"}

A documentação adicional pode ser encontrada aqui.

Android

As etapas a seguir não são específicas do Adobe Experience Cloud e foram projetadas para orientá-lo pela configuração do Firebase.

  1. Acesse o console Firebase.

  2. Selecione Criar um projeto Firebase.

    1. Insira um Nome do projeto.
    2. Selecione Continuar em Criar um projeto - Vamos começar com um nome para o seu projeto. Por exemplo, Luma Android App.
    3. Desative o Gemini no Firebase e selecione Continuar em Criar um projeto - Assistência de IA para seu projeto do Firebase.
    4. Desative o Google Analytics para este projeto e selecione Continuar em Criar um projeto - Google Analytics para seu projeto Firebase.
    5. Selecione Criar Projeto.
    6. Depois que o projeto estiver pronto, selecione Continuar.
  3. De volta ao console do Firebase, verifique se o projeto está selecionado na parte superior. Por exemplo, Aplicativo Luma Android.

    Console Firebase {modal="regular"}

  4. Selecione Configuração > Configurações do Projeto.

  5. Em Configurações do projeto, selecione Adicionar aplicativo.

    1. Em Adicionar Firebase ao seu aplicativo, selecione Android como plataforma.

    2. No Adicionar o Firebase ao aplicativo do Android:

      1. Na etapa 1, Registrar aplicativo:

        1. Insira um nome de pacote do Android, semelhante ao identificador do aplicativo. Por exemplo, com.adobe.luma.tutorial.android.
        2. Digite um apelido de aplicativo opcional.
        3. Selecione Registrar aplicativo.
      2. Na etapa 2, Baixe e adicione o arquivo de configuração.

        1. Selecione Baixar Baixar google-services.json. Ao criar sua própria versão do aplicativo Android, você deve substituir o arquivo google-services.json atual no projeto de amostra do Android Studio pela versão do arquivo gerada por essa nova configuração de aplicativo.
          As outras etapas já estão disponíveis no aplicativo de amostra.

    Sua tela deve ter a aparência abaixo:

    Console Firebase {modal="regular"}

  6. Em Configurações do Projeto, selecione Contas de serviço.

  7. Selecione Gerar nova chave privada. Um arquivo luma-android-app-firebase-adminsdk-xxxx-xxxxxxxx.json é gerado. Armazene esse arquivo em um local seguro, conforme necessário, em um estágio posterior.

Para obter mais informações, consulte a documentação para desenvolvedor do Firebase.

Adicionar suas credenciais de push do aplicativo na Coleção de dados

Em seguida, você precisa adicionar suas credenciais de push do aplicativo móvel para autorizar o Adobe a enviar notificações por push em seu nome. Você pode adicionar credenciais de push na Coleção de dados ou no Journey Optimizer. Neste tutorial, a interface da Coleção de dados é usada. As credenciais de push são vinculadas a uma configuração de canal no Journey Optimizer.

  1. Em Coleção de dados, selecione Superfícies do aplicativo.

  2. Selecione Criar Superfície do Aplicativo.

  3. Na interface Criar Superfície de Aplicativo:

    1. Insira um Nome.

    2. Selecione Apple iOS se desejar enviar notificações por push para o iOS.

      1. Digite sua ID do aplicativo, por exemplo com.adobe.luma.tutorial.swiftui.
      2. Selecione a sandbox (opcional).
      3. Habilitar Credenciais por Push.
      4. Solte o arquivo de chave privada .p8 salvo em Arraste e solte seu arquivo.
      5. Insira a Key ID.
      6. Insira a Identificação da Equipe.
    3. Selecione Android se desejar enviar notificações por push para o Android.

      1. Digite sua ID do aplicativo, por exemplo com.adobe.luma.tutorial.android.
      2. Selecione a sandbox (opcional).
      3. Habilitar Credenciais por Push.
      4. Solte o arquivo salvo luma-android-app-firebase-adminsdk-xxxx-xxxxxxxx.json em Arraste e solte seu arquivo.

    Criar uma nova configuração de credencial de push no Journey Optimizer {modal="regular"}

  4. Selecione Salvar. Se todas as informações estiverem corretas, você criou credenciais de push para associar a uma configuração de canal.

Criar uma configuração de canal para push no Journey Optimizer

Depois de criar uma configuração de credencial de push, você deve criar uma configuração para poder enviar notificações por push do Journey Optimizer.

  1. Na interface do Journey Optimizer, abra o menu Canais > Configurações gerais > Configurações de canal e selecione Criar configuração de canal.

    Criar uma nova configuração de canal {modal="regular"}

  2. Insira um nome e uma descrição (opcional) para a configuração.

    note note
    NOTE
    Os nomes devem começar com uma letra (A-Z). Ele só pode conter caracteres alfanuméricos. Também é possível usar os caracteres de sublinhado _, ponto . e hífen -.
  3. Para atribuir rótulos de uso de dados personalizados ou de núcleo à configuração, você pode selecionar Gerenciar acesso. Saiba mais sobre o OLAC (Controle de Acesso em Nível de Objeto).

  4. Selecione o canal Push.

  5. Selecione Ação(ões) de marketing para associar políticas de consentimento às mensagens que usam essa configuração. Todas as políticas de consentimento associadas às ações de marketing são usadas para respeitar as preferências dos clientes. Saiba mais sobre ações de marketing.

  6. Escolha sua Plataforma. Você pode configurar o iOS e o Android para uma configuração de canal.

  7. Selecione a ID do aplicativo apropriada que você usou anteriormente para definir suas credenciais de push. Por exemplo, com.adobe.luma.tutorial.swiftui para iOS e com.adobe.luma.tutorial.android para Android. O CheckmarkCircle verde indica que credenciais de push válidas estão associadas a uma configuração de canal.

    Configuração do canal de push {modal="regular"}

  8. Selecione Enviar para salvar suas alterações.

Atualizar configuração da sequência de dados

Para garantir que os dados enviados do aplicativo móvel para a Edge Network sejam encaminhados para o Journey Optimizer, atualize a configuração do Experience Edge.

  1. Na interface da Coleção de dados, selecione Datastreams e selecione sua sequência de dados, por exemplo Luma Mobile App.

  2. Selecione Mais para Experience Platform e selecione Editar Editar no menu de contexto.

  3. Na tela Datastreams > Folder > Adobe Experience Platform:

    1. Se ainda não estiver selecionado, selecione Conjunto de Dados de Perfis por Push da AJO em Conjunto de Dados de Perfil. Este conjunto de dados de perfil é necessário ao usar a chamada de API MobileCore.setPushIdentifier (consulte Registrar token de dispositivo para notificações por push). Essa seleção também garante que o identificador exclusivo para notificações por push (também conhecido como identificador por push) seja armazenado como parte do perfil do usuário.

    2. Adobe Journey Optimizer está selecionado. Consulte configurações do Adobe Experience Platform para obter mais informações.

    3. Para salvar a configuração da sequência de dados, selecione Salvar.

    Configuração da sequência de dados do AEP {modal="regular"}

Instalar extensão de tags do Journey Optimizer

Para que seu aplicativo funcione com a Journey Optimizer, é necessário atualizar a propriedade da tag.

  1. Navegue até Marcas > Extensões > Catálogo,

  2. Abra a propriedade, por exemplo Luma Mobile App Tutorial.

  3. Selecione Catálogo.

  4. Pesquise a extensão Adobe Journey Optimizer.

  5. Instale a extensão.

  6. Na caixa de diálogo Instalar Extensão

    1. Selecione um ambiente, por exemplo Desenvolvimento.

    2. Selecione o conjunto de dados Conjunto de dados do evento de experiência de rastreamento de push do AJO na lista Conjunto de dados do evento.

    3. Selecione Salvar na Biblioteca e na Build.

      configurações de extensão do AJO {modal="regular"}

NOTE
Se você não vir o Conjunto de dados do evento de experiência de rastreamento de push do AJO como uma opção, entre em contato com o Atendimento ao cliente.

Validar configuração com o Assurance

  1. Revise a seção instruções de instalação para conectar seu simulador ou dispositivo ao Assurance.

  2. Na interface do Assurance, selecione Configurar.
    configurar clique {modal="regular"}

  3. Selecione Mais ao lado de Depuração de push.

  4. Selecione Salvar.
    salvar {modal="regular"}

  5. Selecione Depuração de push na navegação à esquerda.

  6. Selecione a guia Validar Instalação.

  7. Selecione seu dispositivo na lista Cliente.

  8. Confirme se não está recebendo erros.
    validar {modal="regular"}

  9. Selecione a guia Enviar teste por push.

  10. (opcional) Altere os detalhes padrão para Título e Corpo e certifique-se de fornecer todos os parâmetros esperados pelo seu aplicativo, como Avançado > Canal de Notificação (necessário para o Android, por exemplo LUMA_CHANNEL_ID).

  11. Selecione Bug Enviar Notificação Por Push De Teste.

  12. Verifique os Resultados de Teste.

    Testar notificações por push do Assurance {modal="regular"}

  13. Você deve ver a notificação por push de teste aparecer no aplicativo.

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

Assinatura

IMPORTANT
É necessário assinar um aplicativo iOS para enviar notificações por push no iOS e requer uma conta de desenvolvedor paga do Apple. Você não precisa assinar um aplicativo Android para enviar notificações por push.

Para atualizar a assinatura do seu aplicativo:

  1. Acesse seu aplicativo no Xcode.

  2. Selecione Luma no Navegador de projetos.

  3. Selecione o destino Luma.

  4. Selecione a guia Assinatura e Recursos.

  5. Configure o Gerenciamento automático de assinatura, a Equipe e o Identificador do Pacote ou use seus detalhes específicos de provisionamento de desenvolvimento do Apple.

    note important
    IMPORTANT
    Use um identificador de conjunto exclusivo e substitua o identificador de conjunto com.adobe.luma.tutorial.swiftui, pois cada identificador de conjunto deve ser exclusivo. Normalmente, você usa um formato de DNS reverso para cadeias de caracteres de ID de pacote, como com.organization.brand.uniqueidentifier. A versão Concluída deste tutorial, por exemplo, usa com.adobe.luma.tutorial.swiftui.

    Recursos de assinatura do Xcode {modal="regular"}

Adicionar recursos de notificação por push ao seu aplicativo

IMPORTANT
Para implementar e testar a notificação por push em um aplicativo iOS, você deve ter uma conta de desenvolvedor do Apple paga.
iOS
  1. No Xcode, selecione Luma na lista TARGETS, selecione a guia Assinatura e Recursos, selecione o botão + Recurso e selecione Notificações por push. Esta seleção permite que seu aplicativo receba notificações por push.

  2. Em seguida, adicione uma Extensão de notificação ao aplicativo. Volte para a guia General e selecione o ícone + na parte inferior da seção TARGETS.

  3. Será solicitado que você selecione o modelo para seu novo alvo. Selecione Extensão de Serviço de Notificação e Avançar.

  4. Na próxima janela, use NotificationExtension como o nome da extensão e clique no botão Concluir.

Agora você deve ter uma extensão de notificação por push adicionada ao seu aplicativo, semelhante à tela abaixo.

Extensão de notificações por push {modal="regular"}

Android

O projeto do Android Studio já está configurado para notificações por push. Não é necessário executar etapas adicionais para habilitar a versão para Android do aplicativo Luma para notificações por push. Consulte Sobre notificações para obter mais informações.

As notificações por push do Android exigem a definição de uma ID de canal de notificação, tanto no aplicativo quanto ao envio de uma notificação por push. A ID de notificação do canal usada no aplicativo Android Luma é LUMA_CHANNEL ID.

Implementar o Journey Optimizer no aplicativo

Conforme discutido nas lições anteriores, a instalação de uma extensão de tag móvel fornece apenas a configuração. Em seguida, você deve instalar e registrar o Messaging SDK. Se essas etapas não estiverem claras, reveja a seção Instalar SDKs.

NOTE
Se você concluiu a seção Instalar SDKs, o SDK já está instalado e você pode ignorar essa etapa.
iOS
  1. No Xcode, verifique se Mensagens do AEP foram adicionadas à lista de pacotes nas Dependências de Pacote. Consulte Gerenciador de pacotes do Swift.

  2. Navegue até Luma > Luma > AppDelegate no navegador de projetos Xcode.

  3. Certifique-se de que AEPMessaging faça parte da sua lista de importações.

    import AEPMessaging

  4. Verifique se Messaging.self faz parte da matriz de extensões que você está 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. No Android Studio, verifique se aepsdk-messing-android faz parte das dependências no build.gradle.kts (Módulo :app) no Android ChevronDown Gradle Scripts. Consulte Gradle.

  2. Navegue até Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > LumaApplication no navegador de projetos do Android Studio.

  3. Certifique-se de que com.adobe.marketing.mobile.Messaging faça parte da sua lista de importações.

    import import com.adobe.marketing.mobile.Messaging

  4. Verifique se Messaging.EXTENSION faz parte da matriz de extensões que você está 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
    )
    

Registrar um token de dispositivo para notificações por push

É necessário registrar o token do dispositivo para notificações por push.

iOS
  1. Navegue até Luma > Luma > AppDelegate no navegador de projetos Xcode.

  2. Adicione a API MobileCore.setPushIdentifier à função func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data).

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

    Essa função recupera o token do dispositivo exclusivo para o dispositivo no qual o aplicativo está instalado. Em seguida, define o token para delivery de notificação por push usando a configuração definida e que depende do Serviço de notificação por push (APNs) da Apple.

Android
  1. Navegue até Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > LumaApplication no navegador de projetos do Android Studio.

  2. Adicione a API MobileCore.setPushIdentifier à função override fun onCreate() em class LumaAplication : Application, em FirebaseMessaging.getInstance().token.addOnCompleteListener.

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

    Essa função recupera o token do dispositivo exclusivo para o dispositivo no qual o aplicativo está instalado. Em seguida, o define o token para delivery de notificação por push usando a configuração definida e que depende do Firebase Cloud Messaging (FCM).

IMPORTANT
Somente para iOS: o MobileCore.updateConfigurationWith(configDict: ["messaging.useSandbox": true]) determina se as notificações por push estão usando uma sandbox APNs ou um servidor de produção para enviar notificações por push. Ao testar seu aplicativo no simulador ou em um dispositivo, verifique se messaging.useSandbox está definido como true para que você receba notificações por push. Ao implantar seu aplicativo para produção a ser testada usando o Testflight da Apple, verifique se definiu messaging.useSandbox como false; caso contrário, seu aplicativo de produção não poderá receber notificações por push.


​>O Firebase Cloud Messaging (FCM) não suporta o conceito de sandboxes para notificações por push.

Criar sua própria notificação por push

Para criar sua própria notificação por push, você deve definir um evento no Journey Optimizer que acione uma jornada que controle o envio de uma notificação por push.

Atualizar seu esquema

Você definirá um novo tipo de evento, ainda não disponível como parte da lista de eventos definidos no esquema. Você pode usar esse tipo de evento posteriormente ao acionar notificações por push.

  1. Na interface do usuário do Journey Optimizer, selecione Esquemas no painel esquerdo.

  2. Selecione Procurar na barra de guias.

  3. Selecione seu esquema, por exemplo Luma Mobile App Event Schema para abri-lo.

  4. No Editor de esquemas:

    1. Selecione o campo eventType.

    2. No painel Propriedades do campo, role para baixo para ver a lista de valores possíveis para o tipo de evento. Selecione Adicionar linha e adicione application.test como VALUE e Test event for push notification como DISPLAY NAME.

    3. Selecione Aplicar.

    4. Selecione Salvar.

      Adicionar valor aos tipos de evento {modal="regular"}

Definir um evento

Os eventos no Journey Optimizer permitem acionar jornadas para enviar mensagens, por exemplo, notificações por push. Consulte Sobre eventos para obter mais informações.

  1. Na interface do usuário do Journey Optimizer, selecione Configurações no painel esquerdo.

  2. Na tela Painel, selecione o botão Gerenciar no bloco Eventos.

  3. Na tela Eventos, selecione Criar Evento.

  4. No painel Editar evento1:

    1. Digite LumaTestEvent como Nome do evento.

    2. Forneça uma Descrição, por exemplo Test event to trigger push notifications in Luma app.

    3. Selecione o esquema de evento de experiência de aplicativo móvel criado anteriormente em Criar um esquema XDM da lista Esquema, por exemplo Luma Mobile App Event Schema v.1.

    4. Selecione Editar ao lado da lista Campos.

      Editar etapa do evento 1 {modal="regular"}

      Na caixa de diálogo Campos, verifique se os campos a seguir estão selecionados (na parte superior dos campos padrão que estão sempre selecionados (_id, id e carimbo de data/hora)). Você pode alternar, usando a lista suspensa, entre Selecionado, Todos e Primário ou usar o campo Pesquisa .

      • Aplicativo Identificado (id),
      • Tipo de Evento (eventType),
      • Principal (principal).

      Editar campos de evento {modal="regular"}

      Em seguida, selecione Ok.

    5. Selecione Editar ao lado do campo Condição de ID de evento.

      1. Na caixa de diálogo Adicionar uma condição de ID de evento, arraste e solte o Tipo de Evento (eventType) em Arraste e solte um elemento aqui.

      2. No popover, role até a parte inferior e selecione application.test (que é o tipo de evento adicionado anteriormente à lista de tipos de evento como parte de Atualizar seu esquema). Em seguida, role para cima e selecione Ok.

      3. Selecione Ok para salvar a condição.

        Editar condição de evento {modal="regular"}

    6. Selecione ECID (ECID) na lista Namespace. Automaticamente, o campo Identificador de perfil é preenchido com A ID do primeiro elemento da chave ECID para o mapa identityMap.

    7. Selecione Salvar.
      Editar etapa do evento 2 {modal="regular"}

Você acabou de criar uma configuração de evento baseada no schema de eventos de experiência do aplicativo móvel criado anteriormente como parte deste tutorial. Essa configuração de evento filtrará os eventos de experiência recebidos usando seu tipo de evento específico (application.test), de modo que somente os eventos com esse tipo específico, iniciados no aplicativo móvel, acionarão a jornada que você criou na próxima etapa. Em um cenário real, talvez você queira enviar notificações por push de um serviço externo. No entanto, os mesmos conceitos se aplicam: no aplicativo externo, envie um evento de experiência para o Experience Platform que tem campos específicos que você pode usar para aplicar condições antes que esses eventos acionem uma jornada.

Criar a jornada

A próxima etapa é criar a jornada que aciona o envio da notificação por push ao receber o evento apropriado.

  1. Na interface do usuário do Journey Optimizer, selecione Jornadas no painel esquerdo.

  2. Selecione Criar Jornada.

  3. No painel Propriedades da Jornada:

    1. Digite um Nome para a jornada, por exemplo Luma - Test Push Notification Journey.

    2. Insira uma Descrição para a jornada, por exemplo Journey for test push notifications in Luma mobile app.

    3. Verifique se Permitir reentrada está selecionado e defina Período de espera de reentrada como 30 Segundos.

    4. Selecione Ok.

      Propriedades da jornada {modal="regular"}

  4. De volta à tela de jornada, a partir de EVENTS, arraste e solte seu Evento LumaTestEvent na tela, onde ele mostra Selecione um evento de entrada ou uma atividade de leitura de público.

    • No painel Events: LumaTestEvent, digite um Label, por exemplo Luma Test Event.
  5. Na lista suspensa AÇÕES, arraste e solte Push Push em Add que aparece à direita da atividade LumaTestEvent. No painel Ações: push:

    1. Forneça um Rótulo, por exemplo Luma Test Push Notification, forneça uma Descrição, por exemplo Test push notification for Luma mobile app, selecione Transacional da lista Categoria e selecione Luma da Superfície de push.

    2. Selecione Editar Editar conteúdo para começar a editar a notificação por push real.

      Propriedades de push {modal="regular"}

      No editor de Notificação por push:

      1. Insira um Título, por exemplo Luma Test Push Notification, e insira um Corpo, por exemplo Test push notification for Luma mobile app.

      2. Opcionalmente, você pode inserir um link para uma imagem (.png ou .jpg) em Adicionar mídia. Se você fizer isso, a imagem fará parte da notificação por push. Observe que, se você fizer isso, precisará cuidar do manuseio correto da imagem no aplicativo móvel.

      3. Para salvar e sair do editor, selecione Divisa esquerda .

        Editor de push {modal="regular"}

    3. Para salvar e concluir a definição de notificação por push, selecione Ok.

  6. Sua jornada deve ser parecida com a exibida abaixo. Selecione Publicar para publicar e ativar sua jornada.
    jornada concluída {modal="regular"}

Acionar a notificação por push

Você tem todos os ingredientes em vigor para enviar uma notificação por push. O que resta é como acionar essa notificação por push. Em essência, é o mesmo que você viu antes: basta enviar um evento de experiência com a carga útil adequada (como em Eventos).

Desta vez, o evento de experiência que você está prestes a enviar não foi construído criando um dicionário XDM simples. Você usará um struct que representa uma carga de notificação por push. Definir um tipo de dados dedicado é uma maneira alternativa de como implementar a construção de cargas de evento de experiência no seu aplicativo.

Esteja ciente de que, exclusivamente para fins de ilustração, você envia uma notificação por push de dentro do aplicativo. Um cenário mais típico é você enviar o evento de experiência (que aciona a jornada de notificação por push) de outro aplicativo ou serviço.

iOS
  1. Navegue até Luma > Luma > Modelo > XDM > TestPushPayload no navegador do Projeto Xcode e inspecione o código.

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

    O código é uma representação da seguinte carga simples que você enviará para acionar a jornada de notificação por push de teste.

    code language-json
    {
       "eventType": string,
       "application" : [
           "id": string
       ]
    }
    
  2. Navegue até Luma > Luma > Utils > MobileSDK no navegador do Projeto Xcode e adicione o seguinte código 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() ?? [:]
        )
    }
    

    Este código cria uma instância testPushPayload usando os parâmetros fornecidos para a função (applicationId e eventType) e, em seguida, chama sendExperienceEvent ao converter a carga em um dicionário. Esse código também leva em conta os aspectos assíncronos de chamar a SDK do Adobe Experience Platform por meio do uso do modelo de simultaneidade do Swift, com base em await e async.

  3. Navegue até Luma > Luma > Views > General > ConfigView no navegador de projetos Xcode. Na definição do Botão de notificação por push, adicione o seguinte código para enviar a carga do evento de experiência de notificação por push de teste para acionar a jornada sempre que esse botão for tocado.

    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. Navegue até Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > xdm > TestPushPayload.kt no navegador do Android Studio e inspecione o código.

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

    O código é uma representação da seguinte carga simples que você enviará para acionar a jornada de notificação por push de teste.

    code language-json
    {
       "eventType": string,
       "application" : [
           "id": string
       ]
    }
    
  2. Navegue até Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > templates > MobileSDK no navegador do Android Studio e adicione o seguinte código 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())
    

    Este código cria uma instância testPushPayload usando os parâmetros fornecidos para a função (applicationId e eventType) e, em seguida, chama sendExperienceEvent ao converter a carga em um mapa.

  3. Navegue até Android ChevronDown > app > kotlin+java > com.adobe.luma.android.tutorial > views > ConfigView.kt no navegador do Android Studio. Na definição do Botão de notificação por push, adicione o seguinte código para enviar a carga do evento de experiência de notificação por push de teste para acionar a jornada sempre que esse botão for tocado.

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

Validar usando seu aplicativo

Para validar o evento e a jornada de notificação por push:

iOS
  1. Recrie e execute o aplicativo no simulador ou em um dispositivo físico do Xcode, usando Play .

  2. Vá para a guia Configurações.

  3. Toque em Notificação por push.

    Você verá a notificação por push aparecer na parte superior do aplicativo.

    {width="300"}

Android
  1. Recrie e execute o aplicativo no simulador ou em um dispositivo físico do Android Studio, usando Play .

  2. Vá para a guia Configurações.

  3. Toque em Notificação por push.

    Você verá a notificação por push aparecer na parte superior do aplicativo.

    {width="300"}

Como lidar e exibir a notificação por push no próprio aplicativo está além do tópico desta seção. Cada plataforma implementa o manuseio e exibe a notificação de uma maneira específica. Consulte para obter mais informações:

Próximas etapas

Agora você deve ter todas as ferramentas para lidar com notificações por push no seu aplicativo. Por exemplo, você pode criar uma jornada no Journey Optimizer que envia uma notificação por push de boas-vindas quando um usuário do aplicativo faz logon. Ou uma notificação por push de confirmação quando um usuário compra um produto no aplicativo. Ou insere a geofence de um local (como você vê na lição Places).

SUCCESS
Agora você ativou o aplicativo para notificação por push usando o Journey Optimizer e a extensão do Journey Optimizer para o Experience Platform Mobile SDK.
Obrigado por investir seu tempo aprendendo sobre o Adobe Experience Platform Mobile SDK. Se tiver dúvidas, quiser compartilhar comentários gerais ou tiver sugestões sobre conteúdo futuro, compartilhe-os nesta postagem de discussão da Comunidade Experience League.

Próximo: Criar e enviar mensagens no aplicativo

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