Creación y visualización de ofertas con Administración de decisiones
Obtenga información sobre cómo mostrar ofertas de Administración de decisiones de Journey Optimizer en sus aplicaciones móviles con el SDK móvil de Experience Platform.
Administración de decisiones de Journey Optimizer le ayuda a ofrecer la mejor oferta y experiencia a sus clientes en todos los puntos de contacto y en el momento adecuado. Una vez diseñada, la audiencia debe segmentarse con ofertas personalizadas.
La administración de decisiones facilita la personalización con una biblioteca central de ofertas de marketing y un motor de decisión que aplica reglas y restricciones a perfiles enriquecidos en tiempo real creados por Adobe Experience Platform. Como resultado, le permite enviar a sus clientes la oferta correcta en el momento adecuado. Consulte Acerca de la administración de decisiones para obtener más información.
Requisitos previos
- La aplicación se ha creado y ejecutado correctamente con los SDK instalados y configurados.
- Configure la aplicación para Adobe Experience Platform.
- Acceso a Journey Optimizer - Administración de decisiones con los permisos adecuados para administrar ofertas y decisiones como se describe aquí.
Objetivos de aprendizaje
En esta lección, debe
- Actualice la configuración de Edge para Administración de decisiones.
- Actualice la propiedad de etiquetas con la extensión Journey Optimizer - Decisioning.
- Actualice el esquema para capturar eventos de propuesta.
- Valide la configuración en Assurance.
- Cree una decisión de oferta basada en ofertas de Journey Optimizer - Gestión de decisiones.
- Actualice la aplicación para registrar la extensión de Optimizer.
- Implemente ofertas de Administración de decisiones en la aplicación.
Configuración
Actualizar configuración de secuencia de datos
Para asegurarse de que los datos enviados desde la aplicación móvil al Edge Network de Platform se reenvíen a Journey Optimizer - Gestión de decisiones, actualice el flujo de datos.
-
En la IU de recopilación de datos, seleccione Datastreams y su secuencia de datos, por ejemplo Luma Mobile App.
-
Seleccione para Experience Platform y seleccione Editar del menú contextual.
-
En la pantalla de Datastreams > > Adobe Experience Platform, compruebe que Offer decisioning, Segmentación de Edge y Adobe Journey Optimizer estén seleccionados. Si vas a seguir la lección de Target, selecciona Destinos de Personalization también. Consulte Configuración de Adobe Experience Platform para obtener más información.
-
Para guardar la configuración de su secuencia de datos, seleccione Guardar .
Instalación de Journey Optimizer: extensión de etiquetas de Decisioning
-
Vaya a Etiquetas, busque la propiedad de etiquetas móviles y ábrala.
-
Seleccione Extensiones.
-
Seleccione Catálogo.
-
Busque la extensión Adobe Journey Optimizer - Decisioning.
-
Instale la extensión de. La extensión no requiere ninguna configuración adicional.
Actualizar el esquema
- Vaya a la interfaz de recopilación de datos y seleccione Esquemas en el carril izquierdo.
- Seleccione Examinar en la barra superior.
- Seleccione el esquema para abrirlo.
- En el editor de esquemas, seleccione Agregar junto a Grupos de campos.
- En el cuadro de diálogo Agregar grupos de campos,
buscar
proposition
, seleccione Evento de experiencia - Interacciones de propuesta y seleccione Agregar grupos de campos. Este grupo de campos recopila los datos de evento de experiencia relevantes para las ofertas: qué oferta se presenta, como parte de qué recopilación, decisión y otros parámetros (consulte más adelante en esta lección). Pero también ¿qué está pasando con la oferta? ¿Se muestra, interactúa con, se descarta, etc.?
- Seleccione Guardar para guardar los cambios en el esquema.
Validar la configuración en Assurance
Para validar la configuración en Assurance:
- Vaya a la interfaz de usuario de Assurance.
- Seleccione Configurar en el carril izquierdo y seleccione junto a Validar configuración debajo de ADOBE JOURNEY OPTIMIZER DECISIONING.
- Seleccione Guardar.
- Seleccione Validar configuración en el carril izquierdo. Se validan tanto la configuración del flujo de datos como la configuración del SDK en la aplicación.
Creación de ubicación
Para poder crear ofertas, debe definir cómo y dónde se pueden colocar estas ofertas en la aplicación móvil. En Administración de decisiones, defina ubicaciones para este fin y definirá una ubicación para el canal móvil que admita una carga útil JSON:
-
En la interfaz de usuario de Journey Optimizer, seleccione Componentes de ADMINISTRACIÓN DE DECISIONES en el carril izquierdo.
-
Seleccione Ubicaciones en la barra superior.
-
Si no aparece ninguna ubicación con el nombre JSON móvil, Móvil como Tipo de canal y JSON como Tipo de contenido, debe crear una ubicación. De lo contrario, continúe con Crear ofertas.
Para crear la ubicación JSON de Mobile:
-
Seleccione Crear ubicación.
- en la sección Detalles, escribe
Mobile JSON
como Nombre, selecciona Móvil de Tipo de canal y JSON de Tipo de contenido. - Seleccione Guardar para guardar la ubicación.
- en la sección Detalles, escribe
Crear ofertas
-
En la interfaz de usuario de Journey Optimizer, seleccione Ofertas de ADMINISTRACIÓN DE DECISIONES en el carril izquierdo.
-
En la pantalla Ofertas, seleccione Examinar para ver la lista de ofertas.
-
Seleccione Crear oferta.
-
En el diálogo Nueva oferta, seleccione Oferta personalizada y haga clic en Siguiente.
-
En el paso Detalles de Crear nueva oferta personalizada:
-
Escriba un Nombre para la oferta, por ejemplo
Luma - Juno Jacket
, y una fecha y hora de inicio y una fecha y hora de finalización. Fuera de estas fechas, el motor de decisión no selecciona la oferta. -
Seleccione Siguiente.
-
-
En el paso Agregar representaciones de Crear nueva oferta personalizada:
-
Seleccione Móvil de la lista Canal y seleccione JSON móvil de la lista Ubicación.
-
Seleccione Personalizado para Contenido.
-
Seleccione Agregar contenido. En el diálogo Agregar personalización:
-
Si hay un selector Mode disponible, asegúrate de que esté establecido en JSON.
-
Introduzca el siguiente 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" }
-
Seleccione Guardar.
-
-
Seleccione Siguiente.
-
-
En el paso Agregar restricciones de Crear nueva oferta personalizada:
-
Establezca Prioridad en
10
. -
Desactivar Incluir límite.
-
Seleccione Siguiente.
-
-
En el paso Revisar de Crear nueva oferta personalizada:
- Revise la oferta y, a continuación, seleccione Finalizar.
- En el diálogo Guardar oferta, seleccione Guardar y aprobar.
-
Repita los pasos del 3 al 8 para crear cuatro ofertas más con nombres y contenido diferentes. Todos los demás valores de configuración, como Fecha y hora de inicio o Prioridad, son similares a la primera oferta creada. Puede crear y editar ofertas duplicadas rápidamente.
-
En la interfaz de usuario de Journey Optimizer, seleccione Ofertas en el carril izquierdo y, a continuación, seleccione Ofertas en la barra superior.
-
Seleccione la fila de la oferta que ha creado.
-
En el panel derecho, seleccione Más acciones y en el menú contextual, seleccione Duplicar.
Utilice la tabla siguiente para definir las otras cuatro ofertas.
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-fixed Nombre de oferta Contenido de oferta en JSON Luma: confirme la botella de agua { "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: Desiree Fitness Tee { "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 de fitness diaria de 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" }
-
-
Finalmente, debe crear una oferta de reserva, que es una oferta enviada a los clientes si no cumplen los requisitos para otras ofertas.
-
Seleccione Crear oferta.
-
En el diálogo Nueva oferta, seleccione Oferta personalizada y seleccione Siguiente.
-
En el paso Detalles de Crear nueva oferta de reserva, escriba un Nombre para la oferta, por ejemplo
Luma - Fallback Offer
, y seleccione Siguiente. -
En el paso Agregar representaciones de Crear nueva oferta de reserva:
-
Seleccione Móvil de la lista Canal y seleccione JSON móvil de la lista Ubicación.
-
Seleccione Personalizado para Contenido.
-
Seleccione Agregar contenido.
-
En el cuadro de diálogo Agregar personalización, escriba el siguiente JSON y seleccione Guardar:
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" }
-
Seleccione Siguiente.
-
-
-
En el paso Revisar de Crear nueva oferta de reserva:
- Revise la oferta y, a continuación, seleccione Finalizar.
- En el diálogo Guardar oferta, seleccione Guardar y aprobar.
Ahora debería tener la siguiente lista de ofertas:
Crear una colección
Para presentar una oferta al usuario de la aplicación móvil, debe definir una colección de ofertas que consista en una o más de las ofertas creadas.
-
En la interfaz de usuario de Journey Optimizer, seleccione Ofertas en el carril izquierdo.
-
Seleccione Colecciones en la barra superior.
-
Seleccione Crear colección.
-
En el cuadro de diálogo Nueva colección, escriba un Nombre para su colección, por ejemplo
Luma - Mobile App Collection
, seleccione Crear colección estática y haga clic en Siguiente. -
En Luma - Mobile App Collection, seleccione las ofertas que desee incluir en la colección. Para este tutorial, elija las cinco ofertas que ha creado. Puede filtrar fácilmente la lista usando el campo de búsqueda, por ejemplo, escribiendo Luma.
-
Seleccione Guardar.
Crear una decisión
El paso final es definir una decisión, que es la combinación de uno o más ámbitos de decisión y la oferta de reserva.
Un ámbito de decisión es una combinación de una ubicación específica (por ejemplo, un HTML en un correo electrónico o JSON en una aplicación móvil) y uno o más criterios de evaluación.
Un criterio de evaluación es la combinación de
- una colección de ofertas,
- reglas de elegibilidad: por ejemplo, ¿la oferta solo está disponible para una audiencia específica,
- un método de clasificación: cuando hay varias ofertas disponibles para elegir, qué método se utiliza para clasificarlas (por ejemplo, por prioridad de oferta, mediante una fórmula o un modelo de IA).
Consulte Pasos clave para crear y administrar ofertas si desea comprender mejor cómo interactúan y se relacionan entre sí las ubicaciones, las reglas, las clasificaciones, las ofertas, las representaciones, las colecciones, las decisiones, etc. Esta lección se centra únicamente en el uso del resultado de una decisión, en lugar de en la flexibilidad para definir decisiones dentro de Journey Optimizer: Gestión de decisiones.
-
En la interfaz de usuario de Journey Optimizer, seleccione Ofertas en el carril izquierdo.
-
Seleccione Decisiones en la barra superior.
-
Seleccione Crear decisión.
-
En el paso Detalles de Crear una nueva decisión de oferta:
- Escriba un Nombre para la decisión, por ejemplo
Luma - Mobile App Decision
, ingrese Fecha y hora de inicio y Fecha y hora de finalización. - Seleccione Siguiente.
- Escriba un Nombre para la decisión, por ejemplo
-
En el paso Agregar ámbitos de decisión de Crear una nueva decisión de oferta:
-
Seleccione JSON móvil de la lista Ubicación.
-
En el mosaico Criterios de evaluación, seleccione Agregar.
-
En el cuadro de diálogo Agregar colección de ofertas, seleccione su colección de ofertas. Por ejemplo, Luma - Mobile App Collection.
-
Seleccione Agregar.
-
-
Asegúrese de que None esté seleccionado para Elegibilidad y que Prioridad de ofertas esté seleccionado como método de clasificación.
-
Seleccione Siguiente.
.
-
-
En el paso Agregar oferta de reserva de Crear una nueva decisión de oferta:
- Seleccione su oferta de reserva, por ejemplo Luma - Fallback offer.
- Seleccione Siguiente.
-
En el paso Resumen de Crear una nueva decisión de oferta:
- Seleccione Finalizar.
- En el diálogo Guardar decisión de oferta, seleccione Guardar y activar.
- En la ficha Decisiones, verá su decisión con el estado Activo.
La decisión de oferta, que consiste en un conjunto de ofertas, ya está lista para su uso. Para utilizar la decisión en la aplicación, debe hacer referencia en el código al ámbito de decisión.
-
En la IU de Journey Optimizer, seleccione Ofertas.
-
Seleccione Decisiones en la barra superior.
-
Seleccione su decisión, por ejemplo Luma - Mobile App Decision.
-
En el mosaico Ámbitos de decisión, seleccione Copiar.
-
En el menú contextual, seleccione ámbito de decisión.
-
Utilice cualquier editor de texto para pegar el ámbito de decisión para utilizarlo posteriormente. El ámbito de decisión tiene el siguiente formato JSON.
code language-json { "xdm:activityId":"xcore:offer-activity:xxxxxxxxxxxxxxx", "xdm:placementId":"xcore:offer-placement:xxxxxxxxxxxxxxx" }
Implementación de ofertas en la aplicación
Como se ha explicado en lecciones anteriores, la instalación de una extensión de etiqueta móvil solo proporciona la configuración. A continuación, debe instalar y registrar Optimize SDK. Si estos pasos no están claros, revise la sección Instalar SDK.
-
En Xcode, asegúrese de que AEP Optimize se agrega a la lista de paquetes en Dependencias del paquete. Consulte Administrador De Paquetes Swift.
-
Vaya a Luma > Luma > AppDelegate en el navegador del proyecto Xcode.
-
Asegúrese de que
AEPOptimize
forme parte de su lista de importaciones.code language-swift import AEPOptimize
-
Asegúrese de que
Optimize.self
forme parte de la matriz de extensiones que 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 ]
-
Vaya a Luma > Luma > Model > Data > decisiones en el navegador del proyecto Xcode. Actualice los valores
activityId
yplacementId
con los detalles del ámbito de decisión que copió de la interfaz de Journey Optimizer. -
Vaya a Luma > Luma > Utils > MobileSDK en el navegador del proyecto Xcode. Busque la función
func updatePropositionOD(ecid: String, activityId: String, placementId: String, itemCount: Int) async
. Añada el siguiente 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 función:
-
configura un diccionario XDM
xdmData
que contiene el ECID para identificar el perfil para el que debe presentar las ofertas. -
define
decisionScope
, un objeto que se basa en la decisión que ha definido en la interfaz de Journey Optimizer - Gestión de decisiones y se define usando el ámbito de decisión copiado de Crear una decisión. La aplicación Luma utiliza un archivo de configuración (decisions.json
) que recupera los parámetros de ámbito en función del siguiente formato JSON:code language-swift "scopes": [ { "name": "name of the scope", "activityId": "xcore:offer-activity:xxxxxxxxxxxxxxx", "placementId": "xcore:offer-placement:xxxxxxxxxxxxxxx", "itemCount": 2 } ]
Sin embargo, puede usar cualquier tipo de implementación para asegurarse de que las API de optimización obtienen los parámetros adecuados (
activityId
,placementId
y,itemCount
) para construir un objetoDecisionScope
válido para su implementación.
Para su información: los demás valores de clave del archivodecisions.json
son para uso futuro y no son relevantes y se utilizan actualmente en esta lección y como parte del tutorial. -
llama a dos API:
Optimize.clearCachePropositions
yOptimize.updatePropositions
. Estas funciones borran todas las propuestas almacenadas en caché y actualizan las propuestas de este perfil.
-
-
Vaya a Luma > Luma > Views > Personalization > EdgeOffersView en el navegador del proyecto Xcode. Busque la función
func onPropositionsUpdateOD(activityId: String, placementId: String, itemCount: Int) async
e inspeccione el código de esta función. La parte más importante de esta función es la llamada a la APIOptimize.onPropositionsUpdate
, que- recupera las propuestas del perfil actual en función del ámbito de decisión (que ha definido en Journey Optimizer - Gestión de decisiones),
- recupera la oferta de la propuesta,
- desajusta el contenido de la oferta para que se pueda mostrar correctamente en la aplicación, y
- déclencheur la acción
displayed()
en la oferta que devuelve un evento al Edge Network para informar que se muestra la oferta.
-
Aún en EdgeOffersView, agregue el código siguiente al modificador
.onFirstAppear
. Este código garantiza que la llamada de retorno para actualizar las ofertas se registre solo una vez.code language-swift // Invoke callback for offer updates Task { await self.onPropositionsUpdateOD(activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount) }
-
Aún en EdgeOffersView, agregue el siguiente código al modificador
.task
. Este código actualiza las ofertas cuando se actualiza la vista.code language-swift // Clear and update offers await self.updatePropositionsOD(ecid: currentEcid, activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount)
Validación mediante la aplicación
-
Vuelva a compilar y ejecute la aplicación en el simulador o en un dispositivo físico desde Xcode con .
-
Vaya a la pestaña Personalisation.
-
Seleccione Edge Personalisation.
-
Desplácese hasta la parte superior y verá dos ofertas aleatorias mostradas de la colección que ha definido en el mosaico DECISION LUMA - MOBILE APP DECISION.
{width="300"}
Las ofertas son aleatorias, ya que ha dado a todas las ofertas la misma prioridad y la clasificación de la decisión se basa en la prioridad.
Validar la implementación en Assurance
Para validar la implementación de ofertas en Assurance:
-
Revise la sección instrucciones de configuración para conectar su simulador o dispositivo a Assurance.
-
Seleccione Configurar en el carril izquierdo y seleccione junto a Revisar y simular debajo de ADOBE JOURNEY OPTIMIZER DECISIONING.
-
Seleccione Guardar.
-
Seleccione Revisar y simular en el carril izquierdo. Tanto la configuración del flujo de datos como la configuración del SDK se validan en la aplicación.
-
Seleccione Solicitudes en la barra superior. Ve sus ofertas solicitudes.
-
Puede explorar las pestañas Simular y Lista de eventos para obtener más funcionalidad y comprobar la configuración de Administración de decisiones de Journey Optimizer.
Pasos siguientes
Ahora debería tener todas las herramientas para empezar a añadir más funcionalidades a su implementación de Journey Optimizer - Gestión de decisiones. Por ejemplo:
- aplique parámetros diferentes a las ofertas (por ejemplo, prioridad o límite)
- recopile atributos de perfil en la aplicación (consulte Perfil) y utilícelos para generar audiencias. A continuación, utilice estas audiencias como parte de las reglas de idoneidad en su decisión.
- combinar más de un ámbito de decisión.
Siguiente: Realizar pruebas A/B