Escenarios comunes de solución de problemas de actividades Live troubleshoot-mobile-live

En esta página: Diagnostique sistemáticamente por qué sus actividades Live no aparecen, actualizan o finalizan para que pueda resolver los problemas de token de perfil, configuración de campaña, carga útil y entrega en los casos de uso unitario y de difusión.

Encuentre su escenario find-your-scenario

Síntoma o tarea
Empiece aquí
La actividad en directo no se inicia
Escenario 1: perfil y tokens, luego Escenario 2: campaña y carga útil
Las comprobaciones de configuración se superan, pero el envío falla
Escenario 3: errores de entrega
La actividad unitaria de iOS en directo comienza, pero no se actualiza ni finaliza
Escenario 4: actualizar sincronización de token
La actividad de Android Live se inicia, pero no se actualiza ni finaliza
Fichas de Android en Scenario 2 y Scenario 3
Comprobar el estado de procesamiento de una solicitud unitaria
Escenario 5: API de estado de ejecución
La difusión no se inicia, actualiza ni finaliza
Escenario 6: configuración de difusión
Algunos perfiles de audiencia no reciben la difusión
Escenario 7: pertenencia a audiencias y actualización
Investigar problemas de producción o envío histórico
Consultas de conjuntos de datos

Escenario 1: problemas de perfil o token push scenario-1-profile-or-push-token-issues

[Se aplica a los casos de uso unitario y de difusión]{class="badge informative"}

La API de déclencheur acepta la solicitud, pero la actividad en directo no aparece. Causas frecuentes:

  • El perfil no existe en Adobe Experience Platform.
  • El token push necesario no se ha sincronizado con el perfil: un token push de actividad en directo en iOS o el token de registro FCM estándar en Android.
  • Los detalles del token push contienen una configuración incorrecta, como un appId, una plataforma o un iOS attributeType incorrectos.

Para difusiones: Muestre varios perfiles de audiencia para comprobar el registro del token. En iOS, las comprobaciones de tokens de perfil se aplican a eventos de inicio remotos, no a eventos de actualización o finalización basados en canales. En Android, compruebe también la suscripción al tema FCM del dispositivo con Scenario 6.

Compruebe que el perfil existe

Para iOS y Android, comience con esta comprobación. En el caso de las difusiones, repita este proceso para varios perfiles de audiencia.

  1. En Journey Optimizer, vaya a Cliente > Perfiles.
  2. Busque utilizando el área de nombres y el valor de identidad de su solicitud de API.
  3. Si no se encuentra el perfil, o bien no existe o la ingesta no ha finalizado. Cree el perfil o espere a que se complete la ingesta antes de activar la actividad Live.
  4. Si se encuentra el perfil, continúe con las comprobaciones de tokens para la plataforma.

Compruebe el token push

iOS

Comprobaciones previas

  • Requisitos de la aplicación iOS:

    • iOS 16.1+
    • NSSupportsLiveActivities se estableció en YES en Info.plist
    • ActivityAttributes se implementó correctamente.
  • Integración de SDK móvil:

    • Adobe Experience Platform Mobile SDK (mensajería SDK 5.11.0+)
    • Messaging.registerLiveActivities implementado y llamado con el token de inserción de actividad en vivo.

Pasos de depuración

accordion
​1. Compruebe si el token push de la actividad en directo está sincronizado

Puede utilizar Assurance para verificar el registro de tokens:

  1. En Assurance, en la lista Eventos, filtre o busque los eventos eventType = "liveActivity.pushToStart".
  2. Seleccione Event e inspeccione la carga útil.
  3. Compruebe que los valores token, appId y attributeType estén presentes.
  4. Confirme que el evento se ha enviado correctamente.

También puede registrar el perfil de Adobe Experience Platform.

  1. En Adobe Experience Platform, desde tu perfil, accede a la pestaña Eventos.
  2. Busque liveActivity.pushToStart eventos.
  3. Compruebe la marca de tiempo del evento y la carga útil.

Si no se encuentran eventos, la aplicación no está llamando a Messaging.registerLiveActivities correctamente. Corrija la integración de SDK.

accordion
​2. Validar detalles de token en el perfil
  1. Desde tu perfil, accede a la pestaña Atributos.

  2. Busque liveActivityPushNotificationDetails.

  3. Compruebe la configuración del token:

    code language-json
    {
       "liveActivityPushNotificationDetails": [
       {
          "appId": "com.example.myapp",
          "token": "abc123def456...",
          "platform": "apns",
          "denylisted": false,
          "attributeType": "OrderTrackingAttributes",
          "identity": {}
       }
       ]
    }
    

Validar cada campo:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
Campo Requisito Problema común
appId Debe coincidir exactamente con el identificador del paquete iOS Disparidad entre los ID del paquete dev/prod
attributeType Debe coincidir exactamente con el nombre de estructura de Swift ActivityAttributes (con distinción de mayúsculas y minúsculas) Error al escribir o nombre de estructura incorrecto
platform Debe ser "apns" o "apnsSandbox" Valor de plataforma incorrecto
denylisted Debe ser false Token marcado como no válido o exclusión del usuario
token Token push de APN válido Token caducado o aplicación reinstalada

Si algún campo no es correcto, actualice la aplicación móvil, regístrese de nuevo con Messaging.registerLiveActivities, espere de 5 a 10 minutos y vuelva a realizar la comprobación.

Si falta liveActivityPushNotificationDetails, el token aún no se ha sincronizado. Espere de 5 a 10 minutos después de ver el evento liveActivity.pushToStart en Assurance y vuelva a comprobarlo.

Android

Comprobaciones previas

  • Requisitos de la aplicación Android:

    • Ejecute la aplicación en Android 16.1 (nivel de API 36.1) o posterior, con targetSdk establecido en 36.
    • Asegúrese de que los permisos de POST_NOTIFICATIONS y POST_PROMOTED_NOTIFICATIONS estén concedidos.
    • Cree el canal de notificación utilizado por la actividad en directo.
  • Integración de SDK móvil:

    • Integre Adobe Experience Platform Mobile SDK con la extensión Mensajería y Actividades activas.
    • Reenviar el token de registro de FCM a SDK mediante MobileCore.setPushIdentifier(token).

Pasos de depuración

accordion
​1. Verificar registro de token de FCM

Android utiliza el token de registro de FCM estándar para las actividades activas. No hay ningún evento liveActivity.pushToStart ni token push de actividad en directo independiente.

  1. En Assurance, abra la lista Events y busque el evento de registro de token de inserción estándar.
  2. Seleccione el evento e inspeccione su carga útil para comprobar que el token de registro de FCM está presente.
  3. Confirme que el evento de registro se ha enviado correctamente.
  4. En Adobe Experience Platform, abra la ficha Atributos del perfil y confirme que el token se encuentra en pushNotificationDetails, tal como se describe en el paso 2.

Si falta el evento de registro o el token de perfil, compruebe que la aplicación reenvía el token de registro de FCM a SDK mediante MobileCore.setPushIdentifier(token).

accordion
​2. Validar detalles de token en el perfil
  1. Desde su perfil, acceda a la ficha Atributos.

  2. Busque pushNotificationDetails. Android usa este objeto en lugar de liveActivityPushNotificationDetails y no requiere un campo attributeType.

  3. Compruebe que la configuración del token sigue esta estructura:

    code language-json
    {
       "pushNotificationDetails": [
          {
             "appId": "com.adobe.marketing.mobile.liveupdatessample",
             "token": "fcm-registration-token...",
             "platform": "fcm",
             "denylisted": false,
             "identity": {}
          }
       ]
    }
    

Validar cada campo:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3
Campo Requisito Problema común
appId Debe coincidir exactamente con el nombre del paquete de Android Discrepancia entre los nombres de paquetes de desarrollo y producción
platform Debe ser "fcm" Valor de plataforma incorrecto
denylisted Debe ser false Token marcado como no válido o exclusión del usuario
token Debe coincidir con el token de registro FCM actual del dispositivo Token caducado o aplicación reinstalada

Si algún campo es incorrecto, corrija la configuración de la aplicación según sea necesario, reenvíe el token de FCM de nuevo con MobileCore.setPushIdentifier(token), espere 5-10 minutos y vuelva a comprobar el perfil.

Si falta pushNotificationDetails, el token aún no se ha sincronizado. Después de confirmar el registro del token en Assurance, espere de 5 a 10 minutos y vuelva a comprobar el perfil.

Escenario 2: problemas de configuración y carga útil de la campaña scenario-2-campaign-configuration-and-payload-issues

[Se aplica a los casos de uso unitario y de difusión]{class="badge informative"}

El perfil existe y tiene tokens válidos, pero la actividad Live no aparece. Posibles causas:

  • Configuración de superficie o canal incorrecta.
  • Estructura de carga útil de API incorrecta.
  • Los campos de carga útil no coinciden con la implementación de la aplicación: iOS ActivityAttributes o la asignación del proveedor de estilos de Android.
  • Antiguo timestamp (crítico para la actualización/finalización).

Para difusiones: La campaña debe ser Marketing activado por API, no Transaccional. La carga útil usa audience en lugar de recipients. Consulte Escenario 6 para cargas de difusión específicas de la plataforma y documentación de Adobe Developer para obtener especificaciones completas de la API.

iOS

Comprobaciones previas

  • Confirme que la campaña es Transaccional activada por API (unitaria) o Marketing activada por API (difusión). Mantenga High Throughput deshabilitado porque no es compatible con las actividades en directo.
  • Compruebe que el perfil existe y que sus tokens se sincronizan usando las comprobaciones de iOS en Escenario 1.

Pasos de depuración

accordion
​1. Verifique la configuración de campaña
  1. En Journey Optimizer, abra su Campaña y vaya al menú Acciones.
  2. Comprueba tu configuración de actividad en vivo. La superficie debe configurarse para la aplicación de iOS con un identificador de paquete que coincida con el appId en liveActivityPushNotificationDetails de su perfil. Por ejemplo, si su perfil tiene "appId": "com.example.myapp", la superficie debe segmentar esa misma aplicación.
  3. Compruebe que el tipo de actividad de la configuración de su campaña coincida exactamente con el attributeType del liveActivityPushNotificationDetails de su perfil. Por ejemplo, si su perfil tiene "attributeType": "FoodDeliveryLiveActivityAttributes", la campaña debe especificar este mismo tipo de actividad.
