Conceptos, valor y escenarios típicos de clon — menos código.
Conceptos, valor y escenarios típicos de clon — menos código.
Preparing Ring content
Preparing Ring content
Preparing Ring content
La cortina de página es un banner estrecho (alrededor del 10% de la altura de la pantalla) que aparece cuando un visitante deja de desplazarse. Muestra uno de dos tipos de oferta: Añadir a pantalla de inicio para la app, o un producto que un vendedor ha decidido anunciar. En artículos de noticias y publicaciones del blog de miembros, un producto añadido desde la cortina puede generar una comisión para el autor de la página cuando el comprador paga más tarde.
Usa las pestañas Founder / Developer de la barra lateral de la documentación para filtrar esta página. Las secciones compartidas se aplican a ambas audiencias.
Estado (2026-10-26): Disponible en Layer 1 y configurable por clon mediante el bloque curtain de ring-config.json. La cola ahora respeta los descartes anteriores, así que un visitante que eligió Hoy no ya no ve el mismo banner en la página siguiente.
| Sin la cortina | Con la cortina |
|---|---|
| Los avisos de instalación dependen del navegador | Ring ofrece Añadir a pantalla de inicio por sí mismo, una vez por ventana de política |
| Los autores no ganan con los productos que mencionan | Los autores reciben crédito adicional en carritos pagados que empezaron en su página |
| Los vendedores pagan anuncios en otro sitio | Los vendedores activan un producto y fijan una comisión de autor del 1% al 10% |
Los autores atraen lectores; los vendedores quieren compradores. La cortina conecta a ambos sin un sistema de anuncios aparte. Un vendedor marca un producto, un autor lo enlaza o escribe sobre el mismo tema, y cuando un lector lo compra, el autor recibe una recompensa en crédito de la plataforma. El pago al vendedor no se reduce: la comisión se emite como crédito adicional.
Las páginas de artículos son donde aparecen las ofertas de productos.
Las publicaciones de miembros reciben las mismas ofertas y comisión de autor.
Los vendedores activan la publicidad en la cortina desde el formulario del producto.
Depende de: productos, carrito y pedidos pagados que activan la comisión.
Mismo flujo: páginas de artículos que alojan ofertas de productos.
Mismo flujo: las publicaciones de miembros alojan las mismas ofertas.
Ver también: recompensas de crédito, que deben estar activadas para la comisión.
La cortina de página es un banner estrecho (alrededor del 10% de la altura de la pantalla) que aparece cuando un visitante deja de desplazarse. Muestra uno de dos tipos de oferta: Añadir a pantalla de inicio para la app, o un producto que un vendedor ha decidido anunciar. En artículos de noticias y publicaciones del blog de miembros, un producto añadido desde la cortina puede generar una comisión para el autor de la página cuando el comprador paga más tarde.
Usa las pestañas Founder / Developer de la barra lateral de la documentación para filtrar esta página. Las secciones compartidas se aplican a ambas audiencias.
Estado (2026-10-26): Disponible en Layer 1 y configurable por clon mediante el bloque curtain de ring-config.json. La cola ahora respeta los descartes anteriores, así que un visitante que eligió Hoy no ya no ve el mismo banner en la página siguiente.
| Sin la cortina | Con la cortina |
|---|---|
| Los avisos de instalación dependen del navegador | Ring ofrece Añadir a pantalla de inicio por sí mismo, una vez por ventana de política |
| Los autores no ganan con los productos que mencionan | Los autores reciben crédito adicional en carritos pagados que empezaron en su página |
| Los vendedores pagan anuncios en otro sitio | Los vendedores activan un producto y fijan una comisión de autor del 1% al 10% |
Los autores atraen lectores; los vendedores quieren compradores. La cortina conecta a ambos sin un sistema de anuncios aparte. Un vendedor marca un producto, un autor lo enlaza o escribe sobre el mismo tema, y cuando un lector lo compra, el autor recibe una recompensa en crédito de la plataforma. El pago al vendedor no se reduce: la comisión se emite como crédito adicional.
Las páginas de artículos son donde aparecen las ofertas de productos.
Las publicaciones de miembros reciben las mismas ofertas y comisión de autor.
Los vendedores activan la publicidad en la cortina desde el formulario del producto.
Depende de: productos, carrito y pedidos pagados que activan la comisión.
Mismo flujo: páginas de artículos que alojan ofertas de productos.
Mismo flujo: las publicaciones de miembros alojan las mismas ofertas.
Ver también: recompensas de crédito, que deben estar activadas para la comisión.
La cortina de página es un banner estrecho (alrededor del 10% de la altura de la pantalla) que aparece cuando un visitante deja de desplazarse. Muestra uno de dos tipos de oferta: Añadir a pantalla de inicio para la app, o un producto que un vendedor ha decidido anunciar. En artículos de noticias y publicaciones del blog de miembros, un producto añadido desde la cortina puede generar una comisión para el autor de la página cuando el comprador paga más tarde.
Usa las pestañas Founder / Developer de la barra lateral de la documentación para filtrar esta página. Las secciones compartidas se aplican a ambas audiencias.
Estado (2026-10-26): Disponible en Layer 1 y configurable por clon mediante el bloque curtain de ring-config.json. La cola ahora respeta los descartes anteriores, así que un visitante que eligió Hoy no ya no ve el mismo banner en la página siguiente.
| Sin la cortina | Con la cortina |
|---|---|
| Los avisos de instalación dependen del navegador | Ring ofrece Añadir a pantalla de inicio por sí mismo, una vez por ventana de política |
| Los autores no ganan con los productos que mencionan | Los autores reciben crédito adicional en carritos pagados que empezaron en su página |
| Los vendedores pagan anuncios en otro sitio | Los vendedores activan un producto y fijan una comisión de autor del 1% al 10% |
Los autores atraen lectores; los vendedores quieren compradores. La cortina conecta a ambos sin un sistema de anuncios aparte. Un vendedor marca un producto, un autor lo enlaza o escribe sobre el mismo tema, y cuando un lector lo compra, el autor recibe una recompensa en crédito de la plataforma. El pago al vendedor no se reduce: la comisión se emite como crédito adicional.
Las páginas de artículos son donde aparecen las ofertas de productos.
Las publicaciones de miembros reciben las mismas ofertas y comisión de autor.
Los vendedores activan la publicidad en la cortina desde el formulario del producto.
Depende de: productos, carrito y pedidos pagados que activan la comisión.
Mismo flujo: páginas de artículos que alojan ofertas de productos.
Mismo flujo: las publicaciones de miembros alojan las mismas ofertas.
Ver también: recompensas de crédito, que deben estar activadas para la comisión.
/my-news) muestra el mismo embudo de 7 días para sus páginas más los créditos de cortina ganados.requestCurtainDrop en features/curtain/actions.ts devuelve hasta tres ofertas (CURTAIN_QUEUE_MAX):
/admin, /login, /register, /auth, /vendor o /store/checkout.newsArticleId mediante CurtainPageProvider (artículos de noticias y publicaciones del blog de miembros). El artículo debe estar publicado y ser visible para el lector según canViewNewsArticle./store/<id> encontrados en el cuerpo del artículo. Los productos del pool son productos activos con curtainAdvertiseEnabled. Cada uno debe estar anunciado, activo, tener precio, no ser un producto propio del vendedor que mira y no estar suprimido.curtain-host.tsx muestra la cola y aplica canShowOffer a cada elemento en cola, lo que corrige que volvieran los banners descartados.
| Respuesta | Efecto |
|---|---|
| CTA | Añadir al carrito (producto) o aviso de instalación (A2HS) |
| Hoy no | Suprimido durante notTodayHours desde ahora |
| No me interesa | Suprimido para siempre para esa oferta |
| Desplazarse | Se registra, sin supresión |
Las preferencias se guardan en localStorage (ring_curtain_prefs) y, para miembros con sesión iniciada, en la tabla curtain_preferences (migración 050, parte de schema.sql) mediante syncCurtainPrefs.
offerToken HMAC de features/curtain/lib/offer-token.ts, firmado con AUTH_SECRET. Vincula oferta, producto, autor y artículo.ring_curtain_attr y en el almacenamiento (ventana de 30 días, como máximo 12 toques).verifyCurtainTouches. El autor y el porcentaje salen del token y del producto actual, nunca del navegador.mintCurtainAuthorCommission en features/curtain/services/commission.ts añade crédito al autor: subtotal de la línea por el porcentaje del producto (de 1 a 10, por defecto 5). Omite las compras propias, al referente del pedido y los duplicados, y solo se ejecuta cuando las recompensas de crédito están activadas.curtain_shown, curtain_response, curtain_cta, curtain_suppress y curtain_paid alimentan getCurtainFunnel en features/analytics/lib/curtain-analytics.ts.El formulario de producto del vendedor incluye AdvertiseProductWidget (features/curtain/components/advertise-product-widget.tsx). Escribe curtainAdvertise: { enabled, commissionPercent } y curtainAdvertiseEnabled en el producto. Un producto sin precio no se puede anunciar.
No. Es crédito adicional emitido al autor, registrado con la fuente curtain_author.
No en una instalación nueva. Las bases de datos existentes necesitan 050_curtain_offers.sql para curtain_preferences y el índice de analítica.
Pon "curtain": { "enabled": false } en el ring-config.json de ese clon y vuelve a compilar.
Ver también: atribución de referidos, que comparte la ventana de 30 días.
/my-news) muestra el mismo embudo de 7 días para sus páginas más los créditos de cortina ganados.requestCurtainDrop en features/curtain/actions.ts devuelve hasta tres ofertas (CURTAIN_QUEUE_MAX):
/admin, /login, /register, /auth, /vendor o /store/checkout.newsArticleId mediante CurtainPageProvider (artículos de noticias y publicaciones del blog de miembros). El artículo debe estar publicado y ser visible para el lector según canViewNewsArticle./store/<id> encontrados en el cuerpo del artículo. Los productos del pool son productos activos con curtainAdvertiseEnabled. Cada uno debe estar anunciado, activo, tener precio, no ser un producto propio del vendedor que mira y no estar suprimido.curtain-host.tsx muestra la cola y aplica canShowOffer a cada elemento en cola, lo que corrige que volvieran los banners descartados.
| Respuesta | Efecto |
|---|---|
| CTA | Añadir al carrito (producto) o aviso de instalación (A2HS) |
| Hoy no | Suprimido durante notTodayHours desde ahora |
| No me interesa | Suprimido para siempre para esa oferta |
| Desplazarse | Se registra, sin supresión |
Las preferencias se guardan en localStorage (ring_curtain_prefs) y, para miembros con sesión iniciada, en la tabla curtain_preferences (migración 050, parte de schema.sql) mediante syncCurtainPrefs.
offerToken HMAC de features/curtain/lib/offer-token.ts, firmado con AUTH_SECRET. Vincula oferta, producto, autor y artículo.ring_curtain_attr y en el almacenamiento (ventana de 30 días, como máximo 12 toques).verifyCurtainTouches. El autor y el porcentaje salen del token y del producto actual, nunca del navegador.mintCurtainAuthorCommission en features/curtain/services/commission.ts añade crédito al autor: subtotal de la línea por el porcentaje del producto (de 1 a 10, por defecto 5). Omite las compras propias, al referente del pedido y los duplicados, y solo se ejecuta cuando las recompensas de crédito están activadas.curtain_shown, curtain_response, curtain_cta, curtain_suppress y curtain_paid alimentan getCurtainFunnel en features/analytics/lib/curtain-analytics.ts.El formulario de producto del vendedor incluye AdvertiseProductWidget (features/curtain/components/advertise-product-widget.tsx). Escribe curtainAdvertise: { enabled, commissionPercent } y curtainAdvertiseEnabled en el producto. Un producto sin precio no se puede anunciar.
No. Es crédito adicional emitido al autor, registrado con la fuente curtain_author.
No en una instalación nueva. Las bases de datos existentes necesitan 050_curtain_offers.sql para curtain_preferences y el índice de analítica.
Pon "curtain": { "enabled": false } en el ring-config.json de ese clon y vuelve a compilar.
Ver también: atribución de referidos, que comparte la ventana de 30 días.
/my-news) muestra el mismo embudo de 7 días para sus páginas más los créditos de cortina ganados.requestCurtainDrop en features/curtain/actions.ts devuelve hasta tres ofertas (CURTAIN_QUEUE_MAX):
/admin, /login, /register, /auth, /vendor o /store/checkout.newsArticleId mediante CurtainPageProvider (artículos de noticias y publicaciones del blog de miembros). El artículo debe estar publicado y ser visible para el lector según canViewNewsArticle./store/<id> encontrados en el cuerpo del artículo. Los productos del pool son productos activos con curtainAdvertiseEnabled. Cada uno debe estar anunciado, activo, tener precio, no ser un producto propio del vendedor que mira y no estar suprimido.curtain-host.tsx muestra la cola y aplica canShowOffer a cada elemento en cola, lo que corrige que volvieran los banners descartados.
| Respuesta | Efecto |
|---|---|
| CTA | Añadir al carrito (producto) o aviso de instalación (A2HS) |
| Hoy no | Suprimido durante notTodayHours desde ahora |
| No me interesa | Suprimido para siempre para esa oferta |
| Desplazarse | Se registra, sin supresión |
Las preferencias se guardan en localStorage (ring_curtain_prefs) y, para miembros con sesión iniciada, en la tabla curtain_preferences (migración 050, parte de schema.sql) mediante syncCurtainPrefs.
offerToken HMAC de features/curtain/lib/offer-token.ts, firmado con AUTH_SECRET. Vincula oferta, producto, autor y artículo.ring_curtain_attr y en el almacenamiento (ventana de 30 días, como máximo 12 toques).verifyCurtainTouches. El autor y el porcentaje salen del token y del producto actual, nunca del navegador.mintCurtainAuthorCommission en features/curtain/services/commission.ts añade crédito al autor: subtotal de la línea por el porcentaje del producto (de 1 a 10, por defecto 5). Omite las compras propias, al referente del pedido y los duplicados, y solo se ejecuta cuando las recompensas de crédito están activadas.curtain_shown, curtain_response, curtain_cta, curtain_suppress y curtain_paid alimentan getCurtainFunnel en features/analytics/lib/curtain-analytics.ts.El formulario de producto del vendedor incluye AdvertiseProductWidget (features/curtain/components/advertise-product-widget.tsx). Escribe curtainAdvertise: { enabled, commissionPercent } y curtainAdvertiseEnabled en el producto. Un producto sin precio no se puede anunciar.
No. Es crédito adicional emitido al autor, registrado con la fuente curtain_author.
No en una instalación nueva. Las bases de datos existentes necesitan 050_curtain_offers.sql para curtain_preferences y el índice de analítica.
Pon "curtain": { "enabled": false } en el ring-config.json de ese clon y vuelve a compilar.
Ver también: atribución de referidos, que comparte la ventana de 30 días.