Criar e exibir ofertas com o Gerenciamento de decisão

Saiba como mostrar ofertas da Gestão de decisões da Journey Optimizer em seus aplicativos móveis com o SDK móvel do Experience Platform.

O Gerenciamento de decisão da Journey Optimizer ajuda você a fornecer a melhor oferta e experiência aos seus clientes em todos os pontos de contato na hora certa. Depois de projetado, direcione o público com ofertas personalizadas.

Arquitetura

A gestão de decisões facilita a personalização com uma biblioteca central de ofertas de marketing e um mecanismo de decisão que aplica regras e restrições a perfis em tempo real avançados criados pelo Adobe Experience Platform. Como resultado, ele permite enviar aos clientes a oferta certa na hora certa. Consulte Sobre o Gerenciamento de Decisão para obter mais informações.

NOTE
Esta lição é opcional e se aplica somente aos usuários do Journey Optimizer que desejam usar a funcionalidade de Gestão de decisões para exibir ofertas em um aplicativo móvel.

Pré-requisitos

  • O aplicativo com SDKs instalados e configurados foi criado e executado com sucesso.
  • Configure o aplicativo para Adobe Experience Platform.
  • Acesso ao Journey Optimizer - Gerenciamento de decisões com as permissões adequadas para gerenciar ofertas e decisões conforme descrito aqui.

Objetivos de aprendizagem

Nesta lição, você

  • Atualize sua configuração do Edge para a Gestão de decisões.
  • Atualize sua propriedade de tag com a extensão Journey Optimizer - Decisioning.
  • Atualize seu esquema para capturar eventos de apresentação.
  • Valide a configuração no Assurance.
  • Crie uma decisão de oferta com base em ofertas no Journey Optimizer - Gestão de decisões.
  • Atualize seu aplicativo para registrar a extensão Otimizer.
  • Implemente ofertas da Gestão de decisões no seu aplicativo.

Configurar

TIP
Se você já configurou o ambiente como parte da lição Configurar testes A/B com o Target, talvez já tenha executado algumas das etapas desta seção de configuração.

Atualizar configuração da sequência de dados

Para garantir que os dados enviados do aplicativo móvel para o Platform Edge Network sejam encaminhados para o Journey Optimizer - Gerenciamento de decisão, atualize o fluxo de dados.

  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, verifique se o Offer Decisioning, o Edge Segmentation e o Adobe Journey Optimizer estão selecionados. Se você for fazer a lição Direcionamento, selecione Personalization Destinations também. Consulte configurações do Adobe Experience Platform para obter mais informações.

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

    Configuração de sequência de dados da AEP

Instalar a extensão Journey Optimizer - Decisioning tags

  1. Navegue até Tags, localize sua propriedade de tag móvel e abra a propriedade.

  2. Selecione Extensões.

  3. Selecione Catálogo.

  4. Procure a extensão Adobe Journey Optimizer - Decisão.

  5. Instale a extensão. A extensão não requer configuração adicional.

    Adicionar extensão de decisão

Atualizar seu esquema

  1. Navegue até a interface Coleção de dados e selecione Esquemas no painel esquerdo.
  2. Selecione Procurar na barra superior.
  3. Selecione seu esquema para abri-lo.
  4. No editor de esquema, selecione Adicionar Adicionar ao lado de Grupos de campos.
  5. Na caixa de diálogo Adicionar grupos de campos, Pesquisar procure proposition, selecione Evento de Experiência - Interações de Apresentação e selecione Adicionar grupos de campos. Este grupo de campos coleta os dados do evento de experiência relevantes para ofertas: qual oferta é apresentada, como parte de qual coleção, decisão e outros parâmetros (consulte mais adiante nesta lição). Mas também o que está acontecendo com a oferta? Ele é exibido, interage com, rejeitado e assim por diante.
    Proposta
  6. Selecione Salvar para salvar as alterações no esquema.

Validar configuração no Assurance

Para validar sua configuração no Assurance:

  1. Vá para a interface do usuário do Assurance.
  2. Selecione Configurar no painel esquerdo e selecione Adicionar ao lado de Validar Instalação abaixo de ADOBE JOURNEY OPTIMIZER DECISIONING.
  3. Selecione Salvar.
  4. Selecione Validar instalação no painel esquerdo. A configuração da sequência de dados e a configuração do SDK em seu aplicativo são validadas.
    Validação da AJO Decisioning