accordion
​2. Validar estructura de carga útil de API

Al ejecutar la campaña a través de la API, asegúrese de que la carga útil sigue la estructura correcta.

Carga útil unitaria:

code language-json
{
   "campaignId": "your-campaign-id",
   "recipients": [{
      "type": "aep",
      "userId": "user@example.com",
      "namespace": "email",
      "context": {
         "requestPayload": {
            "aps": {
               "content-available": 1,
               "timestamp": 1756984054,
               "event": "start",
               "attributes-type": "FoodDeliveryLiveActivityAttributes",
               "content-state": { ... },
               "attributes": { ... }
            }
         }
      }
   }]
}

Problemas comunes de carga útil:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3
Campo Requisito Problema común
attributes-type Debe coincidir con el tipo de actividad de campaña y el perfil attributeType Discordancia o error tipográfico
campaignId Debe coincidir con el ID de campaña activado ID de campaña incorrecto o no presente
content-available Debe ser 1 Falta un valor o es incorrecto
event Debe ser "start", "update" o "end" Tipo de evento no válido
timestamp Siempre debe ser la hora actual/más reciente de Unix epoch en segundos Usar marca de tiempo antigua/en caché
userId / namespace Debe coincidir con un perfil existente en AEP El identificador de perfil no coincide

Crítico: usar siempre una nueva marca de tiempo

  • Establezca timestamp al tiempo actual de Unix epoch (en segundos) en el momento en que realice cada llamada de API. Esto se aplica a todos los tipos de eventos: start, update y end.
  • Una marca de tiempo antigua o reutilizada hace que las solicitudes de actualización y finalización fallen o que el dispositivo la ignore. no reutiliza las marcas de tiempo de solicitudes anteriores o valores almacenados en caché.

Campos opcionales (todos los tipos de eventos):

  • requestId: Identificador único para seguimiento (recomendado).
  • alert: objeto con title y body para la notificación. Útil para llamar la atención sobre las actualizaciones.

Acerca de dismissal-date:

  • Opcional. Tiempo de Unix epoch en segundos. Relevante solo cuando event es "end".
  • Especifica cuándo se elimina automáticamente la actividad en directo del dispositivo. Si lo omite, la actividad Live permanece visible hasta que el usuario la descarta.
  • Debe ser una marca de tiempo futura posterior a timestamp.
accordion
​3. Alinear la carga útil con la implementación de iOS

Asegúrese de que la carga útil de la API coincida con la implementación de la aplicación de iOS ActivityAttributes. El protocolo LiveActivityAttributes de Adobe SDK amplía iOS ActivityAttributes y requiere una propiedad liveActivityData.

Validar la asignación:

  1. Su ActivityAttributes debe implementar el protocolo LiveActivityAttributes de Adobe. Ejemplo:

    code language-swift
    struct FoodDeliveryLiveActivityAttributes: LiveActivityAttributes {
       public struct ContentState: Codable, Hashable {
          var orderStatus: String
          var estimatedDeliveryTime: String
       }
    
       // Adobe SDK requirement
       var liveActivityData: LiveActivityData
    
       // Your custom attributes
       var restaurantName: String
    }
    

    Tenga en cuenta que Adobe SDK requiere el campo liveActivityData y que debe incluirse en todas las implementaciones.

  2. La carga útil de la API debe reflejar la estructura de iOS:

    code language-json
    {
       "aps": {
          "event": "start",
          "timestamp": 1756984054,
          "attributes-type": "FoodDeliveryLiveActivityAttributes",
          "content-state": {
             "orderStatus": "Preparing",
             "estimatedDeliveryTime": "20 mins"
          },
          "attributes": {
             "liveActivityData": {
                "liveActivityID": "order-12345"
             },
             "restaurantName": "Pizza Palace"
          }
       }
    }
    

Lista de comprobación de validación:

  • Incluir todos los ContentState campos en content-state (requerido para todos los tipos de eventos).

  • Incluir todos los campos de LiveActivityAttributes en attributes (solo eventos de inicio), incluidos:

    • liveActivityData (obligatorio; normalmente contiene liveActivityID o un identificador similar)
    • Todos los campos personalizados de la estructura
  • Haga coincidir los nombres de los campos exactamente (con distinción de mayúsculas y minúsculas).

  • Hacer coincidir tipos de datos (String, Int, Bool, objetos anidados).

  • Conservar la estructura de objetos anidados.

Errores comunes:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3
Problema Impacto Corregir
Faltan liveActivityData en los atributos La actividad en directo no se inicia Incluir siempre el objeto liveActivityData en el evento de inicio
Falta un campo obligatorio en el evento de inicio La actividad en directo no se inicia Añadir todos los campos de la estructura de iOS
Nombre de campo incorrecto (error tipográfico/caso) Campo omitido o error de análisis Igualar exactamente los nombres de los campos de iOS
Tipo de datos incorrecto Error de análisis Hacer coincidir tipos de datos de iOS
Falta un objeto anidado Datos incompletos Incluir todas las estructuras anidadas
Incluyendo attributes en actualización/fin Innecesario, pero generalmente ignorado Incluir solo attributes en el evento de inicio
Marca de tiempo antigua al actualizar/finalizar El dispositivo ignora la actualización o el final Generar siempre nueva marca de tiempo

Para obtener más ejemplos, consulte Crear página de actividad en vivo.

accordion
​4. Prueba con Assurance

Compruebe la ejecución de la API y la entrega de carga útil mediante Assurance:

  1. Abra la sesión de Assurance.

  2. Ejecute la llamada de la API para almacenar en déclencheur la actividad en directo.

  3. En Lista de eventos, compruebe lo siguiente:

    • Eventos de ejecución de Campaign.
    • Eventos de entrega de actividad en directo.
    • Eventos de error de validación de carga útil.
  4. Revise las cargas útiles de evento para verificar:

    • La carga útil se ha procesado correctamente.
    • No se han producido errores de validación.
    • La actividad en directo se ha enviado a APNS.
Android

Comprobaciones previas

  • Confirme que la campaña es Transaccional activada por API (unitaria) o Marketing activada por API (difusión). Mantenga High Throughput deshabilitado porque no es compatible con las actividades en directo.
  • Compruebe que el perfil existe y que su token de FCM se ha sincronizado mediante las comprobaciones de Android en Escenario 1.

Pasos de depuración

accordion
​1. Verifique la configuración de campaña
  1. En Journey Optimizer, abra su Campaña y vaya al menú Acciones.
  2. Comprueba tu configuración de actividad en vivo. La superficie debe dirigirse a la aplicación de Android con un nombre de paquete que coincida con el appId en el pushNotificationDetails del perfil.
  3. Compruebe que la superficie utiliza las credenciales de FCM para esa aplicación. La plataforma de token del perfil debe ser "fcm".
  4. Confirme que notification_channel_id en la carga útil coincide con un canal de notificación creado por la aplicación.
accordion
​2. Validar estructura de carga útil de API

Coloque los campos de actividad de Android Live en context.requestPayload.fcm.

Carga de inicio unitario:

code language-json
{
   "requestId": "your-request-id",
   "campaignId": "your-campaign-id",
   "recipients": [
      {
         "type": "aep",
         "userId": "your-device-ECID",
         "namespace": "ECID",
         "context": {
            "requestPayload": {
               "fcm": {
                  "notification_id": "flight-DL-321",
                  "timestamp": 1756984054,
                  "notification_channel_id": "live_updates_channel",
                  "priority": "PRIORITY_HIGH",
                  "event_type": "start",
                  "title": "Flight DL-321",
                  "body": "Boarding starts shortly",
                  "critical_text": "25 min",
                  "content_state": {
                     "custom_key_template_type": "progress",
                     "custom_key_journey_start": "DEL",
                     "custom_key_journey_progress": 10,
                     "custom_key_journey_end": "MUM"
                  }
               }
            }
         }
      }
   ]
}

Reemplace la marca de tiempo de ejemplo por la hora actual de Unix epoch en segundos. Las claves content_state son ejemplos y deben coincidir con el proveedor de estilos de la aplicación.

Para las difusiones, use una campaña de marketing activada por API con audience.id y coloque el objeto fcm en context.requestPayload. Establezca topic_name en el tema de FCM al que se han suscrito los dispositivos de destino. Mantenga el tema y notification_id sin cambios en los eventos de inicio, actualización y finalización. Consulte los ejemplos de carga útil de difusión de Android.

Problemas comunes de carga útil:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3
Campo Requisito Problema común
campaignId Debe coincidir con el ID de campaña activado ID de campaña incorrecto o no presente
notification_id Mantenga el mismo valor para los eventos de inicio, actualización y finalización de la actividad en directo El ID cambiado se dirige a una notificación diferente
notification_channel_id Debe coincidir con un canal creado por la aplicación de Android Canal ausente o no coincidente
event_type Debe ser "start", "update" o "end" Evento de ciclo vital no válido
timestamp Segundos de epoch; deben aumentar estrictamente para cada evento dirigido a la misma instancia o tema de difusión Se omiten las marcas de tiempo antiguas o iguales
content_state Utilice los campos admitidos por el proveedor de estilos de la aplicación Claves no admitidas o tipos de valor incorrectos
userId / namespace Para la entrega unitaria, utilice el ECID del dispositivo con el área de nombres ECID El identificador de perfil no coincide
topic_name Para las difusiones, utilice el tema suscrito a por los dispositivos de destino Tema o dispositivos incorrectos no suscritos

Comprobaciones de ciclo vital y marca de tiempo:

  • Use un(a) nuevo(a) timestamp en segundos epoch para cada evento de inicio, actualización y finalización. Asegúrese de que sea mayor que el valor anterior para el mismo notification_id (o topic_name para difusiones), incluso cuando las solicitudes se realicen dentro del mismo segundo.
  • Se omiten las marcas de tiempo antiguas o iguales. No reutilice las marcas de tiempo en caché.
  • El campo opcional when controla el tiempo mostrado de la notificación, no el orden de los mensajes. Manténgalo razonablemente actualizado y exprésalo en segundos epoch.
  • Para actualizar o finalizar una actividad, cambie event_type sin modificar notification_id. Android utiliza el mismo token de registro de FCM para los tres eventos de ciclo vital; no se requiere un token de actualización independiente.

Despido del evento final:

Para event_type: "end", si lo desea, puede establecer dismiss_after en el número de segundos que la actividad en directo completada debe permanecer visible antes de la eliminación. Es una duración, no una marca de tiempo de época.

