Docs du SDK

Intégrez le SDK Android d'Appaloo à votre application et diffusez vos annonces en quelques lignes de code.

1. Installation

Ajoutez le SDK Appaloo à votre projet Android depuis notre dépôt Maven. Il est fourni sous forme d'AAR précompilé et cible l'API 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") }
Autorisations

Le SDK a besoin d'un accès internet pour récupérer les manifestes et les médias des annonces. Ajoutez ce qui suit à votre AndroidManifest.xml :

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

2. Initialisation

Construisez un AppalooClient avec l'UUID de votre annonce. Le client est peu coûteux à créer. Instanciez-en un par point d'appel, ou conservez-en un comme champ de votre activité.

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

3. Charger une annonce

Utilisez loadInterstitial pour les annonces interstitielles et loadRewarded pour les annonces récompensées. Appeler la mauvaise méthode pour le type d'une annonce échoue avec ERROR_NOT_INTERSTITIAL ou ERROR_NOT_REWARDED.

Annonces interstitielles

Récupère le manifeste, choisit un candidat et présente une boîte de dialogue interstitielle en plein écran. L'utilisateur peut la fermer après un compte à rebours de 15 secondes (ou à la fin de la vidéo intégrée).

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") } }) } }

Annonces récompensées

Même déroulement que loadInterstitial, mais le SDK n'invoque onAdFinished qu'après que l'utilisateur a entièrement visionné l'annonce. Conditionnez votre récompense à ce 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

Tous les callbacks sont exécutés sur le thread principal, vous pouvez donc mettre à jour l'interface directement depuis ceux-ci.

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) }

Important : n'accordez la récompense qu'à l'intérieur de onAdFinished. onAdLoaded se déclenche dès que l'annonce est affichée, avant que l'utilisateur ne l'ait regardée.

5. Sécurité des données

Le SDK ne collecte aucun identifiant publicitaire ni identifiant d'appareil. Les seules données qu'il transmet sont les annonces qu'un utilisateur voit ou sur lesquelles il clique, ce qui garde votre formulaire de sécurité des données Google Play très court.

Ce qu'il faut déclarer

Déclarez les événements d'affichage et de clic sur les annonces sous Activité de l'application (Interactions dans l'application) : collectés, chiffrés en transit et non liés à un identifiant persistant. Choisissez Fonctionnalité de l'application et/ou Publicité comme finalité, selon la façon dont vous décrivez Appaloo.

Ce que le SDK ne collecte pas

Aucun identifiant publicitaire Google (AAID), aucun ANDROID_ID, aucune information sur l'appareil ni aucune localisation. Le SDK ne demande que l'autorisation INTERNET. N'ajoutez pas l'autorisation AD_ID en son nom.

Attribution des installations

Au premier lancement, le SDK transmet une seule fois un identifiant de clic d'install-referrer (l'UUID de clic propre à Appaloo, et non un identifiant Google ou d'appareil) afin que les installations issues de la promotion croisée puissent être créditées. Il est couvert par la même déclaration d'Interactions dans l'application.