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 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 según 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 garantizar que los datos enviados desde su aplicación móvil a Platform Edge Network se reenvíen a Journey Optimizer - Gestión de decisiones, actualice su secuencia de datos.
-
En la IU de recopilación de datos, seleccione Datastreams y seleccione la secuencia de datos, por ejemplo Luma Mobile App.
-
Seleccionar
-
En el Datastreams >
-
Para guardar la configuración de la secuencia de datos, seleccione Guardar .
Instalación de Journey Optimizer: extensión de etiquetas de Decisioning
-
Vaya a Etiquetas y busque la propiedad de etiquetas móviles y ábrala.
-
Seleccionar Extensiones.
-
Seleccionar Catálogo.
-
Busque la variable Adobe Journey Optimizer - Toma de decisiones extensión.
-
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 desde el carril izquierdo.
- Seleccionar Examinar desde la barra superior.
- Seleccione el esquema para abrirlo.
- En el editor de esquemas, seleccione
- En el Adición de campos y grupos diálogo,
proposition
, seleccione Evento de experiencia: interacciones de propuesta y seleccione Adición de 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.?
- Seleccionar 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.
- Seleccionar Configurar en el carril izquierdo y seleccione
- Seleccione Guardar.
- Seleccionar 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.
Crear 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 IU de Journey Optimizer, seleccione
-
Seleccionar Ubicaciones desde la barra superior.
-
Si no hay ninguna ubicación con el nombre JSON móvil, Móvil as Tipo de canal y JSON as Tipo de contenido , debe crear una ubicación. De lo contrario, continúe a Creación de ofertas.
Para crear la ubicación JSON de Mobile:
-
Seleccionar
- en el Detalles , introduzca
Mobile JSON
como el Nombre, seleccione Móvil de Tipo de canal y JSON de Tipo de contenido. - Seleccionar Guardar para guardar la ubicación.
- en el Detalles , introduzca
Creación de ofertas
-
En la IU de Journey Optimizer, seleccione
-
En el Ofertas pantalla, seleccione Examinar para ver la lista de ofertas.
-
Seleccionar Crear oferta.
-
En el Nueva oferta diálogo, seleccione Oferta personalizada y haga clic en Siguiente.
-
En el Detalles paso de Crear nueva oferta personalizada:
-
Introduzca una Nombre para la oferta, por ejemplo
Luma - Juno Jacket
, e introduzca un Fecha y hora de inicio y un Fecha y hora de finalización. Fuera de estas fechas, el motor de decisión no selecciona la oferta. -
Seleccione Siguiente.
-
-
En el Añadir representaciones paso de Crear nueva oferta personalizada:
-
Seleccionar
-
Seleccionar Personalizado para Contenido.
-
Seleccionar Añadir contenido. En el Añadir personalización diálogo:
-
En el caso a Modo está disponible, asegúrese de que está configurado 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 Añadir restricciones paso del Crear nueva oferta personalizada:
-
Establecer Prioridad hasta
10
. -
Alternar Incluir límite apagada.
-
Seleccione Siguiente.
-
-
En el Revisar paso de Crear nuevo elemento personalizado oferta:
- Revise la oferta y seleccione Finalizar.
- En el Guardar oferta diálogo, 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 IU de Journey Optimizer, seleccione
-
Seleccione la fila de la oferta que ha creado.
-
En el panel derecho, seleccione
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.
-
Seleccionar Crear oferta.
-
En el Nueva oferta diálogo, seleccione Oferta personalizada y seleccione Siguiente.
-
En el Detalles paso de Crear nueva oferta de reserva, introduzca un Nombre para la oferta, por ejemplo
Luma - Fallback Offer
y seleccione Siguiente. -
En el Añadir representaciones paso de Crear nueva oferta de reserva:
-
Seleccionar
-
Seleccionar Personalizado para Contenido.
-
Seleccionar Añadir contenido.
-
En el Añadir personalización , introduzca 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 Revisar paso de Crear nueva reserva oferta:
- Revise la oferta y seleccione Finalizar.
- En el Guardar oferta diálogo, 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 IU de Journey Optimizer, seleccione Ofertas desde el carril izquierdo.
-
Seleccionar Colecciones desde la barra superior.
-
Seleccionar
-
En el Nueva colección diálogo, introduzca un Nombre para su colección, por ejemplo
Luma - Mobile App Collection
, seleccione Crear una colección estática y haga clic en Siguiente. -
Entrada 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 utilizando 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 IU de Journey Optimizer, seleccione Ofertas desde el carril izquierdo.
-
Seleccionar Decisiones desde la barra superior.
-
Seleccionar
-
En el Detalles paso de Crear una nueva decisión de oferta:
- Introduzca una Nombre para la decisión, por ejemplo
Luma - Mobile App Decision
, introduzca Fecha y hora de inicio y Fecha y hora de finalización. - Seleccione Siguiente.
- Introduzca una Nombre para la decisión, por ejemplo
-
En el Agregar ámbitos de decisión paso de Crear una nueva decisión de oferta:
-
Seleccionar JSON móvil de Ubicación lista.
-
En el Criterios de evaluación mosaico, seleccione
-
En el Añadir colección de ofertas , seleccione la colección de ofertas. Por ejemplo, Luma - Mobile App Collection.
-
Seleccionar Añadir.
-
-
Asegúrese de que Ninguno está seleccionado para Idoneidad, y Prioridad de ofertas está seleccionado como Método de clasificación.
-
Seleccione Siguiente.
-
-
En el Añadir oferta de reserva paso de Crear una nueva decisión de oferta:
- Seleccione la oferta de reserva, por ejemplo, la Luma - Fallback offer.
- Seleccione Siguiente.
-
En el Resumen paso de Crear una nueva decisión de oferta:
- Seleccione Finalizar.
- En el Guardar decisión de oferta diálogo, seleccione Guardar y activar.
- En el Decisiones pestaña, 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.
-
Seleccionar Decisiones desde la barra superior.
-
Seleccione su decisión, por ejemplo Luma - Mobile App Decision.
-
En el Ámbitos de decisión mosaico, seleccione
-
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 Instalación de SDK sección.
-
En Xcode, asegúrese de que Optimización de AEP se añade 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.
-
Asegurar
AEPOptimize
forma parte de su lista de importaciones.code language-swift import AEPOptimize
-
Asegurar
Optimize.self
forma 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 el
activityId
yplacementId
valores con los detalles del ámbito de decisión copiados desde la interfaz de Journey Optimizer. -
Vaya a Luma > Luma > Utils > MobileSDK en el navegador del proyecto Xcode. Busque el
func updatePropositionOD(ecid: String, activityId: String, placementId: String, itemCount: Int) async
función. 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 mediante el ámbito de decisión copiado de Crear una decisión. La aplicación de 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 utilizar 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 válidoDecisionScope
para su implementación.
Para su información: los demás valores clave de la variabledecisions.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 > Personalización > EdgeOffersView en el navegador del proyecto Xcode. Busque el
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 laOptimize.onPropositionsUpdate
Llamada de API, 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 el
displayed()
acción en la oferta que devuelve un evento a la red perimetral que indica que se muestra la oferta.
-
Sigue en EdgeOffersView, agregue el siguiente código a
.onFirstAppear
modificador. 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) }
-
Sigue en EdgeOffersView, agregue el siguiente código a
.task
modificador. 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 mediante
-
Vaya a la pestaña Personalisation.
-
Seleccione Edge Personalisation.
-
Desplácese hasta la parte superior y verá dos ofertas aleatorias mostradas desde la colección que ha definido en la DECISION LUMA - MOBILE APP DECISION mosaico.
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 instrucciones de configuración para conectar el simulador o dispositivo a Assurance.
-
Seleccionar Configurar en el carril izquierdo y seleccione
-
Seleccione Guardar.
-
Seleccionar 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.
-
Seleccionar Solicitudes en la barra superior. Ya ve su Ofertas solicitudes.
-
Puede explorar Simular y Lista de eventos para obtener más funcionalidad, compruebe la configuración de Journey Optimizer Decision Management.
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)
- recopilar atributos de perfil en la aplicación (consulte Perfil) y utilice estos atributos de perfil para crear 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