accordion
​3. Alinee la carga útil con la implementación de Android

El proveedor de estilos de la aplicación determina cómo se representan los valores de content_state en la notificación de actividad en directo.

  1. Confirme que la mensajería y la extensión Live Activities estén integradas en la aplicación.
  2. Compruebe que cada campo de content_state coincide con una clave controlada por el proveedor de estilo, incluido su tipo de valor esperado.
  3. Compruebe que title, body y critical_text contengan el texto que se desea mostrar. critical_text se usa para el chip de barra de estado.
  4. Confirme que los permisos de notificación se han concedido y que el canal identificado por notification_channel_id existe.

Errores comunes:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
Problema Impacto Corregir
Clave o tipo de valor content_state no compatible El contenido falta o se representa incorrectamente Hacer coincidir la asignación del proveedor de estilos de la aplicación
Falta el canal de notificación o no coincide La notificación no puede publicar en el canal deseado Cree el canal y utilice su ID exacto
Permisos de notificación no concedidos Es posible que la actividad no aparezca según lo esperado Verificar los permisos de POST_NOTIFICATIONS y POST_PROMOTED_NOTIFICATIONS
Se cambió notification_id La actualización o finalización no identifica la notificación original Mantener el ID sin cambios durante todo el ciclo vital
Anterior o igual a timestamp Evento ignorado Utilice un valor mayor que la última marca de tiempo procesada

Para obtener más ejemplos, consulte Crear actividades activas.

accordion
​4. Prueba con Assurance

Utilice Assurance en un dispositivo de prueba conectado a Android.

  1. Abra una sesión de Assurance y confirme que el registro de token de FCM está visible.
  2. Ejecute la llamada de API para iniciar la actividad en directo y, a continuación, envíe los eventos de actualización y finalización con las mismas notification_id y las marcas de tiempo en aumento.
  3. Revise los eventos y las cargas útiles de SDK disponibles para detectar errores de procesamiento o validación. Confirme que la carga útil de Android utiliza fcm y los valores de ciclo de vida deseados.
  4. En la ficha Eventos del perfil, inspeccione los eventos message.feedback que coincidan. Compruebe que serviceProvider es fcm y revise feedbackStatus, errorCode y errorMessage para detectar errores de entrega.
  5. Si la entrega se realiza correctamente pero no se representa la actividad Live, revise los registros de la aplicación, las asignaciones del proveedor de estilos, los permisos de notificación y la configuración de canal en el dispositivo.

Escenario 3: errores de entrega y análisis de errores scenario-3-delivery-failures-and-error-analysis

[Se aplica a los casos de uso unitario y de difusión]{class="badge informative"}

En este caso, todas las comprobaciones anteriores han pasado:

Si la actividad Live sigue sin aparecer, actualizarse o finalizarse, compruebe el procesamiento de la campaña, la entrega al proveedor push (APNS en iOS o FCM en Android) y el comportamiento del lado del dispositivo.

Para difusiones: Los informes muestran métricas entre todos los miembros de la audiencia. Algunos perfiles pueden tener éxito mientras que otros fallan.

Comprobación de informes de campaña check-campaign-reports

Para iOS y Android, comience con el informe de campaña. Muestra si Journey Optimizer intentó el envío, excluyó el perfil o produjo un error.

  1. Vaya a su Actividad en directo en Campaign.

  2. Haga clic en el botón Informes.

  3. Seleccione Ver informe de todo el tiempo.

  4. Compruebe las métricas Estadísticas de envío para comprender el éxito de la entrega:

    table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
    Métrica Lo que significa Qué se debe buscar
    Objetivos Número de perfiles cualificados para la audiencia Debe incluir el perfil de prueba
    Envíos Total de notificaciones push intentadas Debe coincidir con sus llamadas a la API
    Entregados Métrica de envío notificada Comparar con Envíos; verificar el procesamiento del dispositivo por separado
    Enviar errores Notificaciones push que no se han enviado Investigación de las razones del error
    Envío de exclusiones Perfiles excluidos por Adobe Journey Optimizer Compruebe si su perfil se ha excluido
  5. Si Enviar errores > 0, compruebe la tabla Motivos del error. Utilice el paso 1 de la pestaña para que su plataforma interprete los errores.

  6. Si Enviar exclusiones > 0, compruebe la tabla Motivos de exclusión:

    table 0-row-3 1-row-3 2-row-3 3-row-3
    Exclusión común Significado Resolución
    Perfil excluido El usuario ha excluido las notificaciones Comprobar estado de consentimiento del perfil
    Token Token marcado como no válido Vuelva a registrar el token (iOS) o reenvíe el token de FCM actual (Android) o compruebe el estado de la lista de bloqueados
    Perfil no apto El perfil no cumple los criterios de la campaña Revisar reglas de audiencia de campaña
  7. Revise la sección Ciclo de vida de actividad activo:

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
    Métrica Qué comprobar
    Inicios remotos Debe mostrar el recuento de inicios activados por API
    Actualizaciones Debe mostrar el recuento de eventos de actualización
    Finaliza Debe mostrar el recuento de eventos finales
    Recuento de totales Volumen general del evento de actividad en directo

    Si estas métricas son cero o no coinciden con sus llamadas a la API, investigue el procesamiento de campañas y la entrega de proveedores push mediante las comprobaciones específicas de la plataforma que se indican a continuación.

Obtenga más información en la página de informe de campaña de actividades en vivo.

Compruebe el envío para su plataforma

iOS

Comprobaciones previas

  • Escenarios anteriores validados:

    • El perfil existe con liveActivityPushNotificationDetails correcto.
    • La superficie de campaña y el tipo de actividad son correctos.
    • La carga útil de API es válida con una marca de tiempo actual.
    • Los tokens de actualización se sincronizan (solo eventos de actualización unitaria y de finalización).
  • Llamada API confirmada:

    • La API de déclencheur aceptó la solicitud. Esto no confirma la entrega ni el procesamiento del dispositivo.
    • El ID de campaña y los detalles del destinatario son correctos.

Pasos de depuración

accordion
​1. Interpretación de errores de envío

Omita este paso si el informe de campaña no muestra errores de envío. De lo contrario, combine el error de la tabla Motivos del error con los siguientes errores comunes de APN:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3
Error común Significado Resolución
Token no válido El token de inserción no es válido o ha caducado Volver a registrar tokens de actividad activos desde el dispositivo
Token no encontrado No hay ningún token válido asociado al perfil Comprobar que liveActivityPushNotificationDetails existe
APNS rechazadas El servicio de notificaciones push de Apple rechazó la notificación push Comprobación del certificado de APNS, ID de paquete, entorno
Tiempo de espera de red No se puede acceder a APNS Problema transitorio; vuelva a intentar la llamada de API
accordion
​2. Comprobación de eventos de comentarios de mensajes en el perfil
  1. Vaya a Cliente > Perfiles en Journey Optimizer.

  2. Busque y abra el perfil.

  3. Seleccione la ficha Eventos.

  4. Filtre o busque eventos con eventType = "message.feedback".

  5. Busque eventos de comentarios que coincidan con el tipo liveActivityID y event de su actividad en directo.

  6. Revise los siguientes campos clave:

    table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3
    Campo Valores posibles Lo que significa
    feedbackStatus sent, error, denylist Resultado del envío del proveedor de servicios
    serviceProvider apns/apnsSandbox Debe ser APNS para actividades de iOS Live
    errorCode Código numérico para null Código de error específico de APNS si falla
    errorMessage Descripción del error para null Mensaje de error legible por un ser humano
  7. Si feedbackStatus: "error":

    • Compruebe si hay errores APN específicos en errorCode y errorMessage.
    • Los errores comunes de APNS incluyen token caducado, certificado no válido e ID de paquete incorrecto.
  8. Si no se encuentra ningún evento de comentarios:

    • Es posible que no se haya intentado la notificación push.
    • Compruebe si el perfil se excluyó en el informe de campaña.

Si feedbackStatus es sent: Journey Optimizer entregó la notificación a APNS. Esto no confirma la renderización del dispositivo. Continúe con las comprobaciones del lado del dispositivo en el paso 4.

accordion
​3. Verificación de la entrega de actividades en directo a APNS en Assurance
  1. Abra la sesión de Assurance y manténgala activa durante la llamada de API.

  2. Ejecute la llamada de API (inicio, actualización o finalización).

  3. En Lista de eventos, busque Eventos de entrega de actividades en directo.

  4. Busque eventos relacionados con la entrega push de APNS.

  5. Compruebe la existencia de las luces testigo siguientes:

    • Solicitud push a APNS: Confirma que Adobe envió la notificación push a los servidores de Apple
    • Respuesta de APN: Muestra si APN aceptó o rechazó la notificación push
    • Estado de entrega: Indicación de éxito o error
  6. Si se encuentran problemas, consulte los siguientes problemas comunes de entrega de APN:

    table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
    Problema Síntoma en Assurance Resolución
    Certificado de APNS caducado Error de autenticación Renovar y cargar un nuevo certificado de APN
    Entorno incorrecto (dev vs prod) Error de coincidencia de tokens Asegúrese de que el certificado coincida con el tipo de creación de aplicación
    ID de paquete no coincidente Identificador de paquete no válido Verificar que el ID del paquete de certificados coincida con la aplicación
    Token caducado Error InvalidToken de APNS Volver a registrar tokens de actividad activos
    Limitación de velocidad Demasiadas solicitudes Reducir frecuencia de llamada de API
accordion
​4. Comprobar el comportamiento del lado del dispositivo

Si Adobe muestra un envío correcto pero el dispositivo no muestra la actividad en directo:

  • Compruebe si hay errores de actividad en directo en los registros de dispositivos iOS.
  • Compruebe que la aplicación esté en primer o segundo plano (no finalizada).
  • Confirme que el dispositivo tiene conectividad de red.
  • Realice pruebas en varios dispositivos para descartar problemas específicos del dispositivo.
  • Compruebe que la versión de iOS sea 16.1 o posterior.
accordion
​5. Escalación al Soporte de Adobe

Si ha completado todos los pasos y el problema sigue sin resolverse, póngase en contacto con el Servicio de atención al cliente de Adobe con:

