Models and Events
Models and Events
Sección titulada «Models and Events»Modelos de inicialización
Sección titulada «Modelos de inicialización»InitOptions
Sección titulada «InitOptions»| Campo | Por defecto | Para qué sirve |
|---|---|---|
debug | false | Solo la verbosidad de los logs del SDK; no cambia el backend |
environment | Environment.Production | Backend con el que habla el SDK (Production o Development) |
mode | Mode.Client | Se ignora: los popups siempre llegan desde Deepdots. Se mantiene por compatibilidad (pasa nil desde Swift) |
popupOptions | PopupOptions() | Credenciales: id, publicKey, companyId |
provideLang | { null } | Resolver del idioma actual de la UI |
autoLaunch | false | Empieza a evaluar los triggers justo después de initialize |
storage | null (persistente) | KeyValueStorage del host; ver Analítica |
trackingEnabled | true | Arranca con el tracking activado, o desactivado a la espera de consentimiento |
analytics | null | AnalyticsKeys de la integración de analítica; sin ellas el canal funciona en dry-run |
geolocation | true | País y ciudad por IP en analytics; false desactiva la consulta y el valor guardado |
contactAttributes | null | Atributos que se guardan en el Contact del backend (requiere metadata["userId"]) |
renderChrome | true | Si el SDK pinta el scrim y la tarjeta |
showProgressBar | null | Texto y barra de progreso bajo la cabecera del popup |
metadata | null | Metadatos 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.
PopupOptions
Sección titulada «PopupOptions»idpublicKeycompanyId
ShowOptions
Sección titulada «ShowOptions»surveyIdproductIddata
Modelo de definición de popup
Sección titulada «Modelo de definición de popup»PopupDefinition
Sección titulada «PopupDefinition»idtitlemessagetriggertriggersconditionscooldownlegacyConditionsactionssurveyIdproductIdstylesegments
Modelos de trigger
Sección titulada «Modelos de trigger»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)
Modelos de estilo y segmentación
Sección titulada «Modelos de estilo y segmentación»themepositionimageUrlimageSizeimageAlignmentfont—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.
Segments
Sección titulada «Segments»langpath
Modelo de eventos
Sección titulada «Modelo de eventos»PopupShownPopupClickedSurveyCompleted
El helper compartido Event.code() los mapea a:
popup_shownpopup_clickedsurvey_completed
EventData
Sección titulada «EventData»popupIdsurveyIdproductIdextratimestamp
Notas para equipos de integración
Sección titulada «Notas para equipos de integración»metadataes donde los ejemplos pasan eluserIdLegacyConditionsigue soportado por compatibilidad hacia atrás