Las subastas de Protected Audience se pueden analizar, ya sea de manera visual o mediante una consulta en SQL con Perfetto. Las tecnologías publicitarias pueden usar la generación de perfiles con Perfetto para medir el rendimiento de las subastas de Protected Audience, incluido lo siguiente:
- Tiempo de CPU de la secuencia de comandos de ofertas y puntuación
- Latencia de las solicitudes HTTP, como el servicio del par clave-valor
- Impacto en el rendimiento de la caché fría en comparación con la caché activa
- Más o menos públicos personalizados
- Comparación entre conjuntos de indicadores más grandes y más pequeños
- Diferentes secuencias de comandos de lógica de ofertas por público personalizado en comparación con el uso de la misma secuencia de comandos para todas las ofertas
Configuración
Clona los repositorios de Perfetto y Privacy Sandbox.
git clone https://android.googlesource.com/platform/external/perfetto
git clone https://github.com/android/privacy-sandbox-samples
En Android Studio, abre la app de ejemplo de Protected Audience desde el directorio
privacy-sandbox-samples/Fledge/FledgeKotlin
.Compila y, luego, instala la app de ejemplo en tu dispositivo de prueba o emulador.
Cómo ejecutar una subasta y realizar un seguimiento de Perfetto
- Configura y, luego, implementa extremos HTTPS de prueba. Anota la URL de los extremos alojados, ya que son necesarios para que funcione la app de demo de Protected Audience.
Inicia la app de demo con una URL de extremo de prueba especificada. Reemplaza
<test-endpoint-url>
por una URL de extremo alojada que registraste en el paso anterior.adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \ -e baseUrl "<test-endpoint-url>"
Activa "Shoes CA" para garantizar que haya, al menos, 1 público personalizado activo.
Registra un seguimiento con el archivo trace_config.textproto del repositorio de GitHub de Herramientas para desarrolladores de Privacy Sandbox:
./perfetto/tools/record_android_trace \ -c path/to/trace_config.textproto
Presiona el botón "Run Ad Selection" y espera los resultados de la subasta. Cuando finaliza la subasta, el resultado muestra un mensaje como "Would display ad from
http://example.com/bidding/render_shoes
".En tu terminal, finaliza (CTRL + C) el programa
record_android_trace
para terminar el seguimiento. Se abrirá la IU de Perfetto en tu navegador con los datos del seguimiento cargados.
Realiza una exploración visual de los seguimientos en Perfetto
Busca "RunOnDeviceAdSelection" con la barra de direcciones de la parte superior de la IU. Haz clic en Enter para completar la búsqueda y mostrar los resultados:
Haz clic en un seguimiento para inspeccionarlo. Los detalles como la latencia de ejecución están disponibles aquí.
Segmentos de seguimiento específicos de Protected Audience
La subasta de Protected Audience es un proceso complejo y el seguimiento de Perfetto captura muchos segmentos diferentes. En esta tabla, se documenta lo que representa cada segmento de seguimiento.
Hora | Segmento | Descripción | Frecuencia |
---|---|---|---|
Antes de la subasta | RunOnDeviceAdSelection |
Extremo a extremo de la subasta | Por subasta |
Ofertas (orientadas a la compra) | FilterContextualAds |
Filtra la limitación de frecuencia y la instalación de apps en anuncios contextuales | Por subasta |
GetBuyersCustomAudience |
Carga público personalizado del comprador desde la base de datos | Por comprador | |
FilterCustomAudiences |
Filtra la limitación de frecuencia y la instalación de apps en públicos personalizados | Por subasta | |
GetTrustedBiddingSignals |
Carga indicadores de ofertas del comprador | Por comprador | |
RunBiddingPerCustomAudience |
Ofertas de anuncios para un único público personalizado | Por público personalizado | |
GetBuyerDecisionLogic |
Carga el JavaScript del comprador desde la red o la base de datos, si está almacenado en caché | Por público personalizado | |
RunBidding |
Ejecución de JavaScript para un comprador | Por comprador | |
GenerateBids |
Ejecución de JavaScript para un público personalizado | Por público personalizado | |
Puntuación (orientada a la venta) | GetTrustedScoringSignals |
Carga los indicadores de puntuación del vendedor | Por vendedor |
RunAdScoring |
Ejecución de JavaScript para la puntuación | Por subasta | |
ScoreAd |
Ejecución de JavaScript para un anuncio | Por anuncio | |
GetAdSelectionLogic |
Carga la lógica de selección de anuncios del vendedor | Por subasta | |
RunAdOutcomeSelection |
Filtrado final | Por subasta | |
Después de la subasta | PersistOnDeviceAdSelection |
Escribe el resultado de la subasta en la base de datos | Por subasta |
Cómo consultar la latencia de ejecución promedio
Perfetto puede usar consultas en SQL para obtener mediciones precisas de lo que sucede dentro de un seguimiento en particular.
En esta sección, se documenta cómo medir la latencia de ejecución promedio para la ejecución de JavaScript.
- En Perfetto, navega a "Query (SQL)" en el panel de navegación izquierdo.
Ingresa la siguiente consulta:
SELECT AVG(dur) FROM slice WHERE slice.name GLOB 'FetchPayload';
Ejecuta la consulta y, luego, inspecciona los resultados.