Información necesaria:

  • ID y nombre de la campaña
  • Área de nombres e ID de perfil
  • liveActivityID de carga útil de API
  • Marcas de hora de llamadas API
  • Capturas de pantalla de informes de Campaign que muestran estadísticas de envío, motivos de error y motivos de exclusión
  • Eventos de perfil relevantes (liveActivity.updateToken para problemas de actualización/finalización unitarios y message.feedback)
  • Detalles de la sesión de Assurance y capturas de pantalla relevantes del evento
  • Carga útil y respuesta de solicitud de API, con credenciales y tokens de dispositivo censurados
  • Detalles del certificado de APNS (caducidad, entorno, ID de paquete)
Android

Comprobaciones previas

  • Escenarios anteriores validados:

    • El perfil existe con pushNotificationDetails válido, incluido el token de FCM actual, el nombre del paquete de Android y platform: "fcm".
    • La superficie de campaña se dirige a la aplicación de Android correcta y utiliza las credenciales de FCM coincidentes.
    • La carga de fcm es válida y su timestamp es más reciente que el evento anterior para el mismo notification_id (o topic_name para difusiones).
    • Los eventos Start, Update y End usan el mismo notification_id. Los eventos unitarios utilizan el mismo token de registro de FCM; no se requiere ningún token de actualización independiente.
  • Llamada API confirmada:

    • La llamada de API devolvió HTTP 202 (aceptado). Esto confirma la aceptación de la solicitud, no la entrega ni el procesamiento del dispositivo.
    • El ID de campaña y los detalles del destinatario son correctos. Para las difusiones, compruebe el ID de audiencia y el tema de FCM.

Pasos de depuración

accordion
​1. Interpretación de errores de envío

Omita este paso si el informe de campaña no muestra errores de envío. De lo contrario, combine el error de la tabla Motivos del error con los siguientes errores comunes de FCM:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
Error común Significado Resolución
Token no válido/no registrado El token de FCM no es válido o la aplicación se ha desinstalado Obtener el token del dispositivo actual y reenviarlo con MobileCore.setPushIdentifier(token)
Token no encontrado No hay ningún token de FCM válido asociado al perfil Compruebe que pushNotificationDetails contiene el token actual
ID de remitente no coincidente El token se ha emitido para un proyecto de Firebase diferente Alinee las credenciales de FCM con el proyecto Firebase de la aplicación
Argumento no válido FCM ha rechazado la carga útil Validar la estructura de carga útil fcm
Tiempo de espera de red No se puede acceder a FCM Problema transitorio; vuelva a intentar la llamada de API
accordion
​2. Comprobación de eventos de comentarios de mensajes en el perfil
  1. Vaya a Cliente > Perfiles en Journey Optimizer.

  2. Busque y abra el perfil.

  3. Seleccione la ficha Eventos.

  4. Filtre o busque eventos con eventType = "message.feedback".

  5. Busque eventos de comentarios para las marcas de tiempo de campaña y de llamada de API que está investigando.

  6. Revise los siguientes campos clave:

    table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3
    Campo Valores posibles Lo que significa
    feedbackStatus sent, error, denylist Resultado del envío del proveedor de servicios
    serviceProvider fcm Entrega push de Android gestionada por FCM
    errorCode Código de error del proveedor para null Código de error específico de FCM si falla la entrega
    errorMessage Descripción del error para null Mensaje de error legible por un ser humano
  7. Si feedbackStatus: "error":

    • Inspeccione errorCode y errorMessage y aplique la resolución de FCM correspondiente del paso 1.
  8. Si no se encuentra ningún evento de comentarios:

    • Es posible que no se haya intentado enviar la notificación push o que aún no se hayan recibido los comentarios.
    • Compruebe si el perfil se excluyó en el informe de campaña.

Si feedbackStatus es sent: FCM aceptó la notificación. Esto no confirma que el dispositivo haya procesado la actividad en directo. Continúe con las comprobaciones del lado del dispositivo en el paso 4.

accordion
​3. Inspeccionar el envío de FCM en Assurance

Utilice Assurance en un dispositivo de prueba conectado a Android.

  1. Abra una sesión de Assurance y manténgala activa durante la llamada de API.
  2. Ejecute la llamada API con event_type establecido en start, update o end.
  3. En la lista Events, inspeccione los eventos de envío push disponibles para la solicitud a FCM y su respuesta.
  4. Compruebe si FCM ha aceptado o rechazado la solicitud e inspeccione los detalles de error notificados.
  5. Para las solicitudes rechazadas, utilice los errores de FCM en el paso 1 para comprobar el token, las credenciales del proyecto de Firebase y la carga útil. Si los eventos del proveedor no están disponibles en la sesión, utilice message.feedback eventos e informes de campaña.
accordion
​4. Comprobar el comportamiento del lado del dispositivo

Si Adobe muestra un envío correcto pero el dispositivo no muestra ni actualiza la actividad en directo:

  • Inspeccione los registros de la aplicación de Android para ver si hay errores de gestión push y de representación de actividades activas.
  • Confirme que se permiten las notificaciones y que las notificaciones promocionadas se permiten con canPostPromotedNotifications().
  • Compruebe que se hayan concedido los permisos de POST_NOTIFICATIONS y POST_PROMOTED_NOTIFICATIONS y que exista el canal identificado por notification_channel_id.
  • Asegúrese de que timestamp sea más reciente que el último evento procesado y de que notification_id no haya cambiado. Para las difusiones, compruebe también la suscripción del dispositivo a topic_name.
  • Confirme que la aplicación no se ha detenido a la fuerza.
  • Confirme que el dispositivo tiene conectividad de red.
  • Realice pruebas en varios dispositivos para descartar problemas específicos del dispositivo.
  • Compruebe que el dispositivo ejecuta Android 16.1 (nivel de API 36.1) o posterior y que la aplicación utiliza targetSdk 36.
  • Compruebe que las claves y los tipos de valor de content_state coinciden con el proveedor de estilos de la aplicación.
accordion
​5. Escalación al Soporte de Adobe

Si ha completado todos los pasos y el problema sigue sin resolverse, póngase en contacto con el Servicio de atención al cliente de Adobe con:

Información necesaria:

  • ID y nombre de la campaña
  • Área de nombres e ID de perfil
  • notification_id y event_type de la carga útil de API; para difusiones, incluya también topic_name y el ID de audiencia
  • Marcas de hora de llamadas API
  • Capturas de pantalla de informes de Campaign que muestran estadísticas de envío, motivos de error y motivos de exclusión
  • Eventos de perfil message.feedback relevantes, incluidos mensajes y códigos de error de FCM
  • Detalles de la sesión de Assurance y capturas de pantalla relevantes del evento
  • Carga útil y respuesta de solicitud de API, con credenciales y tokens de dispositivo censurados
  • Nombre del paquete Android, proyecto Firebase, ID de remitente y detalles de configuración de las credenciales de FCM; no incluya claves privadas
  • Versión del sistema operativo Android, modelo del dispositivo, estado de permisos de notificación y registros de aplicaciones relevantes

Escenario 4: el token de actualización de actividades activas no está sincronizado scenario-4-live-activity-update-token-not-synced

[Solo se aplica a casos de uso unitarios]{class="badge informative"}

[Solo se aplica a iOS]{class="badge positive"}

La actividad Live se inicia en el dispositivo, pero las solicitudes de API update o end aceptadas no la actualizan ni la descartan. Una posible causa es que el token de actualización de actividad en directo por instancia no se haya sincronizado con el sistema de Adobe. Complete las siguientes comprobaciones para confirmar si el problema es la sincronización de tokens.

Explicación de los tokens de actualización

Cuando se inicia una actividad Live en un dispositivo, iOS genera un token de actualización único para esa instancia de actividad Live específica. Este token es necesario para lo siguiente:

  • Envío de actualizaciones a la actividad en directo
  • Finalización remota de la actividad Live

Cada instancia de actividad Live tiene su propio token de actualización único. Adobe necesita este token para entregar eventos de actualización y finalización.

Comportamiento esperado

Para que funcionen los eventos update y end, debe ocurrir lo siguiente:

  1. La actividad en directo se inicia correctamente en el dispositivo.
  2. El dispositivo genera un token de actualización para esa instancia de actividad en directo.
  3. Mobile SDK captura y envía el token de actualización a Adobe.
  4. El token de actualización se sincroniza y almacena en el sistema de Adobe.
  5. Las llamadas de API posteriores para la actualización/finalización utilizan este token para la entrega.

Comprobaciones previas:

  • Permiso de usuario: La primera vez que se inicia una actividad en directo en un dispositivo, iOS muestra un mensaje del sistema: “¿Permitir que [Nombre de la aplicación] proporcione actualizaciones de la actividad en directo?” El usuario debe pulsar “Permitir” para que se generen y sincronicen los tokens de actualización. Si el usuario pulsa “No permitir”, no se crea ningún token de actualización y las solicitudes de actualización/finalización fallarán. Se trata de un permiso único por aplicación.
  • Validación de perfiles y campañas: complete las comprobaciones de Escenario 1 y Escenario 2 para garantizar que la configuración de perfiles, tokens y campañas sea correcta.

Pasos de depuración

​1. Verificar la sincronización del token de actualización en Assurance
  1. Abra la sesión de Assurance.

  2. Asegúrese de que la sesión esté activa cuando se inició la actividad en directo en el dispositivo.

  3. Filtre o busque eventos con eventType = "liveActivity.updateToken".

  4. Seleccione el evento e inspeccione la carga útil:

    • Compruebe que el campo token contenga una cadena de token de actualización válida.
    • Compruebe que liveActivityID coincida con su instancia de actividad en directo.
    • Confirme que activityType coincide con su attributes-type.
  5. Si no se encuentra el evento:

    • SDK no ha generado ni capturado el token de actualización.
    • Compruebe si el usuario ha concedido permisos de actividad en directo.
    • Compruebe que la actividad Live se haya iniciado correctamente en el dispositivo.
    • Confirme que el SDK móvil está correctamente integrado para capturar los tokens de actualización.
  6. Si se encuentra el evento, continúe con el paso 2.