Criar posicionamento

Antes de realmente criar ofertas, é necessário definir como e onde essas ofertas podem ser colocadas no aplicativo móvel. Na Gestão de decisões, você define disposições para essa finalidade e uma disposição para o canal móvel que oferece suporte a uma carga JSON:

  1. Na interface do usuário do Journey Optimizer, selecione Componentes Componentes em GERENCIAMENTO DE DECISÃO no painel esquerdo.

  2. Selecione Disposições na barra superior.

  3. Se nenhum posicionamento com o nome JSON Móvel, Móvel como Tipo de canal e JSON como Tipo de conteúdo for listado, você deverá criar um posicionamento. Caso contrário, continue em Criar ofertas.

Para criar a disposição JSON para dispositivos móveis:

  1. Selecione Adicionar Criar posicionamento.

    1. na seção Detalhes, digite Mobile JSON como o Nome, selecione Celular de Tipo de canal e JSON de Tipo de conteúdo.
    2. Selecione Salvar para salvar o posicionamento.

    Criar posicionamento

Criar ofertas

  1. Na interface do usuário do Journey Optimizer, selecione Ofertas Ofertas de GERENCIAMENTO DE DECISÃO no painel esquerdo.

  2. Na tela Ofertas, selecione Procurar para ver a lista de ofertas.

  3. Selecione Criar oferta.

  4. Na caixa de diálogo Nova oferta, selecione Oferta personalizada e clique em Avançar.

  5. Na etapa Detalhes de Criar nova oferta personalizada:

    1. Insira um Nome para a oferta, por exemplo Luma - Juno Jacket, e insira uma Data e hora de início e uma Data e hora de término. Fora dessas datas, a oferta não será selecionada pelo mecanismo de decisão.

    2. Selecione Próximo.

      Ofertas - Detalhes

  6. Na etapa Adicionar representações de Criar nova oferta personalizada:

    1. Selecione Móvel Móvel da lista Canal e selecione Móvel JSON da lista Posicionamento.

    2. Selecione Personalizado para Conteúdo.

    3. Selecione Adicionar conteúdo. Na caixa de diálogo Adicionar personalização:

      1. Caso haja um seletor de Modo disponível, verifique se ele está definido como JSON.

      2. Insira o seguinte JSON:

        code language-json
        {
            "title": "Juno Jacket",
            "text": "On colder-than-comfortable mornings, you'll love warming up in the Juno All-Ways Performance Jacket, designed to compete with wind and chill. Built-in Cocona™ technology aids evaporation, while a special zip placket and stand-up collar keep your neck protected.",
            "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/women/tops/jackets/wj06-purple_main.jpg"
        }
        
      3. Selecione Salvar.

        Ofertas - Conteúdo personalizado

    4. Selecione Próximo.

      Representações de oferta

  7. Na etapa Adicionar restrições da Criar nova oferta personalizada:

    1. Definir Prioridade a 10.

    2. Ativar/desativar Incluir limite.

    3. Selecione Próximo.

      Ofertas - Restrições

  8. Na etapa Revisão de Criar nova oferta personalizada:

    1. Revise a oferta e selecione Concluir.
    2. Na caixa de diálogo Salvar oferta, selecione Salvar e aprovar.
  9. Repita as etapas de 3 a 8 para criar mais quatro ofertas com nomes e conteúdo diferentes. Todos os outros valores de configuração, por exemplo, Data e hora inicial ou Prioridade, são semelhantes à primeira oferta criada. Você pode criar e editar ofertas rapidamente.

    1. Na interface do usuário do Journey Optimizer, selecione Ofertas Ofertas no painel esquerdo e, em seguida, selecione Ofertas na barra superior.

    2. Selecione a linha da oferta que você criou.

    3. No painel direito, selecione Mais Mais ações e, no menu de contexto, selecione Duplicar Duplicar.

      Use a tabela abaixo para definir as quatro outras ofertas.

      table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-fixed
      Nome da oferta Conteúdo de oferta em JSON
      Luma - Afirmar Garrafa de Água { "title": "Affirm Water Bottle", "text": "You'll stay hydrated with ease with the Affirm Water Bottle by your side or in hand. Measurements on the outside help you keep track of how much you're drinking, while the screw-top lid prevents spills. A metal carabiner clip allows you to attach it to the outside of a backpack or bag for easy access.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/gear/fitness-equipment/ug06-lb-0.jpg" }
      Luma - Tee fitness desejado { "title": "Desiree Fitness Tee", "text": "When you're too far to turn back, thank yourself for choosing the Desiree Fitness Tee. Its ultra-lightweight, ultra-breathable fabric wicks sweat away from your body and helps keeps you cool for the distance.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/women/tops/tees/ws05-yellow_main.jpg" }
      Luma - Adrienne Trek Jacket { "title": "Adrienne Trek Jacket", "text": "You're ready for a cross-country jog or a coffee on the patio in the Adrienne Trek Jacket. Its style is unique with stand collar and drawstrings, and it fits like a jacket should.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/women/tops/jackets/wj08-gray_main.jpg" }
      Luma - Camiseta fitness diário do Aero { "title": "Aero Daily Fitness Tee", "text": "Need an everyday action tee that helps keep you dry? The Aero Daily Fitness Tee is made of 100% polyester wicking knit that funnels moisture away from your skin. Don't be fooled by its classic style; this tee hides premium performance technology beneath its unassuming look.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/men/tops/tees/ms01-black_main.jpg" }
  10. Como etapa final, você deve criar uma oferta substituta, que é uma oferta enviada aos clientes se eles não estiverem qualificados para outras ofertas.

    1. Selecione Criar oferta.

    2. Na caixa de diálogo Nova oferta, selecione Oferta personalizada e selecione Avançar.

    3. Na etapa Detalhes de Criar nova oferta substituta, digite um Nome para a oferta, por exemplo Luma - Fallback Offer, e selecione Próximo.

    4. Na etapa Adicionar representações de Criar nova oferta substituta:

      1. Selecione Móvel Móvel da lista Canal e selecione Móvel JSON da lista Posicionamento.

      2. Selecione Personalizado para Conteúdo.

      3. Selecione Adicionar conteúdo.

      4. Na caixa de diálogo Adicionar personalização, insira o seguinte JSON e selecione Salvar:

        code language-json
        {
           "title": "Luma",
           "text": "Your store for sports wear and equipment.",
           "image": "https://luma.enablementadobe.com/content/dam/luma/en/logos/Luma_Logo.png"
        }
        
      5. Selecione Próximo.

  11. Na etapa Revisão da oferta Criar novo fallback:

    1. Revise a oferta e selecione Concluir.
    2. Na caixa de diálogo Salvar oferta, selecione Salvar e aprovar.

