AdMAL: monetizzare le app facilmente usando AdWhirl assieme ad altri ad network non supportati ufficialmente

In seguito al ban immotivato da parte AdMob (vedi mio post sui migliori network pubblicitari) sono andato alla ricerca di nuovi network pubblicitari e di un sistema che mi permettesse di usare AdWhirl sia con i network ufficialmente supportati (Millennial Media, InMobi, iAd, ecc…) ma anche con i network non supportati. Mi sono documentato sui custom events di AdWhirl per usare nuovi ad network, tuttavia questo metodo mi è sembrato molto scomodo perchè avrei dovuto implementare per ogni nuova app gli sdk dei vari network “aggiuntivi” utilizzati. Così ho deciso di sviluppare una libraria che mi rendesse il lavoro più facile e veloce, e di renderla open source.

La libreria si chiama AdMAL (Ad Mediation Abstraction Layer) e ho deciso di renderla open source in modo che ognuno possa usarla nei propri progetti. Il motivo principale per cui ho deciso di renderla pubblica ed open source è che mi aspetto che alcuni sviluppatori mi aiutino ad estenderla implementando il supporto per dei nuovi network (leggi di seguito riguardo l’estendibilità dei network), cosicché tutti possano beneficiarne.

AdMAL attualmente è stata sviluppata solo per monetizzare le app iOS (iPod Touch, iPhone e iPad), ma prevedo di sviluppare nei prossimi mesi una versione anche per Android.

AdMAL permette di usare semplicemente AdWhirl con i network supportati e, se lo desiderate, di affiancare anche dei nuovi network non supportati ufficialmente. Il tutto in modo semplicissimo (ancora più semplice di usare l’sdk di AdWhirl): una volta inseriti i sorgenti, i framework necessari e aver configurato i network da usare e i relativi app keys nel proprio progetto iOS, basta infatti una sola linea di codice per richiedere un nuovo banner. AdMAL si occupa di tutto il resto (posizionamento del banner, ridimensionate dalla User Interface, gestione della rotazione dell’interfaccia, ecc…).

AdMAL non è altro che una libreria che funziona come livello di astrazione da AdWhirl, permettendo di usare quest’ultimo sia con i network ufficialmente supportati che con dei nuovi network: attualmente i network pubblicitari per le app supportati da AdMAL (oltre quelli ufficialmente supportati da AdWhirl) sono B!Mobile, MobClix, MobFox, MoPub e Flurry AppCircle (solo i banner semplici). E’ possibile aggiungere il supporto per dei nuovi network: AdMAL è stata progettata in modo che possa essere estesa per supportare nuovi network, che potranno essere utilizzati attraverso AdWhirl+AdMAL. I network supportati da AdMAL e non supportati ufficialmente da AdWhirl vengono chiamati Custom Networks.

Ho già implementato AdMAL in alcune delle app che ho sviluppato e pubblicato nell’App Store, tra cui: Indovinelli, Quiz Serie TV, IVA 21% e altre.

I sorgenti di AdMAL, attualmente in ver. 0.9rc1, sono disponibili sotto licenza open source Apache 2.0 su un repository di github.com: https://github.com/marcosiino/AdMAL

Segnalatemi pure eventuali problemi, consigli o altro e fatemi sapere cosa ne pensate.