​2. Verificar el token de actualización en los eventos de perfil
  1. Vaya a Cliente > Perfiles en Journey Optimizer.

  2. Busque y abra el perfil.

  3. Seleccione la ficha Eventos.

  4. Busque liveActivity.updateToken eventos.

  5. Compruebe los detalles del evento:

    • Compruebe que la marca de tiempo sea reciente (coincide con el momento en el que se inició la actividad en directo).
    • Confirme que token y liveActivityID están presentes.
    • Asegúrese de que activityType sea correcto.
  6. Si el evento no se encuentra en el perfil:

    • Es posible que el evento de token de actualización aún no se haya introducido en el perfil.
    • Espere de 5 a 10 minutos y vuelva a efectuar la comprobación.
    • Si sigue faltando después de 15 minutos, puede haber un problema de ingesta de evento.
  7. Si se encuentra el evento, se ha sincronizado el token de actualización. Continúe con el paso 3.

​3. Compruebe los eventos de entrega de actividades en directo en Assurance
  1. En la sesión de Assurance, ejecute una actualización o termine la llamada a la API.

  2. En la Lista de eventos, busque Eventos de entrega de actividades en directo (eventos push de APN).

  3. Compruebe si hay eventos que indiquen:

    • Notificación push enviada a APNS.
    • Respuesta de APNS (éxito o error).
    • Confirmación de envío.
  4. Si el evento de envío de APNS está presente: Se envió la notificación push. Si el dispositivo sigue sin actualizarse, el problema puede estar en el dispositivo (la aplicación no gestiona la notificación push, los problemas de red, etc.).

  5. Si falta el evento de envío de APNS: es posible que el token de actualización no se almacene correctamente o no esté asociado al perfil en el sistema de Adobe.

  6. Si hay eventos de error: inspeccione los detalles del error por motivos de error específicos (token no válido, APN rechazados, etc.).

Escenario 5: Comprobación del estado de ejecución mediante la API scenario-5-checking-execution-status-via-the-api

[Solo se aplica a casos de uso unitarios]{class="badge informative"}

Después de activar una actividad en directo unitaria, la API de ejecución de mensajes GET devuelve el estado actual de la ejecución. Utilícelo para confirmar si una ejecución está en cola, en curso, completada o fallida, sin esperar a que el evento de comentarios aterrice en el conjunto de datos.

executionId es el ID de mensaje devuelto en la respuesta de déclencheur. Para ejecuciones unitarias, tiene el prefijo HUOC-.

Punto de conexión y solicitud de ejemplo

Extremo: GET https://cjm.adobe.io/imp/message/executions/{executionId}

curl --location 'https://cjm.adobe.io/imp/message/executions/HUOC-123456' \
  --header 'x-gw-ims-org-id: <IMS_ORG_ID>' \
  --header 'Authorization: Bearer <ACCESS_TOKEN>' \
  --header 'x-sandbox-name: <SANDBOX_NAME>' \
  --header 'x-sandbox-id: <SANDBOX_UUID>' \
  --header 'x-api-key: <API_KEY>'

Códigos de respuesta HTTP

Código
Significado
200 OK
Ejecución encontrada y devuelta correctamente
401 No autorizado
Falta el token de portador o no es válido
403 Prohibido
Token válido pero permisos insuficientes
404 No encontrado
El ID de ejecución no existe

Valores de estado de ejecución

El campo status en una respuesta 200 indica un progreso de ejecución:

Estado
Descripción
PENDING
Ejecución en cola, pero aún no iniciada
INPROGRESS
La ejecución se está procesando actualmente
COMPLETED
Ejecución finalizada correctamente
FAILED
La ejecución ha encontrado un error

La respuesta 200 también devuelve executionType (unitary o batch), executionRunMode (default o test) y un bloque source con metadatos (campaignId, journeyId, batchInstanceId, información del recurso) que vinculan la ejecución de nuevo a la campaña o al recorrido que la desencadenó.

Escenario 6: problemas de carga útil y configuración de la campaña de difusión broadcast-config

[Solo se aplica a los casos de uso de difusión]{class="badge informative"}

Esta sección cubre la resolución de problemas específicos de las actividades de difusión en directo, que requieren diferentes enfoques de depuración que las campañas unitarias.

Cuando los perfiles tienen tokens válidos pero la actividad en directo no aparece, actualiza ni se comporta como se espera para los miembros de la audiencia, el problema suele deberse a uno de los siguientes motivos:

  • La campaña no está configurada como marketing activado por API.
  • Falta audience en la carga útil de la API o el identificador de difusión específico de la plataforma: input-push-channel en iOS o topic_name en Android.
  • Los campos de carga útil no coinciden con la implementación de iOS ActivityAttributes ni con la asignación del proveedor de estilos de Android.
  • El canal push de Apple está configurado incorrectamente o el dispositivo Android no está suscrito al tema FCM.

Este escenario de solución de problemas se aplica a todos los eventos de actividad en directo de las campañas de difusión: start, update y end.

iOS

Comprobaciones previas:

  • Tipo de campaña:

    • Compruebe que la campaña se ha creado como marketing activado por API (necesario para las campañas de difusión/basadas en audiencia).
    • Confirme que se ha definido una audiencia en la configuración de la campaña.
  • Validación de perfil y token: muestree varios perfiles de la audiencia para comprobar que tienen liveActivityPushNotificationDetails válidos. Para ver los pasos de validación detallados, siga Ejemplo 1.

Pasos de depuración

accordion
​1. Verificar configuración de audiencia de campaña
  1. Abra Campaña de marketing activada por API en Journey Optimizer.

  2. Vaya a la sección Audiencia y verifique:

    • Se selecciona una audiencia para la campaña.
    • El ID de audiencia coincide con el utilizado en la carga útil de la API.
    • La audiencia contiene los perfiles esperados.
  3. Vaya a la sección Acciones.

  4. Compruebe la configuración de actividad activa:

    • La configuración debe establecerse para la aplicación de iOS con el identificador de paquete correcto.
    • El tipo de actividad debe coincidir con attributes-type en su carga útil de API. Por ejemplo, si la carga útil contiene "attributes-type": "AirplaneTrackingAttributes", la campaña debe especificar este mismo tipo de actividad.
accordion
​2. Validar estructura de carga útil de API de difusión

La estructura de carga útil de difusión difiere de las campañas unitarias. Compruebe que la carga útil sigue el formato de difusión correcto.

Campos obligatorios para la difusión:

code language-json
{
   "campaignId": "878a11d4-b519-47bd-8313-fecfee19857b",
   "audience": {
      "id": "8c3dbdea-2957-401f-acf0-3966fba1601e"
   },
   "context": {
      "requestPayload": {
         "aps": {
            "input-push-channel": "FEt0NgvLEfEAAOqA6AXdIQ==",
            "content-available": 1,
            "timestamp": 1771829292,
            "event": "start",
            "attributes-type": "AirplaneTrackingAttributes",
            "content-state": { ... },
            "attributes": { ... }
         }
      }
   }
}

Problemas comunes de carga útil:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3
Campo Requisito Problema común
campaignId Debe coincidir con el ID de campaña de marketing activado ID de campaña incorrecto o uso de una campaña transaccional
audience.id Debe coincidir con una audiencia existente en AEP El ID de audiencia o la audiencia no son correctos
input-push-channel Necesario para difusión: identificador único de esta instancia de difusión Falta o no coincide con channelID en liveActivityData
timestamp Siempre debe ser la hora actual/más reciente de Unix epoch en segundos Usar marca de tiempo antigua/en caché
event Debe ser "start", "update" o "end" Tipo de evento no válido
attributes-type Debe coincidir con el tipo de actividad de campaña Discordancia o error tipográfico
content-available Debe ser 1 Falta un valor o es incorrecto

Campos críticos específicos de difusión:

  • input-push-channel:

    • Necesario para todas las actividades de difusión en directo.
    • Sirve como identificador único para esta instancia de difusión específica.
    • Todos los perfiles de la audiencia reciben actividades en directo vinculadas a este canal.
    • Debe coincidir con channelID en liveActivityData.channelID (consulte el paso 3).
    • Su equipo debe crear para appID en Apple Developer Portal.
    • Solo se pueden usar los canales creados para appID en concreto para difundir una actividad en directo en esa aplicación.
  • audience.id:

    • Debe hacer referencia a un segmento de audiencia válido creado en Adobe Experience Platform.
    • Todos los perfiles de esta audiencia están segmentados para la actividad en directo.
    • La audiencia debe estar activada y contener perfiles con liveActivityPushNotificationDetails válidos.

Usar siempre la marca de tiempo más reciente:

  • El campo timestamp debe ser siempre el tiempo de Unix epoch actual (en segundos) para cada llamada de API.
  • Este requisito se aplica a todos los tipos de eventos: start, update y end.
  • Crítico para actualizaciones/finalización: el uso de marcas de tiempo antiguas provoca que las solicitudes de actualización y finalización fallen.
  • Genere una nueva marca de tiempo para cada llamada de API de difusión.

Campos opcionales:

  • dismissal-date: tiempo de Unix Epoch para el despido automático (solo relevante para end eventos)
  • alert: objeto con title y body para notificación

Consulte la documentación de la API de mensajería Adobe Journey Optimizer para obtener especificaciones completas de la API.

accordion
​3. Alinee contenido-estado, atributos y entrada-canal-push con la implementación de iOS

Asegúrese de que los campos de carga útil coincidan con la implementación ActivityAttributes de su aplicación iOS y de que input-push-channel coincida con channelID en liveActivityData.

  1. Revise la definición de Atributos de actividad de iOS.

Su estructura ActivityAttributes personalizada debe implementar el protocolo LiveActivityAttributes de Adobe:

code language-swift
struct AirplaneTrackingAttributes: LiveActivityAttributes {
   public struct ContentState: Codable, Hashable {
      var journeyProgress: Int
   }

   // Adobe SDK requirement
   var liveActivityData: LiveActivityData

   // Your custom attributes
   var arrivalAirport: String
   var departureAirport: String
   var arrivalTerminal: String
}
  1. Asigne campos de iOS a la carga útil de la API de difusión.

Incluir content-state para todos los tipos de eventos. Incluir attributes, incluido liveActivityData.channelID, solo para eventos de inicio:

code language-json
{
   "aps": {
      "input-push-channel": "FEt0NgvLEfEAAOqA6AXdIQ==",
      "event": "start",
      "timestamp": 1771829292,
      "attributes-type": "AirplaneTrackingAttributes",
      "content-state": {
         "journeyProgress": 0
      },
      "attributes": {
         "arrivalAirport": "DEL",
         "departureAirport": "MUM",
         "arrivalTerminal": "T1",
         "liveActivityData": {
            "channelID": "FEt0NgvLEfEAAOqA6AXdIQ=="
         }
      }
   }
}