Agora você deve ter a seguinte lista de ofertas:
Lista de ofertas

Criar uma coleção

Para apresentar uma oferta ao usuário do aplicativo móvel, você deve definir uma coleção de ofertas que consiste em uma ou mais ofertas criadas.

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

  2. Selecione Coleções na barra superior.

  3. Selecione Adicionar Criar coleção.

  4. Na caixa de diálogo Nova coleção, digite um Nome para sua coleção, por exemplo Luma - Mobile App Collection, selecione Criar coleção estática e clique em Avançar.

  5. Em Luma - Mobile App Collection, selecione as ofertas que deseja incluir na coleção. Para este tutorial, escolha as cinco ofertas que você criou. Filtre facilmente a lista usando o campo de pesquisa, por exemplo, digitando Luma.

  6. Selecione Salvar.

    Ofertas - Coleção

Criar uma decisão

A etapa final é definir uma decisão, que é a combinação de um ou mais escopos de decisão e sua oferta substituta.

Um escopo de decisão é uma combinação de um posicionamento específico (por exemplo, HTML em um email ou JSON em um aplicativo móvel) e um ou mais critérios de avaliação.

Um critério de avaliação é a combinação de

  • uma coleção de ofertas,
  • regras de elegibilidade: por exemplo, a oferta está disponível somente para um público-alvo específico?
  • um método de classificação: quando várias ofertas estão disponíveis para seleção, qual método você usa para classificá-las (por exemplo, por prioridade de oferta, usando uma fórmula ou um modelo de IA).

