Ir al contenido

Models and Events

CampoPor defectoPara qué sirve
debugfalseSolo la verbosidad de los logs del SDK; no cambia el backend
environmentEnvironment.ProductionBackend con el que habla el SDK (Production o Development)
modeMode.ClientSe ignora: los popups siempre llegan desde Deepdots. Se mantiene por compatibilidad (pasa nil desde Swift)
popupOptionsPopupOptions()Credenciales: id, publicKey, companyId
provideLang{ null }Resolver del idioma actual de la UI
autoLaunchfalseEmpieza a evaluar los triggers justo después de initialize
storagenull (persistente)KeyValueStorage del host; ver Analítica
trackingEnabledtrueArranca con el tracking activado, o desactivado a la espera de consentimiento
analyticsnullAnalyticsKeys de la integración de analítica; sin ellas el canal funciona en dry-run
geolocationtruePaís y ciudad por IP en analytics; false desactiva la consulta y el valor guardado
contactAttributesnullAtributos que se guardan en el Contact del backend (requiere metadata["userId"])
renderChrometrueSi el SDK pinta el scrim y la tarjeta
showProgressBarnullTexto y barra de progreso bajo la cabecera del popup
metadatanullMetadatos arbitrarios del host que se envían al backend

renderChrome (por defecto true, desde 0.4.0) controla si el SDK pinta el “modal” del popup — el scrim oscurecido y la tarjeta redondeada con elevación que dibuja PopupView. Ponlo en false para renderizar el popup transparente y a pantalla completa, de modo que se integre en tu propia pantalla; la encuesta sigue funcional (botón de cerrar en el header, footer con back/start/complete/send). Refleja el flag renderChrome de web/RN. Ten en cuenta la divergencia nativa: el chrome es Compose nativo (no HTML) y el SDK sigue auto-montando un overlay a pantalla completa, así que el flag quita el scrim y la tarjeta pero no cede a tu app el montaje del contenedor.

showProgressBar (por defecto null, desde 0.5.0) muestra un texto Pregunta X de Y con una barra de progreso bajo la cabecera del popup. Con null se respeta el showProgressBar configurado para la encuesta en la plataforma; true / false lo fuerzan desde el host. Respeta el progressUnit de la encuesta (número de preguntas o porcentaje), showProgressUnit y loadingBarColor, y se oculta en la pantalla de inicio, en la de fin y cuando la encuesta tiene una sola página. Refleja el flag showProgressBar de web/RN.

  • id
  • publicKey
  • companyId
  • surveyId
  • productId
  • data
  • id
  • title
  • message
  • trigger
  • triggers
  • conditions
  • cooldown
  • legacyConditions
  • actions
  • surveyId
  • productId
  • style
  • segments

Tipos de trigger soportados en el código:

  • Trigger.TimeOnPage(seconds: Double)
  • Trigger.Scroll(percentage: Int)
  • Trigger.Exit(delaySeconds: Double = 0.0)
  • Trigger.Event(name: String)
  • Trigger.Click(targetId: String)
  • theme
  • position
  • imageUrl
  • imageSize
  • imageAlignment
  • font — PopupFont(family, url?), desde 0.4.0

font aplica una fuente personalizada al chrome nativo (título del popup, botones y controles de formulario) y a la encuesta dentro del WebView. Refleja PopupStyle.font de Web. La fuente se descarga una vez y se cachea durante la sesión; family se sanea y url solo se acepta por http(s) o data:. Se configura con el estilo del popup en la plataforma.

  • lang
  • path
  • PopupShown
  • PopupClicked
  • SurveyCompleted

El helper compartido Event.code() los mapea a:

  • popup_shown
  • popup_clicked
  • survey_completed
  • popupId
  • surveyId
  • productId
  • extra
  • timestamp
  • metadata es donde los ejemplos pasan el userId
  • LegacyCondition sigue soportado por compatibilidad hacia atrás