Crítico: input-push-channel debe coincidir conchannelID

  • El valor input-push-channel en la raíz de aps debe coincidir exactamente con channelID en liveActivityData.
  • En el ejemplo anterior, ambos valores son "FEt0NgvLEfEAAOqA6AXdIQ==".
  • Esta coincidencia vincula la instancia de difusión con los datos de la actividad en directo.
  • Un desajuste provoca errores de entrega.

Puntos de validación clave:

  • Incluir todos los ContentState campos en content-state para todos los tipos de eventos.
  • Incluir todos los campos personalizados LiveActivityAttributes en attributes solo para eventos de inicio.
  • Para los eventos de inicio, liveActivityData.channelID debe coincidir con input-push-channel.
  • Los nombres de campo distinguen entre mayúsculas y minúsculas y deben coincidir exactamente.
  • Los tipos de datos deben coincidir (String, Int, Bool, objetos anidados, etc.).
  • Para los eventos de actualización/finalización, use el mismo input-push-channel que el evento de inicio original.

Errores comunes:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3
Problema Impacto Corregir
Falta input-push-channel La difusión no funcionará Agregar un ID de canal único para cada difusión
input-push-channel no coincide con channelID La actividad en directo no se inicia Asegúrese de que ambos valores sean idénticos
Diferente input-push-channel para actualizar/finalizar La actualización o el final no llegarán a las actividades activas. Usar el mismo ID de canal durante el ciclo vital
Falta liveActivityData.channelID La actividad en directo no se vinculará a la difusión Incluir channelID en atributos para el evento de inicio
Falta un campo obligatorio en el evento de inicio La actividad en directo no se inicia Añadir todos los campos de la estructura de iOS
Nombre de campo incorrecto (error tipográfico/caso) Campo omitido o error de análisis Igualar exactamente los nombres de los campos de iOS
Marca de tiempo antigua al actualizar/finalizar Los dispositivos ignoran la actualización o el final Generar siempre nueva marca de tiempo
accordion
​4. Prueba con Assurance

Compruebe la ejecución de la API y la entrega de carga útil mediante Assurance:

  1. Abra la sesión de Assurance en un dispositivo de prueba que forme parte de la audiencia.

  2. Ejecute la llamada de API de difusión.

  3. En Lista de eventos, busque:

    • Eventos de ejecución de Campaign.
    • Eventos de entrega de actividad en directo.
    • Eventos de error que indican errores de validación de carga útil.
  4. Inspeccione las cargas útiles de eventos para confirmar:

    • La carga útil se ha procesado correctamente.
    • El input-push-channel está presente.
    • No se han producido errores de validación.
    • Se han enviado actividades activas a APNS para miembros de la audiencia.
Android

Comprobaciones previas:

  • Tipo de campaña: Compruebe que la campaña es Marketing activado por API y que tiene una audiencia definida.
  • Validación de perfil y token: Pruebe varios perfiles de audiencia para comprobar que tienen pushNotificationDetails válidos con platform: "fcm". Siga las comprobaciones de Android en Escenario 1.
  • Suscripción al tema: Confirme que el dispositivo de prueba está suscrito al tema de FCM utilizado para la difusión.

Pasos de depuración

accordion
​1. Verificar configuración de audiencia de campaña
  1. Abra su campaña de mercadotecnia desencadenada por API en Journey Optimizer.

  2. Vaya a la sección Audiencia y verifique:

    • Se selecciona una audiencia para la campaña.
    • El ID de audiencia coincide con el utilizado en la carga útil de la API.
    • La audiencia contiene los perfiles esperados.
  3. Vaya a la sección Acciones.

  4. Compruebe que la configuración de la actividad en directo se dirige al paquete de Android correcto y utiliza las credenciales de FCM coincidentes. Android no utiliza un campo de tipo de actividad o attributes-type.

accordion
​2. Validar estructura de carga útil de API de difusión

Las difusiones de Android utilizan un tema de FCM. Incluya audience.id y coloque el objeto fcm en context.requestPayload, en lugar de en un destinatario individual.

Ejemplo de carga de inicio de difusión:

code language-json
{
   "requestId": "your-request-id",
   "campaignId": "your-marketing-campaign-id",
   "audience": {
      "id": "your-audience-id"
   },
   "context": {
      "requestPayload": {
         "fcm": {
            "topic_name": "flight_DL321",
            "notification_id": "flight-DL-321",
            "notification_channel_id": "live_updates_channel",
            "timestamp": 1771829292,
            "priority": "PRIORITY_HIGH",
            "event_type": "start",
            "title": "Flight DL-321",
            "body": "Boarding starts shortly",
            "critical_text": "25 min",
            "content_state": {
               "custom_key_template_type": "progress",
               "custom_key_journey_start": "DEL",
               "custom_key_journey_progress": 10,
               "custom_key_journey_end": "MUM"
            }
         }
      }
   }
}

Reemplace la marca de tiempo de ejemplo por la hora actual de Unix epoch en segundos. Adapte las claves content_state al proveedor de estilos de su aplicación.

Problemas comunes de carga útil:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3
Campo Requisito Problema común
campaignId Debe coincidir con el ID de campaña de marketing activado ID de campaña incorrecto o uso de una campaña transaccional
audience.id Debe coincidir con la audiencia configurada en la campaña ID de audiencia incorrecto o falta audiencia
topic_name No debe estar vacío ni sufrir cambios al iniciar, actualizar o finalizar El tema que falta se rechaza por tener un formato incorrecto; los saltos de tema modificados actualizan/finalizan el direccionamiento
notification_id Debe permanecer sin cambios durante el ciclo vital de actividad Actualizar o finalizar destinos con una notificación diferente
notification_channel_id Debe coincidir con un canal de notificación creado por la aplicación Canal ausente o no coincidente
timestamp Segundos epoch; debe ser mayor que el valor anterior para el mismo tema Se omiten las marcas de tiempo antiguas o iguales
event_type Debe ser "start", "update" o "end" Evento de ciclo vital no válido
content_state Debe utilizar claves y tipos de valor compatibles con el proveedor de estilos de la aplicación Claves no admitidas o tipos incorrectos

Campos críticos específicos de difusión:

  • topic_name: identifica el tema de FCM al que se suscribieron los dispositivos de destino. Incluya el mismo valor no vacío en cada solicitud de inicio, actualización y finalización.
  • audience.id: identifica la audiencia de la campaña en Adobe Experience Platform. Compruebe su pertenencia y perfiles de muestra para pushNotificationDetails válidos.

Marca de tiempo y campos opcionales:

  • Genere un nuevo timestamp en segundos epoch para cada evento y asegúrese de que sea estrictamente mayor que el último valor para el mismo tema. Se omiten los valores anteriores o iguales.
  • when establece de forma opcional el tiempo mostrado de la notificación en segundos epoch. No controla el orden de los mensajes.
  • Para event_type: "end", dismiss_after especifica de forma opcional cuántos segundos permanece visible la actividad completada antes de la eliminación. Es una duración, no una marca de tiempo de época.

Consulte la documentación de la API de mensajería Adobe Journey Optimizer para obtener especificaciones completas de la API.

accordion
​3. Verificar la suscripción al tema y el renderizado de aplicaciones
  1. Confirme que el dispositivo de prueba se suscribe al tema exacto especificado en topic_name, con FirebaseMessaging.getInstance().subscribeToTopic(topic).
  2. Compruebe que la suscripción se haya realizado correctamente y que la aplicación lo notifique a través de la API de seguimiento de suscripción a temas compatible con la extensión de actividades de Adobe Live instalada.
  3. Mantener topic_name y notification_id sin cambios en los eventos de inicio, actualización y finalización.
  4. Compruebe que las claves y los tipos de valor de content_state coinciden con el proveedor de estilos de la aplicación.
  5. Compruebe que se hayan concedido permisos de notificación y que notification_channel_id coincida con un canal creado por la aplicación.

Errores comunes:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
Problema Impacto Corregir
Falta topic_name o está vacío La solicitud se ha rechazado por estar mal formada Incluir un tema que no esté vacío en cada solicitud del ciclo vital
Dispositivo no suscrito al tema El dispositivo no recibe eventos de difusión Suscribirse al tema exacto y verificar el éxito de la suscripción
Tema cambiado o ID de notificación La actualización/finalización no se dirige a la actividad original Mantener ambos valores sin cambios durante el ciclo vital
Claves o tipos content_state no admitidos El contenido falta o se representa incorrectamente Hacer coincidir la asignación del proveedor de estilos de la aplicación
Anterior o igual a timestamp Evento ignorado Utilice un valor mayor que la última marca de tiempo procesada

Consulte el ejemplo de carga útil de difusión de Android para ver campos y ejemplos adicionales.

accordion
​4. Prueba con Assurance

Utilice Assurance en un dispositivo de prueba de Android conectado que forme parte de la audiencia y esté suscrito al tema de difusión.

  1. Abra la sesión de Assurance antes de ejecutar la llamada de API de difusión.
  2. Enviar solicitudes de inicio, actualización y finalización con los mismos topic_name y notification_id, y aumentar las marcas de tiempo.
  3. En la lista Events, compruebe los eventos de SDK y envío disponibles para detectar errores de procesamiento de carga útil.
  4. Confirme que la carga útil contiene los valores de objeto fcm, topic_name y event_type deseados.
  5. Revise los informes de campaña y los eventos message.feedback disponibles para confirmar los resultados de la entrega de FCM. El valor de Android serviceProvider es fcm.
  6. Si FCM acepta el mensaje pero el dispositivo no procesa la actividad, consulte la suscripción del tema, los permisos de notificación, la configuración del canal y los registros de la aplicación. La aceptación del proveedor no confirma la representación del dispositivo.

Escenario 7: el perfil no está en la instantánea de audiencia o de audiencia antigua scenario-7-profile-not-in-audience-or-stale-audience-snapshot

[Solo se aplica a los casos de uso de difusión]{class="badge informative"}

En esta situación, la campaña y la carga útil están correctamente configuradas, pero los perfiles específicos no reciben la actividad en directo. Esto suele ocurrir cuando:

  • El perfil no es miembro de la audiencia vinculada a la campaña.
  • La audiencia es una audiencia por lotes y contiene una instantánea obsoleta de los datos del perfil.
  • Los detalles del token push del perfil (liveActivityPushNotificationDetails en iOS o pushNotificationDetails en Android) se actualizaron recientemente, pero aún no se han reflejado en la instantánea de audiencia.

