Acerca de la API de Topics
En la publicidad para dispositivos móviles, los anunciantes desean publicar anuncios relevantes que se relacionen con el interés de un usuario. Por ejemplo, si a un usuario le interesa la información relacionada con la cocina, es posible que piense que los anuncios relacionados con ese tema son más relevantes que los que no se relacionan con sus intereses.
La publicidad contextual se basa exclusivamente en los intereses derivados de la el contenido actual que se ve (y en el que se publicita). Uno de los beneficios de La API de Topics es que permite apps que son útiles para el usuario, pero que quizás podrían No se moneticen fácilmente con publicidad contextual para mostrar anuncios más relevantes. al usuario que de otra forma, lo que ayuda a financiar las aplicaciones a las que usa el usuario.
La API de Topics infiere indicadores generales de interés en el dispositivo a partir de las apps que usa un usuario. Estos indicadores, llamados temas, se compartirán con los anunciantes admiten indicadores propios y otros indicadores propios sin requerir el seguimiento de usuarios individuales en las apps.
La API de Topics está diseñada para admitir SDKs de publicidad de terceros que normalmente operan en varias apps. Esta asistencia se presenta en la forma algunos de los intereses entre apps que esos SDKs normalmente observar. Los desarrolladores de apps individuales no deberían esperar aprender información sobre sus usuarios.
Conceptos clave
- Un tema es aquel que es de interés legible para un usuario y forma parte de la taxonomía de Topics.
- Un llamador (una app o un SDK de terceros que se usa en la app) observa un tema si envía una solicitud a la API de Topics desde una app asociada con este tema durante los últimos 3 ciclos de entrenamiento.
- Un ciclo de entrenamiento es un período de procesamiento de temas, como una semana.
Cómo funciona
Con esta propuesta, la API de Topics tiene la intención de proporcionar a los llamadores temas de interés generales y basados en el uso de la app del usuario. Estos temas se pueden usar para complementar cualquier información contextual relacionada con la app que desee mostrar un anuncio y se pueden combinar a fin de ayudar a encontrar un anuncio adecuado para el usuario.
Consulta la Guía para desarrolladores de la API de Topics para obtener ejemplos de código que muestran cómo configurar la capacidad de recuperar temas para la publicidad basada en intereses. Nota: Las APIs aún no están finalizadas.
Los temas se seleccionan desde una taxonomía de código abierto predefinida.
La plataforma usa un modelo clasificador para inferir temas. La implementación de la API de Topics y su uso del clasificador formarán parte del Proyecto de código abierto de Android y mejorarán con el tiempo.
A fines ilustrativos, el siguiente ejemplo de código demuestra el uso de temas para obtener un anuncio basado en intereses. Las APIs que se usan aquí no son definitivas.
// Initialize the Topics API.
…
topicsFuture = AdvertisingTopicsClient.getTopics();
// Retrieve Topics and use them in Ad request.
Futures.addCallback(
topicsFuture,
new FutureCallback<AdvertisingTopicsInfo>() {
@Override
public void onSuccess(@Nullable AdvertisingTopicsInfo topicsInfo) {
// Sanitize Topics result.
...
// Initialize ad request with Topics obtained.
AdRequest adRequest = AdRequest.initialize(topicsInfo);
}
@Override
public void onFailure(Throwable t) {
// Handle error.
...
}
});
Para comprender mejor cómo funciona el modelo de clasificación, puedes probar cómo reaccionan los diferentes datos de app en el sistema mediante el Colab del clasificador de Topics de Android.
Obtén acceso a las APIs de Topics
Las plataformas de tecnología publicitaria deben inscribirse para acceder a la API de Topics. Consulta Inscríbete para obtener una cuenta de Privacy Sandbox si quieres obtener más información.
Detalles
Una vez en cada ciclo de entrenamiento (p. ej., una vez a la semana), los 5 temas principales del usuario se calculan usando información almacenada en el dispositivo.
- Cuando se llama a la API de Topics, la plataforma verificará si se asignó un tema a la app que invoca la API. Si no hay ningún tema asignado, se elegirá uno de la siguiente manera y se asignará a esta app durante el resto del ciclo de entrenamiento.
- Con una probabilidad del 95%, se elige un tema de forma aleatoria de la lista de los 5 temas principales calculados para ese ciclo de entrenamiento.
- Con un 5% de probabilidad, se elige de forma aleatoria un tema de la taxonomía.
- Un llamador puede especificar que le gustaría recuperar temas sin modificar el estado llamando a
getTopics
con el parámetroshouldRecordObservation = false
. Esto significa que se pueden mostrar temas, pero la llamada no se incluirá en el cálculo de la época semanal, ni actualizará la lista de temas observados para el llamador.
- La razón por la que cada app recibe uno de varios temas es para garantizar que las diferentes apps tengan temas distintos y, así, dificultar la correlación cruzada de un mismo usuario.
- Por ejemplo, la app A podría ver el tema T1 del usuario, pero la app B podría ver el tema T2. Esto hace que sea más difícil para las dos apps determinar que esta información está asociada con el mismo usuario.
- Cuando se llama a la API de Topics, la plataforma verificará si se asignó un tema a la app que invoca la API. Si no hay ningún tema asignado, se elegirá uno de la siguiente manera y se asignará a esta app durante el resto del ciclo de entrenamiento.
La API de Topics muestra una lista de hasta 3 temas, 1 de cada uno de los últimos 3 ciclos de entrenamiento.
- Si proporcionas hasta 3 temas, las apps que se usan con poca frecuencia tendrán suficientes temas para encontrar anuncios relevantes, pero las que se usan con mucha frecuencia aprenderán como máximo 1 tema nuevo por semana.
- La información del tema que se muestra incluye un ID de tema (int) que corresponde a una entrada en la taxonomía, una versión de taxonomía y una versión de modelo de clasificador.
- Solo los llamadores que observaron al usuario usan una app asociada con el tema en cuestión dentro los últimos 3 ciclos de entrenamiento pueden recibir el tema.
- Todos los temas que se muestran representan los intereses del usuario, y puedes seleccionar cualquiera o todos los temas para la personalización de anuncios en tu solicitud de anuncio.
Después de que se asigna un tema a la app que invoca la API de Topics, la plataforma determinará si el llamador puede recibir este tema.
- Solo los llamadores que observaron la participación de los usuarios de una app asociada con el tema en cuestión en los últimos 3 ciclos de entrenamiento pueden recibir el tema.
- Si el llamador no llamó a la API con anterioridad para ese usuario en una app relacionada con ese tema, el tema no se incluirá en la lista que muestra la API.
- Si el llamador no recibió ningún tema en los últimos 3 ciclos de entrenamiento, la API de Topics mostrará una lista vacía.
Por ejemplo, supongamos que el usuario tiene 7 apps instaladas en el dispositivo: A, B, C, D, E, F y G. Supongamos que la clasificación del tema de la app y el anuncio de los SDKs de tecnología en estas apps:
App Clasificación de temas SDK de tecnología publicitaria A T1, T5 ad-sdk1, ad-sdk2 B T2 ad-sdk2 C T3, T6 ad-sdk3, ad-sdk4 D T1, T4 ad-sdk1 E T5 ad-sdk4, ad-sdk5 F T6 ad-sdk2, ad-sdk3, ad-sdk4 G T7 ad-sdk2 - Final de la semana 1: la API de Topics genera los 5 temas principales del usuario para este ciclo de entrenamiento.
Tema principal Llamadores que pueden aprender el tema T1 ad-sdk1, ad-sdk2 T2 ad-sdk2 T3 ad-sdk3, ad-sdk4 T4 ad-sdk1 T5 ad-sdk1, ad-sdk2, ad-sdk4, ad-sdk5 - En la semana 2, si un llamador de cualquier app llama a la API, la lista de temas mostrada solo incluirá temas para los que el llamador esté en la columna "Llamadores que pueden aprender el tema" de un tema y app determinados para ese ciclo de entrenamiento.
- La ventana del historial incluida en el cálculo de los temas disponibles para cada llamador comprende 3 ciclos de entrenamiento (o 3 semanas).
- Solo temas asociados con apps que invocan la API de Topics mediante anuncios cuando se usan SDKs. Esto significa que, si una app no incluye SDK que llaman a la API de Topics, los temas asociados con esa aplicación no para contribuir al conjunto de temas a los que pueden acceder los SDK de anuncios.
- Una app también puede inhabilitar declarativamente la API de Topics a través de nuevos elementos de manifiesto y XML para impedir que los SDKs de anuncios usen la API para esa app. Los temas asociados con las apps inhabilitadas no contribuyen al cálculo semanal de temas. Este documento se actualizará para incluir los detalles de implementación relacionados.
Si no existe suficiente uso de la app para que la plataforma infiera 5 temas, esta podría, por ejemplo, generar temas restantes de forma aleatoria.
Taxonomía
- En la propuesta actual, la taxonomía inicial incluirá entre cientos y miles de temas. La propuesta inicial de taxonomía se compartirá en una actualización futura de este documento.
- Esta taxonomía será curada por seres humanos, por lo que no se incluirán temas sensibles.
- La taxonomía se adaptará a las categorías de anuncios que se pueden mostrar en las apps para dispositivos móviles en Android.
- La taxonomía está disponible públicamente y está sujeta a cambios. Las sugerencias se pueden presentar con el botón de comentarios en la parte superior de esta página.
Clasificador de temas
Los temas de interés derivan de un modelo clasificador que se entrena en función de la información pública de la app (como el nombre, la descripción y el nombre del paquete).
- Cuando se usa el modelo clasificador para la inferencia a fin de indicar los temas para un ciclo de entrenamiento determinado, el conjunto de indicadores utilizados permanece en el dispositivo. Este conjunto de indicadores puede incluir apps instaladas o usadas recientemente y, además, podría expandirse más tarde para incluir otros indicadores.
- Google entrenará los modelos iniciales, en los que los datos de entrenamiento incluirán etiquetas seleccionadas por seres humanos para obtener información disponible de manera pública sobre la app. El modelo estará disponible sin cargo para que las apps prueben los temas a fin de ver en cuáles clasifican.
- Los modelos iniciales se entrenarán con información disponible públicamente de las apps de un conjunto limitado de tiendas de aplicaciones, como Google Play Store.
- Es posible que una app se asigne a más de 1 tema, a ninguno, o bien que no se agregue al historial de temas del usuario. En caso de que una app se asigne a más de 1 tema en la taxonomía, la cantidad de temas elegidos para esta app se limitará a los 3 principales.
Controles de usuario
- El objetivo del diseño es que los usuarios puedan ver y quitar los temas asociados con su uso de la app. La implementación de esta función de control de usuario es un trabajo en curso y se incluirá en una actualización futura.
- Si el usuario desinstala una app que contribuyó a la selección de un tema inferido en los últimos 3 ciclos, ese tema no se quitará de la lista de temas mostrados en los últimos 3 ciclos para evitar la divulgación sobre la desinstalación.
Para facilitar la prueba de la experiencia del usuario final, también puedes iniciar un intent en la app para ver la IU de configuración de Topics de manera similar a como lo vería un usuario final. A continuación, se muestra un ejemplo de esa llamada:
//Button that launches settings UI
private Button mSettingsAppButton;
private static final String RB_SETTING_APP_INTENT = "android.adservices.ui.SETTINGS";
//Does setup for button on screen that will launch settings UI to observe Topics
private void registerLaunchSettingsAppButton() {
mSettingsAppButton.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
Context context = getApplicationContext();
Intent activity2Intent = new Intent(RB_SETTING_APP_INTENT);
activity2Intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(activity2Intent);
}
});
}
Inscribe una plataforma de tecnología publicitaria
Para acceder a la API de Topics, todas las plataformas de tecnología publicitaria (incluida la de Google) deben completar un proceso de inscripción
Los desarrolladores de apps pueden administrar qué desarrolladores de tecnología publicitaria pueden acceder a las APIs de Topics de la siguiente manera: incluido el ID de inscripción del desarrollador de tecnología publicitaria en el manifiesto de la app.
Encriptación de temas mostrados
Las plataformas de tecnología publicitaria inscritas que llaman a la API de Topics también deben proporcionar de encriptación para garantizar que solo los usuarios del dominio llamador.
Privacy Sandbox recuperará estas claves del extremo proporcionado por la tecnología publicitaria. Mié Se aconseja, como práctica recomendada, que las claves se actualicen con frecuencia, pero no más tarde cada 6 meses.
Privacy Sandbox solicitará a las plataformas de tecnología publicitaria que confirmen la disponibilidad del extremo que proporciona la tecnología publicitaria durante el proceso de inscripción. Para obtener más detalles acción requerida por las AdTech actuales y recién inscritas, consulte el módulo para desarrolladores.
Detalles de encriptación
Con la introducción de la encriptación, las llamadas a "GetTopics()" ahora generará un con una lista de "EncryptedTopic" objetos. Si desencriptas estos resultados, Esto generará un objeto con el mismo formato JSON que el objeto Topic anterior.
La API de Topics admite la implementación única de HPKE (clave pública híbrida). encriptación). Esperamos que el llamador inscrito aloje una clave pública de 32 bits en el extremo de URL de encriptación pública que se proporcionó durante la inscripción. Estas claves son se espera que esté codificado en Base64.
Los objetos EncryptedTopic tienen 3 campos. La lista de temas mostrados puede ser que se obtiene con la clave privada correspondiente a la clave pública.
Para fines de desarrollo, puedes probar la encriptación de la API de Topics inhabilitando la verificación de inscripción. Esto obligaría a la API a usar la clave pública de prueba para cifrando tus respuestas. Puedes desencriptar los temas encriptados con el la clave privada correspondiente.
Recomendaciones para ti
- Nota: El texto del vínculo se muestra cuando JavaScript está desactivado
- Notas de la versión
- Guía para desarrolladores de la API de Protected Audience en Android
- Guía para desarrolladores de la API de Topics