17 pensieri su “AdMAL: monetizzare le app facilmente usando AdWhirl assieme ad altri ad network non supportati ufficialmente

  1. Antonio

    Ciao,
    complimenti per l’articolo.
    Volevo sapere se potevi fornire qualche esempio su come implementare tale libreria in un app Android.
    Ho da poco creato un’app per Android ed ho utilizzato AdMob…
    ma nonostante i dati che ricevo sembrano buoni…
    Richieste: 700/1000
    Impressioni 700/1000
    Fill rate 100%
    …non vedo nessun risultato.
    ho la media di 20/30 installazioni al giorno ma pochissimi click.
    Hai qualche consiglio da darmi?

    grazie in anticipo 🙂

    Replica
    1. admin Autore articolo

      Ciao e grazie! Purtroppo non ho ancora fatto il porting della libreria AdMAL su Android. Per adesso mi sono concentrato solo sulla versione iOS, quindi non è possibile utilizzarla (per ora) su Android. Nei prossimi mesi avrò da sviluppare alcune app per Android e mi servirà personalmente AdMAL anche su questa piattaforma quindi molto probabilmente farò il porting, ma non so darti delle date precise. Appena sarà disponibile scriverò un articolo nel blog e metterò i sorgenti sul repository github dove attualmente si trovano i sorgenti solo per iOS.

      Cosa intendi per “non vedo nessun risultato” ? che eCPM hai e che CTR ? Comunque il numero di richieste/impressioni è basso, con 700-1000 impressioni è normale che i guadagni sono molto esigui, ma dovresti comunque qualche centesimo di dollaro (o al massimo pochi dollari).

      Nel frattempo ti consiglio di usare AdWhirl (http://www.adwhirl.com/), è il sistema di mediazione su cui si basa AdMAL e ti permette intanto di usare alcuni altri network (tra quelli supportati ufficialmente) oltre che AdMob, ma cosa più importante ti permette di cambiare network al volo così puoi provare più di un network senza dover inviare un nuovo aggiornamento su Android Market, così puoi provare più network e vedere quali funzionano meglio, oltre che tenerne attivi più di uno. Poi quando sarà pronto AdMAL per Android con la stessa logica potrai in più usare anche i network che non sono ufficialmente supportati da AdWhirl.

      Replica
  2. Antonio

    Complimenti per la tempestività,
    resterò in attesa della tua libreria per Android.
    Nel frattempo ritornando all’app che ho realizzato….
    eCPM 0,10/0,30$
    CTR 0,40/0,70%
    In circa un mese che l’app ha visto la luce sono riuscito a raccimolare scarsi 5$.
    In questi giorni proverò AdWhirl, come da te consigliato. sperando di vedere qualche risultato in più. 🙂

    Replica
    1. admin Autore articolo

      il CTR è bassino, potresti migliorarlo mettendo la pubblicità in punti più strategici in modo che viene cliccata più spesso (attento però a non esagerare e non barare perchè altrimenti rischi il ban da parte di AdMob o degli altri network), questo ti farebbe aumentare un po’ l’eCPM e quindi i guadagni.

      L’app è solo in lingua italiana o anche in inglese ? Se è anche in inglese l’eCPM è bassino.

      Comunque i guadagni sono bassi anche perchè, come ti dicevo, 700/1000 impression sono poche. Prima di tutto devi cercare di far scaricare l’app da più utenti. 30 download al giorno sono pochi, è normale che con questi numeri guadagni poco. Prova a pubblicizzare meglio l’app e nel frattempo cerca di migliorare il CTR e prova ad implementare AdWhirl (ti consiglio di farlo sempre, almeno finchè non ci sarà AdMAL per android, perchè ti permette sia di usare AdMob come stai facendo, ma ti permette come ti dicevo anche di cambiare network quando vuoi e istantaneamente).

      Replica
      1. Antonio

        scusami, stavo configurando AdWhirl.
        ma posso aggiungere più network contemporaneamente?
        mi spiego meglio… mi sono registrato ad AdWhirl e ai seguenti Network:
        – Google AdSense
        – InMobi
        per entrambi ho messo il publisher id in AdWhirl. ora devo solo aggiungerlo sull’app…e gli ads gireranno in automatico alternando i network configurati?
        Per quanto riguarda l’app, sto utilizzando svariati canali per pubblicizzarla…ed attualmente sono stato recensito dai seguenti portali:
        – TuttoAndroid.net
        – AndroidWorld.it
        – GeekItalia.it
        hai qualche altro consiglio?
        comunque l’app in questione si chiama “Laureando”, è un libretto universitario digitale.
        Nonostante sia ancora da migliorare, mi farebbe piacere ricevere un tuo parere o consigli su come migliorarla. (magari anche in pvt)
        Thanks in anticipo

        Replica
        1. admin Autore articolo

          Il problema è che l’app è in italiano, e i network che vanno bene con le app che sono solo in lingua italiana sono pochi. E anche questi pochi network hanno comunque un eCPM basso rispetto a quello che avresti con un app che possono usare in tutto il mondo. AdMob è uno dei network che ha un eCPM decente anche con le app solo in italiano, poi c’è B!Mobile (www.bmobile.com) che va molto bene (anche meglio di AdMob), ma non puoi usarlo con AdWhirl direttamente perchè non è supportato ufficialmente, ma potrai usarlo con AdMAL quando sarà disponibile per android (nella ver. iOS ho già implementato il supporto per B!Mobile).

          Se vuoi usare B!Mobile o lo implementi a mano (senza usare AdWhirl) e dovrai usare solo questo al posto di AdMob, oppure in attesa di AdMAL puoi provare ad implementarlo manualmente su AdWhirl usando i custom events (ma è un po’ complesso, niente di particolare comunque).

          Lascia stare InMobi per le app italiane, va male (è discreto solo con le app internazionali).

          In definitiva, ti consiglierei comunque di implementare AdWhirl sia per questa che per le prossime app perchè è sempre comodo, ma l’unico network che puoi usare per adesso è AdMob visto che l’app è in italiano, o B!Mobile se riesci ad interfacciarlo con AdWhirl.

          Per aumentare i download devi cercare di pubblicizzare l’app ancora di più. Cerca altri siti di recensione per android su Google ed contattane più che puoi.

          Infine, guardando l’app velocemente posso dirti che:
          1) La grafica è fatta bene, migliorerei solo un po’ i caratteri rendendoli più leggibili, magari mettendo qualche grassetto (per es. sul nome dell’esame, o su qualche dato importante che deve subito andare all’occhio).

          2) Mettere i banner in alto, anzichè in basso, così si notano di più (tranne nella schermata di inserimento del nome/cognome, ecc.., lì credo che va bene dove l’hai messo).

          Replica
  3. Luca

    Ciao bella la libreria, anchio aspetto la versione per Android.
    Nel frattempo vorrei sapere se hai mai utilizzato i pay per install. Esistono o sono una truffa e AppCircle è uno di questi?
    Grazie

    Replica
    1. admin Autore articolo

      Ciao, grazie! in generale non sono una truffa, poi dipende dalle singole aziende, comunque non ho provato mai in modo approfondito, ho fatto solo qualche prova con AppCircle (che puoi usare con AdMAL, infatti ho creato un network adapter per usare flurry appcircle con AdMAL) ma non mi soddisfa: con le poche prove che ho fatto ho visto che è molto difficile ottenere delle installazioni e quindi guadagnare (su migliaia e migliaia di impression nelle mie prove non c’è stata alcuna installazione, quindi dai test che ho fatto ho visto che conviene sicuramente usare i classici pay per click).

      Replica
  4. Luca

    Grazie per la risposta,
    a questo punto credo che farò una versione light, con pubblicità, ed una full a pagamento.
    Ciao

    Replica
  5. FProt

    Ciao Marco,
    senti, ho scaricato la tua libreria AdMal (ti ringrazio a prescindere, solo per il fatto di averla resa opensource), però non riesco a farla funzionare.. nel senso quando vado a compilare il progetto di esempio che è incluso nella cartella scaricata da git hub, xcode mi dà 11 errori (di cui 6 con autocorrezione, cioè mi dice “usa quest’altro metodo invece che questo”, un esempio che ti riporto è:
    /Users/io/Downloads/AdMAL-master/AdMAL/Ad SDKs/AdWhirl/adapters/AdWhirlAdapterIAd.m:48:7: Use of undeclared identifier ‘ADBannerContentSizeIdentifierLandscape’; did you mean ‘kADBannerContentSizeIdentifierLandscape’? )

    gli altri 5 (che sono lo stesso errore su 5 punti diversi) dicono:
    /Users/io/Downloads/AdMAL-master/AdMAL/Ad SDKs/AdWhirl/adapters/AdWhirlAdapterIAd.m:63:13: Property ‘currentContentSizeIdentifier’ not found on object of type ‘ADBannerView *’

    come si può risolvere???

    grazie comunque per il lavoro che svolgi!

    Replica
    1. FProt

      provando la libreria AdMAL su un progetto ex novo, l’unico errore che mi dà è invece che non trova il file “AdMarvelView.h”, che è richiesto come import nel file AdBMobileNetwork.h

      Replica
      1. admin Autore articolo

        L’errore che mi riporti sembra essere dovuto al fatto che non hai incluso correttamente l’sdk di Lumata (ex B!Mobile) sul progetto. Sei sicuro di aver aggiunto i file dell’sdk anche al progetto xcode ? AdMarvelView.h è un file dell’sdk di Lumata.

        Replica
  6. FProt

    Ciao, scusa se rompo ancora 🙂 volevo anche avere un chiarimento su una cosa che non ho capito: per usare AdMAL, bisogna essere registrati ai vari network e inserire tutti gli sdk di tutti i network? perché in questo articolo mi è sembrato di capire il contrario, però nel readme di AdMAL c’è scritto: “Add the AdWhirl SDK folder. Add the sdks for each ad network you want to use in your app, choosing between the custom networks supported by AdMAL (see AdMAL’s supported custom networks list), and the AdWhirl’s officially supported networks (i.e. Millennial Media, AdMob, ZestADZ, etc…).”

    grazie e scusa 😀

    ciao

    Replica
    1. admin Autore articolo

      Ciao, rispondo ad entrambi i commenti che hai scritto: per usare AdMAL devi iscriverti ai network che userai tramite AdMAL e dovrai inserire gli SDK di questi network. Quindi se decidi di usare ad esempio solo AdMob e Lumata, dovrai registrarti a questi due network ed inserire gli SDK di entrambi nell’apposita cartella (ed importarli ovviamente nel progetto Xcode). La logica quindi è simile a quando si usa AdWhirl da solo: ti registri ai network che vuoi usare e inserisci i loro sdk. Poi la libreria pensa ad usare correttamente gli sdk per i network che hai deciso di usare.

      Per quanto riguarda gli errori che mi hai riportato, fammi sapere se dopo aver inserito gli sdk correttamente ricevi ancora quegli errori.

      Replica
      1. FProt

        ok grazie mille……. proverò (devo ancora iscrivermi a lumata.. quando deciderò di farlo ti farò sapere)

        grazie ancora

        Replica
  7. Giovanni

    ciao,
    intanto grazie per aver condiviso la tua libreria… ho da poco implementato la tua soluzione admal attivando lumata e mobfox (prima nella stessa app c’era admob ma ora non vogliono piu servire ads in quanto l’app permette di fare download da yt)
    Mi trovo pero’ con dei numeri tutti strani e volevo chiederti se avvei mai notato questo problema su admal/adwhirl.
    Con admob le statistiche erano 25000/37000 impressioni daily
    Ora ho configurato adwhirl 100% su lumata e mobfox come backfill (parecchi sono stranieri e comunque spesso in wifi che e’ poco servito da lumata)
    e mi ritrovo che lumata mi riporta circa 7000 richieste (impressioni mooolto meno) e mobfox dai 15000 ai 25000
    Insomma diciaqmo che il totale +/- siamo li visto che non tutti hanno ancora aggiornato l’app, lo strano e che mi sarei aspettato che lumata riportasse il totale delle richieste, diciamo 30000, di cui 3000 servite e che le richieste mobfox fossero la differenza.. sembra quasi che o lumata non conta tutte le richieste o adwhirl anche se allocato 100% su lumata chiama comunque chi vuole lui 🙂

    Hai qualche idea ?? grazie, ciao

    Replica

Rispondi