Este escenario de solución de problemas se aplica específicamente a las campañas de difusión que utilizan direccionamiento basado en audiencias.

Explicación de la evaluación de audiencias

Adobe Experience Platform utiliza diferentes métodos de evaluación de audiencias que determinan cuándo se reflejan las actualizaciones de perfil en la audiencia:

Método
Frecuencia de evaluación
Actualización de datos
Mejor para
Lote
Una vez al día (programado)
Puede tardar hasta 24 horas en quedar obsoleto
Audiencias grandes, sin distinción de tiempo
Streaming
Tiempo real (sin cambios de perfil)
Casi en tiempo real para perfiles actualizados
Con distinción de tiempo, requiere actualizaciones de perfil
Edge
Tiempo real en ubicaciones de Edge
Casi en tiempo real
Casos de uso evaluados por Edge

Comprobaciones previas

  • Validación de campaña y carga útil:

    • Complete las comprobaciones en Scenario 6 para su plataforma a fin de asegurarse de que la campaña y la carga útil sean correctas.
    • Compruebe que audience.id en la carga útil de la API coincida con la configuración de la campaña.
  • El perfil existe: Confirme que el perfil existe en Adobe Experience Platform con detalles de token de inserción válidos. Siga las comprobaciones de Scenario 1. Los detalles que se deben buscar dependen de la plataforma:

    • iOS: liveActivityPushNotificationDetails con un token válido.
    • Android: pushNotificationDetails que incluye el token de registro de FCM actual, un appId que coincide con el nombre del paquete de Android, platform: "fcm" y denylisted: false.
  • Suscripción de tema (solo Android): Confirme que el dispositivo está suscrito al tema de FCM exacto especificado en topic_name. La pertenencia a audiencias no suscribe el dispositivo al tema. Siga las comprobaciones de suscripción a temas de Android en Escenario 6.

Pasos de depuración

​1. Verificar que el perfil esté en la audiencia

En primer lugar, confirme si el perfil que debe recibir la actividad en directo es realmente parte de la audiencia.

  1. Vaya a Audiencias en Adobe Experience Platform.

  2. Busque y abra la audiencia usando audience.id de su campaña.

  3. Haga clic en Examinar o Perfiles de muestra para ver los miembros de la audiencia.

  4. Busque el perfil de prueba con el área de nombres y el valor de identidad.

  5. Si no se encuentra el perfil en la audiencia:

    • El perfil no cumple los criterios de audiencia ni las reglas de segmentos.
    • Revise la definición de la audiencia para comprender los requisitos de pertenencia.
    • Actualice los datos del perfil o la definición de audiencia para incluir el perfil.
    • Espere a que se complete la evaluación de audiencias (consulte el paso 2).
  6. Si el perfil se encuentra en la audiencia: Continúe con el paso 2 para comprobar la actualización de los datos.

​2. Comprobar el tipo y la programación de evaluación de audiencia

Identifique si la audiencia utiliza la evaluación por lotes, de flujo continuo o de Edge, ya que esto determina la actualización de los datos.

note
NOTE
La evaluación de audiencias no registra tokens push ni suscribe dispositivos Android a temas de FCM. Solo determina qué datos de perfil contiene la instantánea de audiencia.
  1. En la página Detalles de audiencia, compruebe el método de evaluación:

    • Lote: evaluado una vez al día según una programación.
    • Transmisión en tiempo real: se evalúa en tiempo real cuando se producen actualizaciones de perfil.
    • Edge: evaluado en ubicaciones de Edge en tiempo real.

Siga los pasos adecuados para la resolución de problemas según el método de evaluación:

Si la audiencia usa la evaluación por lotes:

  1. Comprenda las limitaciones de audiencia por lotes:

    • Las audiencias por lotes se evalúan una vez al día (normalmente de la noche a la mañana).
    • La instantánea de audiencia puede tener hasta 24 horas de antigüedad.
    • Si un perfil registró o actualizó recientemente sus detalles de token de inserción (liveActivityPushNotificationDetails en iOS o pushNotificationDetails en Android), es posible que los detalles actualizados no estén en la instantánea actual.
    • Las actualizaciones de los perfiles no se reflejarán hasta la siguiente evaluación por lotes.
  2. Comprobar cuándo se produjo la última evaluación:

    • En los detalles de la audiencia, busque la marca de tiempo Última evaluación.
    • Si los detalles del token push del perfil se actualizaron después de esta marca de tiempo, la instantánea de audiencia no incluye el token actual.
  3. Resolver datos obsoletos:

    1. Opción 1: esperar la evaluación programada por lotes

      • La siguiente evaluación por lotes incluirá los datos de perfil actualizados.
      • Esto sucede automáticamente una vez al día.
      • Ideal para escenarios no urgentes.
    2. Opción 2: evaluación de audiencia bajo demanda de Déclencheur

      1. Vaya a Audiencias en AEP.
      2. Seleccione el público.
      3. Haga clic en Evaluar ahora o en Activar bajo demanda.
      4. Espere a que se complete la evaluación (esto puede tardar entre minutos y horas según el tamaño de la audiencia).
      5. Compruebe que el perfil tiene ahora datos actualizados en la instantánea de audiencia.
      6. Vuelva a intentar la llamada de API de difusión.

Si la audiencia usa la evaluación de transmisión:

  1. Comprender el comportamiento de la audiencia de streaming:

    • Las audiencias de streaming evalúan en tiempo real cuándo se producen actualizaciones de perfil.
    • Nuevos perfiles: Se califican poco después de la creación si cumplen los criterios del segmento.
    • Perfiles actualizados: Califique o descalifique poco después de ser actualizado.
    • Perfiles existentes sin cambios: No se vuelven a evaluar a menos que se produzca una actualización.
  2. Identificar el problema:

    • Si un perfil ya existe y cumple los criterios del segmento, pero no se produce ninguna actualización en ese perfil, es posible que no se añada a una audiencia de streaming recién creada.
    • El perfil debe recibir una actualización (cualquier cambio de atributo) para volver a evaluar los déclencheur.
  3. Resolver el problema:

    • Para nuevos perfiles: Se califican automáticamente si se cumplen los criterios. No se necesita ninguna acción.

    • Para perfiles existentes sin actualizaciones recientes:

      • Realice una actualización menor del perfil (por ejemplo, actualice un campo de marca de tiempo).
      • Esto déclencheur la evaluación de la transmisión y añade el perfil a la audiencia.
      • Alternativa: Utilice una audiencia por lotes o una audiencia perimetral para los perfiles existentes.

Avanzado: Depuración mediante consultas de conjuntos de datos advanced-debugging-via-dataset-queries

NOTE
Estas consultas se aplican tanto a iOS como a Android. Ambas plataformas utilizan eventos message.feedback en el conjunto de datos de evento de comentarios de mensajes de AJO, con las mismas rutas de esquema y los mismos valores feedbackStatus que se muestran a continuación.
El estado sent indica que se ha entregado al proveedor push: APNS en iOS o FCM en Android.

Audiencia: desarrolladores e ingenieros de datos. Requiere acceso SQL a los conjuntos de datos de Journey Optimizer a través del servicio de consultas de Adobe Experience Platform.

Cuándo se debe usar: Assurance está limitado a los dispositivos de prueba conectados durante una sesión activa. Utilice consultas de conjuntos de datos para investigar los problemas notificados por los usuarios finales de producción o para auditar el historial de envíos después del hecho. El conjunto de datos expone la misma información de ciclo vital y de error que el complemento de Assurance.

Localización del conjunto de datos

  1. En Journey Optimizer, vaya a Administración de datos > Conjuntos de datos.

  2. Habilite la opción Mostrar conjuntos de datos del sistema y abra Conjunto de datos de evento de comentarios de mensajes de AJO.

Anote el nombre exacto de la tabla que se muestra en la página de detalles. Las consultas siguientes utilizan ajo_message_feedback_event_dataset, reemplácelo por el nombre real de la tabla si difiere. Para los campos de este conjunto de datos, vea la Referencia de esquema de Adobe Journey Optimizer.

Consulta por ID de actividad en directo

Utilícelo cuando conozca el ID de actividad activo (por ejemplo, un UUID de pedido o un ID de seguimiento de envío) y desee que todos los eventos de comentarios estén vinculados a él durante todo el ciclo de vida.

SELECT
  timestamp,
  identitymap,
  _experience.customerJourneyManagement
    .messageDeliveryfeedback.feedbackStatus AS status,
  _experience.customerJourneyManagement
    .messageDeliveryfeedback.messageFailure.reason AS failure_reason,
  _experience.customerJourneyManagement
    .pushChannelContext.liveActivity.event AS la_event,
  _experience.customerJourneyManagement
    .messageExecution.campaignID AS campaign_id,
  _experience.customerJourneyManagement
    .messageExecution.batchInstanceID AS batch_id,
  _id
FROM ajo_message_feedback_event_dataset
WHERE
  _experience.customerJourneyManagement
    .pushChannelContext.liveActivity.liveActivityID
    = '<YOUR_LIVE_ACTIVITY_ID>'
  AND eventtype = 'message.feedback'
ORDER BY timestamp ASC

Consulta por ECID

Utilícelo cuando conozca el ECID del perfil afectado. Reemplazar <YOUR_ECID> con el valor de ECID recuperado del perfil.

SELECT
  timestamp,
  _experience.customerJourneyManagement
    .messageDeliveryfeedback.feedbackStatus AS status,
  _experience.customerJourneyManagement
    .messageDeliveryfeedback.messageFailure.reason AS failure_reason,
  _experience.customerJourneyManagement
    .pushChannelContext.liveActivity.event AS la_event,
  _experience.customerJourneyManagement
    .pushChannelContext.liveActivity.liveActivityID AS la_id,
  _experience.customerJourneyManagement
    .messageExecution.campaignID AS campaign_id,
  _id
FROM ajo_message_feedback_event_dataset
WHERE
  identityMap['ECID'][0].id = '<YOUR_ECID>'
  AND eventtype = 'message.feedback'
