Requisitos previos
En esta guía de implementación, se supone que estás familiarizado con los siguientes elementos:
- Implementación de Anuncios de búsqueda personalizados (CSA) de AFS protocolo
- Desarrollo de apps para Android
- Asociación de los anuncios de Google para celulares SDK para Android (ahora parte de los Servicios de Google Play) con un proyecto de Android Studio. Se requiere la versión 9.0.0 de los Servicios de Google Play.
Clases
Para publicar anuncios de AFSMA (también conocidos como anuncios dinámicos de búsqueda de altura) en tu aplicación, implementa las siguientes clases:
- Esta clase se hereda de la clase
ViewGroup
de Android. y muestra los anuncios de AFSMA. El objetoSearchAdView
realiza la solicitud de un anuncio con unaDynamicHeightSearchAdRequest
y renderiza los anuncios que se muestran.SearchAdView
debe agregarse a cualquiera de los grupos de vistas existentes de la app. - Se debe crear una instancia de
SearchAdView
con el contexto en la que se ejecutaSearchAdView
, por lo general, unActivity
. - Una vez que se crea una instancia de
SearchAdView
, debes llamar al métodosetAdSize()
. conAdSize.SEARCH
para solicitar anuncios de AFSMA. Otros valores de enumeración solicitarán anuncios no compatibles con AFS para aplicaciones para dispositivos móviles. - Llama al método
setAdUnitId()
en este objeto con el código de tu propiedad.
DynamicHeightSearchAdRequest.Builder
- Esta clase encapsula los parámetros de la solicitud de anuncio. Esto es similar a la configuración de parámetros en los objetos de solicitud de anuncio de JavaScript. (opciones de página, opciones de unidad) para computadoras de escritorio y la Web móvil de AFS.
- Establece parámetros con los métodos set adecuados (en otras palabras,
llama a
setQuery()
para configurar el parámetro de consulta).
Ejemplo de implementación
En el siguiente ejemplo, se muestra cómo usar un Activity
para crear un SearchAdView
como una subvista de un ViewGroup
. Para solicitar correctamente los anuncios de AFSMA, la SearchAdView
El objeto debe llamar al método setAdSize()
con AdSize.SEARCH
.
// MainActivity.java implementation
// (MainActivity is a subclass of Activity)
// Create the SearchAdView
final SearchAdView searchAdView = new SearchAdView(this);
// Set parameter to request for dynamic height search ads
searchAdView.setAdSize(AdSize.SEARCH); // Important!
// Replace with your pub ID (e.g. ms-app-pub-9616389000213823)
searchAdView.setAdUnitId("ms-app-pub-################");
// Add searchAdView to parent view group
...
Dentro del mismo Activity
, crea un DynamicHeightSearchAdRequest.Builder
que
y determina los parámetros del anuncio que se renderizará en SearchAdView
.
Los anuncios de AFSMA se configuran de la misma manera que los anuncios de búsqueda personalizados de AFS.
Consulta los Anuncios de búsqueda personalizados de AFS.
Referencia
para conocer los detalles.
// Create the ad request
DynamicHeightSearchAdRequest.Builder builder =
new DynamicHeightSearchAdRequest.Builder();
builder.setQuery("flowers");
builder.setNumber(2);
// Replace with the ID of a style from your custom search styles
builder.setAdvancedOptionValue("csa_styleId", "0000000001");
// Customization options (set using setters on
// DynamicHeightSearchAdRequest.Builder)
builder.setAdTest(true);
Es posible establecer otras opciones de personalización si se configuran
DynamicHeightSearchAdRequest.Builder
.
Para realizar una solicitud de anuncio, llama al método loadAd()
con el
DynamicHeightSearchAdRequest.Builder
del objeto SearchAdView
:
searchAdView.loadAd(builder.build());
Opciones avanzadas
La mayoría de los parámetros de solicitud de anuncio se pueden establecer con métodos set
en el objeto DynamicHeightSearchAdRequest.Builder
.
Cualquier parámetro que no tenga un método set en
DynamicHeightSearchAdRequest.Builder
se puede establecer usando pares clave-valor con el
setAdvancedOptionValue()
.
Consulta los Anuncios de búsqueda personalizados de AFS
Referencia
para obtener una lista completa de los parámetros de configuración que se pueden establecer con el
setAdvancedOptionValue()
.
El parámetro clave debe tener el prefijo “csa_” para que la propiedad se configure correctamente.
// Advanced customization options (set using key-value pair)
// Set a parameter (parameter_name) and its value (parameter_value)
// builder.setAdvancedOptionValue("csa_parameter_name", "parameter_value");
// Example: Show visible URL below description
// (domainLinkAboveDescription: false)
builder.setAdvancedOptionValue("csa_domainLinkAboveDescription", "false");
Si usas el método set de un parámetro y lo configuras con setAdvancedOptionValue
,
la segunda llamada anulará el valor de la primera.
Investiga errores
SearchAdView
(aquí searchAdView
) contiene un método setAdListener()
.
para ayudarte a investigar errores. Dentro del mismo Activity
:
searchAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// Called when an ad is loaded
super.onAdLoaded();
Toast.makeText(MainActivity.this, "Ad Loaded",
Toast.LENGTH_SHORT).show();
Log.d(MainActivity.class.getSimpleName(), "Ad Loaded");
}
@Override
public void onAdOpened() {
// Called when an ad opens an overlay that covers the screen
super.onAdOpened();
Toast.makeText(MainActivity.this, "Ad Opened",
Toast.LENGTH_SHORT).show();
Log.d(MainActivity.class.getSimpleName(), "Ad Opened");
}
@Override
public void onAdLeftApplication() {
// Called when an ad leaves the application
// (to go to the browser for example)
super.onAdLeftApplication();
Toast.makeText(MainActivity.this, "Ad Left Application",
Toast.LENGTH_SHORT).show();
Log.d(MainActivity.class.getSimpleName(), "Ad Left Application");
}
@Override
public void onAdFailedToLoad(int errorCode) {
// Called when an ad request failed
super.onAdFailedToLoad(errorCode);
Toast.makeText(MainActivity.this, "Ad Failed to Load: " + errorCode,
Toast.LENGTH_SHORT).show();
Log.e(MainActivity.class.getSimpleName(), "Ad Failed to Load: " +
errorCode);
}
});
Constantes usadas en el método de devolución de llamada onAdFailedToLoad()
se describen en la sección API
referencia.
Prepárate para los requisitos de divulgación de datos de Google Play
En mayo de 2021, Google Play anunció la nueva sección de Seguridad de los datos, una divulgación proporcionada por los desarrolladores sobre las prácticas de seguridad, uso compartido y recopilación de datos de las aplicaciones.
Esta página puede ayudarte a completar los requisitos de esta divulgación de datos con respecto a tu uso del SDK nativo de AFS (también se aplica al uso de AdSense para Shopping). En esta página, puedes encontrar información sobre si nuestros SDKs manejan datos del usuario final y de qué manera.
Nuestro objetivo es brindarle la asistencia más transparente posible. Sin embargo, como desarrollador de apps, eres el único responsable de decidir cómo responder el formulario de la sección de Seguridad de los datos de Google Play en relación con las prácticas de seguridad, el uso compartido y la recopilación de datos del usuario final de tu app.
Cómo usar la información de esta página
En esta página, se enumeran los datos del usuario final que recopila solo la versión más reciente del SDK.
Para completar tu divulgación de datos, puedes usar la guía sobre tipos de datos de Android para determinar qué tipo de datos recopilas. En esa divulgación, también asegúrate de explicar la forma en que tu aplicación específica comparte y usa los datos recopilados.
Tipo de datos al que accede el SDK y que recopila
Paquetes:
com.google.android.gms:play-services-afs-native
com.google.ads.afsn
Datos recopilados automáticamente
El SDK de AFS recopila los siguientes datos automáticamente. Todos los datos se transmiten fuera del dispositivo a Google para publicar anuncios. Además, todos los datos se encriptan en tránsito. La información personal de los usuarios nunca se recopila, a menos que la app la envíe en una consulta.
Datos | Estos datos se recopilan para los siguientes fines: |
---|---|
Dirección IP |
Resumen:
La dirección IP se utiliza para supervisar fraudes y abusos, así como para obtener la ubicación aproximada del usuario. Luego, se usa la ubicación aproximada para garantizar que los anuncios publicados cumplan con las reglamentaciones locales y proporcionar anuncios relevantes para la ubicación geográfica aproximada de un usuario. |
Actividad en apps
|
Resumen:
Tu aplicación nos proporciona la consulta del usuario para que mostremos anuncios de búsqueda relevantes para la palabra clave. Medimos las vistas y la participación (toques) con los anuncios que se muestran. |
Diagnóstico |
Resumen:
El SDK mide la latencia de renderización de los anuncios para permitir la implementación y medición de mejoras del producto. También enviamos informes de fallas y errores y, de vez en cuando, agregamos otra instrumentación según sea necesario para comprender cómo los publicadores usan la funcionalidad. |
Dispositivo y otros identificadores |
Resumen:
El ID de dispositivo se usa para supervisar casos de fraude y abuso, así como medir el rendimiento de los anuncios. |