Consulte Etapas principais para criar e gerenciar ofertas se quiser entender melhor como as disposições, regras, classificações, ofertas, representações, coleções, decisões e assim por diante interagem e se relacionam entre si. Esta lição está focada apenas no uso do resultado de uma decisão em vez da flexibilidade na definição de decisões no Journey Optimizer - Gestão de decisões.

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

  2. Selecione Decisões na barra superior.

  3. Selecione Adicionar Criar decisão.

  4. Na etapa Detalhes de Criar uma nova decisão de oferta:

    1. Insira um Nome para a decisão, por exemplo Luma - Mobile App Decision, insira Data e hora de início e Data e hora de término.
    2. Selecione Próximo.
  5. Na etapa Adicionar escopos de decisão de Criar uma nova decisão de oferta:

    1. Selecione JSON Móvel da lista Posicionamento.

    2. No bloco Critérios de Avaliação, selecione Adicionar Adicionar.

      1. Na caixa de diálogo Adicionar coleção de ofertas, selecione sua coleção de ofertas. Por exemplo, Luma - Mobile App Collection.

      2. Selecione Adicionar.

        Decisão - Selecionar coleção

    3. Verifique se Nenhum está selecionado para Qualificação e se A prioridade da oferta está selecionada como o Método de classificação.

    4. Selecione Próximo.

      Escopos de decisão .

  6. Na etapa Adicionar oferta substituta de Criar uma nova decisão de oferta:

    1. Selecione sua oferta substituta, por exemplo, o Luma - Fallback offer.
    2. Selecione Próximo.
  7. Na etapa Resumo de Criar uma nova decisão de oferta:

    1. Selecione Concluir.
    2. Na caixa de diálogo Salvar decisão de oferta, selecione Salvar e ativar.
    3. Na guia Decisões, você verá sua decisão com o status Live.

Sua decisão de oferta, que consiste em um conjunto de ofertas, agora está pronta para uso. Para usar a decisão em seu aplicativo, você precisa consultar no código o escopo da decisão.

  1. Na interface do Journey Optimizer, selecione Ofertas.

  2. Selecione Decisões na barra superior.

  3. Selecione sua decisão, por exemplo Luma - Mobile App Decision.

  4. No bloco Escopos de decisão, selecione Cópia Cópia.

  5. No menu contextual, selecione Escopo da decisão.
    Copiar escopo da decisão

  6. Use qualquer editor de texto para colar o escopo de decisão para uso posterior. O escopo de decisão tem o seguinte formato JSON.

    code language-json
    {
        "xdm:activityId":"xcore:offer-activity:xxxxxxxxxxxxxxx",
        "xdm:placementId":"xcore:offer-placement:xxxxxxxxxxxxxxx"
    }
    