ORDER BY timestamp ASC
NOTE
identityMap es un tipo de MAP estructurado, no una cadena. Utilice la sintaxis del descriptor de acceso array y struct que se muestra arriba. Las funciones de cadena como LIKE devolverán un error DATATYPE_MISMATCH.
El conjunto de datos de evento de comentarios de mensajes almacena solamente el ECID en su identityMap. Si el perfil afectado se identifica mediante un área de nombres personalizada en lugar de un ECID, resuelva primero el ECID: vaya a Perfiles en AEP, busque el perfil utilizando el área de nombres personalizada y el valor de identidad y recupere el ECID de los detalles de identidad del perfil. Utilice ese valor ECID en la consulta anterior.

feedbackStatus, valores

Valor
Significado
sent
Se transfiere al proveedor push (APN en iOS, FCM en Android); no confirma el procesamiento del dispositivo (consulte a continuación)
error
Error de envío: inspeccione failure_reason para obtener detalles
denylist
El token no es válido, no está registrado o está (por ejemplo, una aplicación no instalada); vuelva a registrar el token del dispositivo
exclude
Perfil excluido antes del envío (falta token, problema de consentimiento o reglas de tipología)
delay
Envío retrasado; se volverá a intentar
duplicate
La deduplicación en el nivel de entrega suprimió un envío repetido
bounce
Envío rechazado por el proveedor push (por ejemplo, error grave devuelto para el token)
NOTE
Para el campo la_event, el conjunto de datos registra remotestart, no start, para los eventos de envío iniciales. Filtre según corresponda al consultar por tipo de evento.

Interpretación del estado enviado interpreting-the-sent-status

IMPORTANT
El límite de duración de la actividad de 8 horas en directo se aplica solo a iOS, no a Android.

Un feedbackStatus de sent confirma que Journey Optimizer entregó correctamente la notificación al proveedor push (APNS en iOS, FCM en Android). No confirma not que la actividad en directo se haya representado en el dispositivo.

El conjunto de datos no confirma el procesamiento del dispositivo después de la entrega al proveedor push. Los errores del lado del dispositivo, como una restricción del sistema operativo, una caída de red entre el proveedor y el dispositivo o el límite de duración de la actividad de 8 horas en directo que se alcanza en iOS, no se pueden observar desde el conjunto de datos.

Si feedbackStatus es sent pero no aparece ninguna actividad Live en el dispositivo, investigue el comportamiento fuera de la canalización de envíos de Journey Optimizer. Use Assurance o el registro en el nivel de aplicación, incluido logcat en Android, para diagnosticar el comportamiento en el lado del dispositivo.

AI Knowledge Reference

This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.

For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.

  • TL;DR: This page provides a systematic approach to diagnose why Live activities fail to appear, update, or end even when the API returns HTTP 200, covering profile and token, campaign configuration, payload, and delivery issues for unitary and broadcast use cases on iOS and Android.

Intents:

  • Distinguish the unitary (API-triggered Transactional) and broadcast (API-triggered Marketing) debugging paths
  • Verify profile existence and Live activity push token sync (Scenario 1)
  • Validate campaign surface, Activity type, and API payload structure (Scenario 2)
  • Analyze delivery failures via campaign reports and message.feedback events (Scenario 3)
  • Diagnose unsynced iOS update tokens (Scenario 4) and check unitary execution status via the GET Message Execution API (Scenario 5)
  • Troubleshoot broadcast payload and audience-freshness issues (Scenarios 6 and 7) and query the feedback dataset directly (Advanced)

Glossary:

  • pushNotificationDetails: The AEP profile attribute used for Android FCM registration-token details, including appId, platform, and denylisted (product-specific)

  • topic_name: The FCM topic subscribed to by target Android devices for broadcast Live activities (product-specific)

  • Push-to-start token: An iOS APNs token used for remote start; registered by the mobile SDK and stored on the AEP profile (product-specific)

  • Update token: A per-instance APNs token generated when an iOS Live activity starts; required for iOS unitary update and end events. Android uses the same FCM registration token for start, update, and end; no separate update token is required (product-specific)

  • input-push-channel: A unique channel identifier created on the Apple Developer Portal for iOS broadcast Live activities (product-specific)

  • liveActivityData: A required property on the Adobe SDK LiveActivityAttributes protocol; the iOS examples include liveActivityID for unitary or channelID for broadcast (product-specific)

  • channelID: The value in liveActivityData.channelID; must exactly match input-push-channel for iOS broadcasts (product-specific)

  • attributeType / attributes-type: The name of the Swift ActivityAttributes struct; stored as attributeType (camelCase) on the profile and sent as attributes-type (hyphenated) in APS JSON — the same value in different representations (product-specific)

  • liveActivityPushNotificationDetails: The AEP profile attribute that stores a device’s push-to-start token, appId, platform, and attributeType (product-specific)

  • APS payload: The iOS JSON structure sent under context.requestPayload.aps, containing the event, content-state, and control fields; attributes includes the iOS struct fields for start events (product-specific)

  • Assurance: A debugging tool limited to test devices connected during an active session; use dataset queries for production end-user diagnostics (product-specific)

  • topic_name (Android): The shared FCM topic through which subscribed devices receive broadcast events; the Android equivalent of iOS input-push-channel

  • notification_id (Android): Client-generated identifier for a Live activity instance; keep it unchanged across start, update, and end events to target the same instance

  • timestamp (Android): Message ordering key, expressed in epoch seconds

  • when (Android): Optional notification display time, expressed in epoch seconds; it does not control message ordering

  • dismiss_after (Android): Used only for end events; specifies how many seconds the completed Live activity remains visible before removal

Guardrails:

  • Android audience membership does not subscribe a device to the FCM topic; verify topic subscription separately from audience evaluation.

  • Use API-triggered Transactional campaigns for unitary Live activities and API-triggered Marketing campaigns for broadcasts.

  • The High Throughput option must not be enabled, since it is incompatible with Live activity.

  • Assurance sessions are for test and QA devices only; end-user production devices are not connected to Assurance.

  • Android: unitary Live activities use the same regular FCM push token to start, update, and end, and no separate activity tokens are required; broadcast events reach subscribed devices through the shared FCM topic identified by topic_name.

  • Android timestamp must strictly increase for every event with the same notification_id (or topic_name for broadcasts); updates are displayed only if their timestamp is newer than the last processed value, and older or equal timestamps are ignored.

  • Android action_type / action_uri are not read by the current Android SDK.

  • iOS requirements: a physical iOS device on iOS 16.1 or later; the Xcode Simulator supports local start only (remote push via APNs is not supported on Simulator); remote start from Assurance requires iOS 17.1 or later, a valid push-to-start token, and a valid channel configuration; Adobe Experience Platform Mobile SDK 5.11.0 or later.

  • Batch audiences may be up to 24 hours stale (batch evaluation, once daily); this audience-freshness risk is not applicable to unitary use cases.

  • The first time a Live activity starts on a device, iOS shows a one-time permission prompt; the user must tap “Allow” for update tokens to be generated and synced.

  • For iOS broadcasts, input-push-channel must exactly match liveActivityData.channelID; a mismatch causes delivery failures.

  • For iOS, a feedbackStatus of sent confirms hand-off to APNs only, not device rendering; device-side failures and the 8-hour Live activity duration limit are not observable from the dataset.

Terminology:

  • Canonical name: API Triggered Campaign — Acronym: n/a — campaign types used for Live activities: API-triggered Transactional (unitary), API-triggered Marketing (broadcast)
  • Synonyms: “attributeType” = “attributes-type” (the same value; camelCase on the profile, hyphenated in APS JSON)
  • Do not confuse: input-push-channel (in the iOS APS payload) ≠ liveActivityData.channelID (in the iOS attributes); their values must match for broadcasts.
  • Do not confuse: “Push-to-start token” (starts an iOS Live activity, stored on the profile) ≠ “Update token” (updates or ends an iOS unitary instance, per instance)
  • Do not confuse: “Unitary” (API-triggered Transactional, individual profile) ≠ “Broadcast” (API-triggered Marketing, audience segment)
  • Do not confuse: execution statuses “PENDING” ≠ “INPROGRESS” ≠ “COMPLETED” ≠ “FAILED”
  • Do not confuse: feedbackStatus “sent” ≠ “error” ≠ “exclude” ≠ “delay”
  • Do not confuse: “timestamp” (iOS: the current Unix epoch time in seconds for every call; Android: the ordering key that must strictly increase per notification_id or topic_name) ≠ “when” (Android: optional notification display time that does not control ordering)
  • Do not confuse: la_event value “remotestart” (recorded in the dataset for initial delivery) ≠ “start” (the event field value in the payload)

FAQ:

  • Q: Why does the API return 200 OK but the Live activity does not appear? — A successful response (200 OK) does not guarantee the Live activity appears; the delivery can fail at multiple points, from API request validation through device rendering, so work through Scenarios 1 to 3.
  • Q: Can I use Assurance for production end-user devices? — No; Assurance sessions are for test and QA devices only. For production diagnostics, use the dataset queries.
  • Q: Why do update and end calls fail after the Live activity started? — The per-instance update token may not be synced; the user must have tapped “Allow” on the one-time permission prompt for update tokens to be generated (Scenario 4).
  • Q: How do I check execution status programmatically? — Use the GET Message Execution API; for unitary executions the executionId is prefixed with HUOC-, and the status field returns PENDING, INPROGRESS, COMPLETED, or FAILED.
  • Q: What does a feedbackStatus of sent mean on iOS? — It confirms Journey Optimizer successfully handed the notification to APNs; it does not confirm that the Live activity was rendered on the device.
  • Q: Why are some audience members not receiving a broadcast? — The profile may not be in the audience, or a batch audience snapshot may be up to 24 hours stale; trigger on-demand evaluation or ensure a streaming update occurs (Scenario 7).

Personas:

  • marketer: Can open the Reports button on a Live activity Campaign and select View all time report to check Sending Statistics metrics. Can review the Live activity lifecycle section for Remote starts, Updates, Ends, and Totals count figures. The page states that if Send errors are greater than 0, check the Error Reasons table. Where: “Check campaign reports”.

Onboarding:

  • Level: Intermediate
  • First minimal step: Navigate to Customer, then Profiles, in Journey Optimizer to search for a profile using the namespace and identity value from the API request.
  • Success check: The profile is found, and you can continue with the token checks for your platform.
  • Previous: Creating the Live activity message before triggering it: Create a Live activity message (mobile-live/create-mobile-live.md)
  • Next: Learning more about Live activity campaign reporting metrics: Campaign Live activity report (reports/campaign-global-report-cja-activity.md)
recommendation-more-help
journey-optimizer-help