Documentación del SDK

Integra el SDK de Android de Appaloo en tu app y publica tus anuncios con unas pocas líneas de código.

1. Instalación

Añade el SDK de Appaloo a tu proyecto Android desde nuestro repositorio Maven. Se distribuye como un AAR precompilado y es compatible con la API de Android 30+.

settings.gradle.kts

dependencyResolutionManagement { repositories { google() mavenCentral() maven { url = uri("https://static.appaloo.io/appaloo/sdk/android") } } }

app/build.gradle.kts

dependencies { implementation("io.appaloo:sdk:0.0.1") }
Permisos

El SDK necesita acceso a internet para obtener los manifiestos y el contenido de los anuncios. Añade lo siguiente a tu AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET" />

2. Inicialización

Crea un AppalooClient con el UUID de tu anuncio. El cliente es barato de crear. Instancia uno por punto de llamada, o guarda uno como campo de tu actividad.

import com.appaloo.AppalooClient private val appaloo = AppalooClient( adId = "{adID}", )

3. Cargar un anuncio

Usa loadInterstitial para los anuncios intersticiales y loadRewarded para los anuncios recompensados. Llamar al método equivocado para el tipo de un anuncio falla con ERROR_NOT_INTERSTITIAL o ERROR_NOT_REWARDED.

Anuncios intersticiales

Obtiene el manifiesto, elige un candidato y presenta un diálogo intersticial a pantalla completa. El usuario puede cerrarlo tras una cuenta atrás de 15 segundos (o cuando termina el vídeo incrustado).

import com.appaloo.AppalooClient import com.appaloo.AdDetails import com.appaloo.InterstitialCallbacks class MainActivity : AppCompatActivity() { private val appaloo = AppalooClient("{adID}") private fun showAd() { appaloo.loadInterstitial(this, object : InterstitialCallbacks { override fun onAdLoaded(adDetails: AdDetails) { Log.d("Appaloo", "Showing ad for ${adDetails.appName}") } override fun onAdLoadFailed(errorCode: Int, message: String) { Log.w("Appaloo", "Ad failed: $errorCode - $message") } }) } }

Anuncios recompensados

El mismo flujo que loadInterstitial, pero el SDK invoca onAdFinished solo después de que el usuario haya visto el anuncio por completo. Condiciona tu recompensa a este callback.

import com.appaloo.AppalooClient import com.appaloo.AdDetails import com.appaloo.RewardedCallbacks class GameActivity : AppCompatActivity() { private val appaloo = AppalooClient("{adID}") private fun grantBonusLife() { appaloo.loadRewarded(this, object : RewardedCallbacks { override fun onAdLoaded(adDetails: AdDetails) { // Ad is on screen; do not credit yet. } override fun onAdFinished(adDetails: AdDetails) { // User finished watching: credit the reward here. player.lives += 1 } override fun onAdLoadFailed(errorCode: Int, message: String) { Log.w("Appaloo", "Reward unavailable ($errorCode)") } }) } }

4. Callbacks

Todos los callbacks se ejecutan en el hilo principal, así que puedes actualizar la interfaz directamente desde ellos.

InterstitialCallbacks

interface InterstitialCallbacks { fun onAdLoaded(adDetails: AdDetails) fun onAdLoadFailed(errorCode: Int, message: String) }

RewardedCallbacks

interface RewardedCallbacks { fun onAdLoaded(adDetails: AdDetails) fun onAdFinished(adDetails: AdDetails) fun onAdLoadFailed(errorCode: Int, message: String) }

Importante: otorga la recompensa solo dentro de onAdFinished. onAdLoaded se dispara en cuanto se renderiza el anuncio, antes de que el usuario lo haya visto.

5. Seguridad de los datos

El SDK no recopila ningún identificador publicitario ni identificadores del dispositivo. Los únicos datos que informa son qué anuncios ve o toca un usuario, lo que mantiene breve tu formulario de Seguridad de los datos de Google Play.

Qué declarar

Declara los eventos de visualización y clic de anuncios en Actividad de la aplicación (Interacciones en la aplicación): se recopilan, se cifran en tránsito y no se vinculan a un identificador persistente. Elige Funcionalidad de la aplicación o Publicidad como finalidad, según cómo describas Appaloo.

Lo que el SDK no recopila

Sin ID de publicidad de Google (AAID), sin ANDROID_ID, sin información del dispositivo y sin ubicación. El SDK solicita únicamente el permiso INTERNET. No añadas el permiso AD_ID en su nombre.

Atribución de instalaciones

En el primer inicio, el SDK informa una sola vez de un ID de clic de install-referrer (el UUID de clic propio de Appaloo, no un ID de Google ni del dispositivo) para que las instalaciones de promoción cruzada puedan atribuirse. Está cubierto por la misma declaración de Interacciones en la aplicación.