App Tracking Transparency para apps web empaquetadas: cuándo necesitas la solicitud y cómo la gestiona WebViewGold
Si tu app muestra anuncios de AdMob o de Meta, o envía datos a una red publicitaria que relaciona usuarios entre apps, iOS exige la solicitud de App Tracking Transparency antes de que se produzca cualquier seguimiento. WebViewGold muestra la solicitud, mantiene la clave de Info.plist que exige Apple y le dice a tu app web qué decidió el usuario. Aquí tienes el panorama completo, incluida la parte de Google Play.
Desde $109 de pago único por plataforma, o deja que nuestro equipo lo haga todo desde $698.
Garantía de aprobación – o te devolvemos el dinero en 14 días
Sin programar
Pago único, actualizaciones gratuitas
Soporte humano 24/7
Hecho en Alemania desde 2014 · ISO 27001
9:41
Tu app
Tu appYa en tu bolsillo
App Store · Google Play Aprobada
Qué cuenta como seguimiento
Apple define el seguimiento como vincular los datos sobre un usuario o un dispositivo recopilados en tu app con datos recopilados por apps y sitios web de otras empresas, con fines de publicidad dirigida o de medición, o compartirlos con intermediarios de datos (data brokers). Los anuncios personalizados de AdMob, Meta Audience Network, la atribución de instalaciones mediante los SDK de Meta o TikTok, las plataformas de atribución y compartir correos cifrados con hash con redes publicitarias son seguimiento. Tu propia analítica, los datos de Supabase o Firebase usados para tus propias funciones, la prevención del fraude y los anuncios contextuales (no personalizados) no lo son.
La Directriz 5.1.2 lo une todo: el seguimiento requiere la solicitud ATT del sistema, la app debe respetar un "no", no puedes condicionar funciones al consentimiento y las respuestas de App Privacy deben coincidir. Los SDK de anuncios nativos de WebViewGold están construidos en torno a esto: AdMob solo lee el identificador de publicidad cuando el usuario lo ha permitido y, en caso contrario, sirve anuncios no personalizados.
¿Necesitas la solicitud?
Tu configuración
Solicitud ATT
Notas
Anuncios de AdMob de banner, intersticiales o con recompensa mediante WebViewGold
Sí
El Google Mobile Ads SDK usa el IDFA para anuncios personalizados; muestra la solicitud y declara los datos de publicidad
Anuncios de Meta Audience Network mediante WebViewGold
Sí
Meta exige la solicitud para anuncios personalizados en iOS
Anuncios en Facebook o Instagram para promocionar la app, con el SDK de Meta para la atribución de instalaciones
Sí
La atribución entre apps es seguimiento por definición
Scripts de anuncios web (AdSense) dentro de la WebView, useAdsenseAds
Zona gris; la respuesta prudente es sí
El script de anuncios usa cookies para anuncios basados en intereses entre sitios; declara los datos de publicidad en cualquier caso
Sin anuncios, sin SDK de atribución, solo analítica propia
No
Mantén igualmente la clave de seguimiento en Info.plist (WebViewGold la necesita) y responde "sin seguimiento" en App Privacy
Cómo funciona en WebViewGold
Un texto de permiso, una solicitud y una variable de JavaScript.
Escribe el texto de finalidad
Info.plist contiene "Privacy - Tracking Usage Description" (NSUserTrackingUsageDescription). Sustituye el texto de ejemplo por una frase que un usuario entienda, por ejemplo "Lo usamos para mostrarte anuncios relevantes, que mantienen la app gratuita." No elimines la clave: la documentación de publicación de WebViewGold indica que es obligatoria y que quitarla hace que la app se cierre inesperadamente.
Deja que aparezca la solicitud del sistema
WebViewGold solicita la decisión de seguimiento en el primer arranque, así que el usuario ve el diálogo estándar de Apple con tu texto de finalidad. Puedes mostrar antes tu propia pantalla breve de explicación, siempre que no imite el diálogo del sistema ni recompense pulsar Permitir.
Lee la decisión en tu app web
Navega a user-disable-tracking://; WebViewGold pone window.trackingDisabled en true cuando se denegó el seguimiento y en false cuando se permitió. En iOS puedes combinarlo con otras llamadas mediante multiapicall://user-disable-tracking,getappversion. Documentación: User Tracking Decision API.
Reacciona a un "no"
Carga anuncios no personalizados o ningún script de anuncios, y omite los píxeles y las llamadas de atribución. Para los anuncios nativos de AdMob, ATTDeniedShowAds en Config.swift decide: false deja de mostrar anuncios por completo cuando se deniega el seguimiento, true mantiene los anuncios no personalizados. Mantén askForAdConsent activado para que el formulario de consentimiento de Google gestione a los usuarios de la UE y el Reino Unido (ASK_FOR_AD_CONSENT en Android).
Android: sin ATT, pero con declaraciones
En Android no hay una solicitud de seguimiento del sistema. En su lugar, declaras el ID de publicidad en el formulario Data safety, respetas el ajuste "Eliminar ID de publicidad" del usuario (el SDK lo hace) y te apoyas en el mismo formulario de consentimiento de Google para el consentimiento regional.
WebViewGold nos ha permitido el tiempo de mercado más corto y eficiente que jamás sea posible de todas las otras plataformas de aplicaciones que hemos probado durante los últimos 5 años. No sé por qué no lo había descubierto antes, ¡pero estoy muy, muy contento de haberlo hecho. Actualmente cerca de 6000 descargas de aplicaciones tanto en iOS App Store & Google Play Store sin ningún problema!
Llámalo una vez por sesión antes de cargar cualquier script de anuncios o píxel. La app define la variable poco después de la navegación.
javascript
const isIOSApp = /WebViewGoldApp/.test(navigator.userAgent) && /iPhone|iPad/.test(navigator.userAgent);
function withTrackingDecision(callback) {
if (!isIOSApp) { callback(false); return; } // web y Android: usa en su lugar tu consentimiento de cookies
window.location.href = "user-disable-tracking://"; // WebViewGold define window.trackingDisabled
setTimeout(() => callback(window.trackingDisabled === true), 500);
}
withTrackingDecision((denied) => {
if (denied) {
loadContextualAdsOnly(); // sin anuncios personalizados, sin píxeles, sin llamadas de atribución
} else {
loadAdsAndPixels();
}
});
Etiquetas de privacidad y declaraciones en las tiendas
App Privacy (Apple): con anuncios, declara "Datos de publicidad" e "ID de dispositivo" en "Datos usados para rastrearte" (Data Used to Track You). Sin anuncios, nada se usa para seguimiento aunque recopiles analítica.
La pregunta del IDFA al subir ("Does this app use the Advertising Identifier?"): el SDK de AdMob forma parte de WebViewGold aunque los anuncios estén desactivados, así que la documentación de publicación recomienda responder que sí y marcar solo "Attribute this app installation to a previously served advertisement" cuando no sirves anuncios, y además "Serve advertisements within the app" cuando sí los sirves.
Data safety de Google Play: "ID de dispositivo u otros ID" recopilados y compartidos para publicidad cuando AdMob está activo; la declaración de anuncios ("¿Tu app contiene anuncios?") en sí; el SDK añade el permiso del ID de publicidad, que debe coincidir con tu formulario.
Política de privacidad: nombra las redes publicitarias, explica la diferencia entre anuncios personalizados y no personalizados y enlaza los mecanismos de exclusión. La guía de privacidad tiene la estructura.
Apps familiares o infantiles: no se permiten solicitudes ATT para niños, los anuncios deben estar certificados para público infantil y se aplica la política de Familias de Play.
Si no muestras anuncios
La mayoría de las apps hechas con vibe coding no los muestran. En ese caso la lista es corta: deja showBannerAd y showFullScreenAd desactivados en Config.swift (y las opciones equivalentes en Config.java), mantén la clave de uso de seguimiento con una frase neutra, responde a la pregunta del IDFA como indica la documentación de publicación y declara que no hay seguimiento en App Privacy y que no hay publicidad en el formulario Data safety. Si más adelante añades anuncios, eso supone una actualización en la tienda más nuevas respuestas de privacidad, y la solicitud empezará a aparecer a los usuarios existentes en el primer arranque de la nueva versión.
Preguntas frecuentes
¿Google Analytics o Firebase Analytics requieren la solicitud ATT?
No por sí mismos. La analítica de tu propio producto no es seguimiento según la definición de Apple. Se convierte en seguimiento cuando los datos se vinculan con redes publicitarias para segmentación o atribución, por ejemplo al vincular conversiones de Google Ads.
¿Puedo explicar el motivo antes de que aparezca la solicitud del sistema?
Sí. Se permite una pantalla breve en tu app web que explique el beneficio. No debe parecerse al diálogo del sistema, no debe ofrecer una recompensa por permitirlo y no debe bloquear la app si el usuario lo rechaza.
¿Una solicitud denegada rompe AdMob?
No. AdMob sirve anuncios no personalizados, normalmente con ingresos más bajos. ATTDeniedShowAds te permite elegir entre anuncios no personalizados y ningún anuncio.
¿Cuál es el equivalente en Android?
No hay solicitud del sistema. Android se basa en la declaración del ID de publicidad en Data safety, en los ajustes del ID de publicidad del usuario y en los formularios de consentimiento en las regiones que los exigen.
¿Mi sitio web también necesita ATT?
No. ATT es un concepto de las apps de iOS. Tu sitio web sigue en su lugar las leyes de cookies y consentimiento.
Tres formas de llevar tu app a las tiendas
El mismo resultado, con distinta cantidad de trabajo por tu parte. Las tres incluyen la garantía de aprobación y soporte humano 24/7.
Hazlo tú mismo
$109 por plataforma, pago único
La licencia de WebViewGold: un proyecto de Xcode o Android Studio listo para usar. Pega tu URL, define nombre e icono, activa funciones, compila y envía. Actualizaciones gratuitas para siempre.
Sin Mac, sin Xcode, sin Android Studio: configura en el navegador, compilamos ambas apps en la nube y las entregamos a App Store Connect y a Play Console.
Envíanos tu URL y tu icono. Nuestro equipo configura, compila y entrega tu app en 72 horas, en marca blanca y con los proyectos fuente. Ambas plataformas por $1,158.
Los reembolsos se conceden bajo las condiciones indicadas en nuestras FAQ: un rechazo por motivos ajenos al contenido por parte de Apple y/o Google, reclamado dentro de los 14 días posteriores a la compra.