Implementar ofertas 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, instale e registre o SDK Otimize. 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.
  1. No Xcode, verifique se Otimização da AEP foi adicionado à 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 AEPOptimize faça parte da sua lista de importações.

    code language-swift
    import AEPOptimize
    
  4. Verifique se Optimize.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
    ]
    
  5. Navegue até Luma > Luma > Model > Data > decisões no navegador do Projeto Xcode. Atualize os valores activityId e placementId com os detalhes do escopo de decisão copiados da interface do Journey Optimizer.

  6. Navegue até Luma > Luma > Utils > MobileSDK no navegador do Projeto Xcode. Localize a função func updatePropositionOD(ecid: String, activityId: String, placementId: String, itemCount: Int) async. Adicione o seguinte código:

    code language-swift
    // set up the XDM dictionary, define decision scope and call update proposition API
    Task {
       let ecid = ["ECID" : ["id" : ecid, "primary" : true] as [String : Any]]
       let identityMap = ["identityMap" : ecid]
       let xdmData = ["xdm" : identityMap]
       let decisionScope = DecisionScope(activityId: activityId, placementId: placementId, itemCount: UInt(itemCount))
       Optimize.clearCachedPropositions()
       Optimize.updatePropositions(for: [decisionScope], withXdm: xdmData)
    }
    

    Esta função:

    • O configura um dicionário XDM xdmData, contendo a ECID para identificar o perfil para o qual você deve apresentar as ofertas.

    • O define decisionScope, um objeto baseado na decisão que você definiu na interface Journey Optimizer - Gestão de Decisões e que é definido com o uso do escopo de decisão copiado de Criar uma decisão. O aplicativo Luma usa um arquivo de configuração (decisions.json) que recupera os parâmetros de escopo, com base no seguinte formato JSON:

      code language-swift
      "scopes": [
          {
              "name": "name of the scope",
              "activityId": "xcore:offer-activity:xxxxxxxxxxxxxxx",
              "placementId": "xcore:offer-placement:xxxxxxxxxxxxxxx",
              "itemCount": 2
          }
      ]
      

      No entanto, você pode usar qualquer tipo de implementação para garantir que as APIs de Otimização obtenham os parâmetros adequados (activityId, placementId e itemCount), para construir um objeto DecisionScope válido para sua implementação.
      Para sua informação: os outros valores-chave no arquivo decisions.json são para uso futuro e não são relevantes e usados atualmente nesta lição e como parte do tutorial.

    • chama duas APIs: Optimize.clearCachePropositions e Optimize.updatePropositions. Essas funções limpam todas as propostas em cache e atualizam as propostas para esse perfil.

  7. Navegue até Luma > Luma > Views > Personalization > EdgeOffersView no navegador de projetos Xcode. Localize a função func onPropositionsUpdateOD(activityId: String, placementId: String, itemCount: Int) async e inspecione o código dessa função. A parte mais importante desta função é a chamada à API Optimize.onPropositionsUpdate, que

    • recupera as apresentações do perfil atual com base no escopo de decisão (que você definiu na Journey Optimizer - Gestão de decisões),
    • recupera a oferta da proposta,
    • desenvolve o conteúdo da oferta para que ela possa ser exibida corretamente no aplicativo e
    • aciona a ação displayed() na oferta que envia um evento de volta para o Edge Network informando que a oferta é exibida.
  8. Ainda em EdgeOffersView, adicione o seguinte código ao modificador .onFirstAppear. Esse código garante que a chamada de retorno para atualizar as ofertas seja registrada apenas uma vez.

    code language-swift
    // Invoke callback for offer updates
    Task {
        await self.onPropositionsUpdateOD(activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount)
    }
    
  9. Ainda em EdgeOffersView, adicione o seguinte código ao modificador .task. Esse código atualiza as ofertas quando a exibição é atualizada.

    code language-swift
    // Clear and update offers
    await self.updatePropositionsOD(ecid: currentEcid, activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount)
    

Validar usando o aplicativo

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

  2. Vá até a guia Personalisation.

  3. Selecione Edge Personalisation.

  4. Role para cima e veja duas ofertas aleatórias exibidas da coleção que você definiu no bloco DECISION LUMA - MOBILE APP DECISION.

    {width="300"}

    As ofertas são aleatórias, pois você deu a todas as ofertas a mesma prioridade e a classificação da decisão é baseada na prioridade.

Validar implementação no Assurance

Para validar a implementação das ofertas no Assurance:

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

  2. Selecione Configurar no painel esquerdo e selecione Adicionar ao lado de Revisar e simular abaixo de ADOBE JOURNEY OPTIMIZER DECISIONING.

  3. Selecione Salvar.

  4. Selecione Revisar e simular no painel esquerdo. A configuração da sequência de dados é validada e a configuração do SDK em seu aplicativo.

  5. Selecione Solicitações na barra superior. Você vê suas solicitações de Ofertas.
    Validação da AJO Decisioning

  6. Você pode explorar as guias Simular e Lista de Eventos para obter mais funcionalidades, verificando sua configuração do Journey Optimizer Decision Management.

Próximas etapas

Agora você deve ter todas as ferramentas para começar a adicionar mais funcionalidade à implementação do Journey Optimizer - Gestão de decisões. Por exemplo:

  • aplicar parâmetros diferentes às suas ofertas (por exemplo, prioridade, limite)
  • colete atributos de perfil no aplicativo (consulte Perfil) e use esses atributos de perfil para compilar públicos. Em seguida, use esses públicos-alvo como parte das regras de qualificação na sua decisão.
  • combinar mais de um escopo de decisão.
SUCCESS
Você ativou o aplicativo para exibir ofertas usando a extensão Journey Optimizer - Decisioning para o SDK móvel do Experience Platform.
Obrigado por investir seu tempo aprendendo sobre o Adobe Experience Platform Mobile SDK. Se você 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: Realizar testes A/B

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