How To : Adverteren in je zelfgemaakte App

Monetizeren! Prachtig woord, volgens mij geen correct Nederlands. Engelstalige websites en blogs hebben het over “Monetizing” your App. Hoe moet dat nou precies?Als je wilt weten hoe je een App kan maken, kijk dan bij de Tutorials. Daar wordt onder andere uitgelegd hoe je een ontwikkelomgeving moet opzetten en hoe je je eerste App kunt bouwen. Er van uitgaande dat je een App gebouwd hebt; Hoe moet je die nu “Monetizeren”? ;)… Ten eertse kun je je App verkopen in de markt. Maar een eerdere post laat al zien, dat verkoop helemaal niet de meest winstgevende optie hoeft te zijn. Je kunt ook een willekeurig bedrijf bellen. Of een vakblad. En dan aanbieden dat je een bannertje in je app kan tonen (320×50 pixels). Je kunt dan een afspraak maken over het aantal keren dat de banner getoond wordt, en hoeveel dat blad daarvoor betaalt.

Er zitten nadelen aan dat idee. Het belangrijkste nadeel; de advertenties zijn voor iedereen hetzelfde. Ze worden niet ‘op maat’ aangeboden. Ten tweede; Je bent afhankelijk geworden van die ene adverteerder. Natuurlijk kun je er een tweede en een derde bijzoeken, maar dan heb je daar een dagtaak aan. Je was App developer, geen advertentie-verkoper. Andere nadelen? Facturatie, rapportage, het niet kunnen inspelen op acties, etc. etc.

Gelukkig is er een oplossing. Google is een bedrijf dat heel veel weet van Internet gebruikers. Voorkeuren worden gevolgd, zoekresultaten geindexeerd, etc. Sociale netwerken verzamelen data over jou (leeftijd, sexe, voorkeuren, teksten die je schrijft etc.) De kracht hiervan is ongekend groot. Als je een paar keer op facebook schrijft over je vakantieplannen, staan er binnen een paar dagen reisbureau-advertenties te lezen op je pagina. Hetzelfde geldt voor sportartikelen, sportartikelen en tapijttegels.

Er is dus een heel leger met slimme verkopers (M/V) dat advertentieruimte in de markt aanbiedt. Jij kunt dat leger voor je laten werken. Door lid te worden van bijvoorbeeld Google AdMob (maar er zijn ook anderen), kun je een banner in je App laten vullen met advertenties. De advertenties worden zoveel mogelijk toegesneden op de gebruiker (welke andere apps heeft deze gebruiker geïnstalleerd? En zelfs : Waar bevindt xij zich?). Geweldige technologie. En, eerlijk is eerlijk, je kunt met de juiste advertenties ook waarde toevoegen voor je gebruikers! Hier kwam ik eerder achter, tijdens het ontwikkelen van mijn App Flitswoorden.

Toepassen

1. Maak een account aan op AdMob.com. Op een gegeven moment moet je aangeven wat de URL naar je App in de market is. Als je die nog niet hebt (omdat je App nog niet gepubliceerd is), kun je er een intikken in het volgende format : https://play.google.com/store/apps/details?id=<full_app_name> . De Full App Name is bijvoorbeeld “happyworx.nl.Applez”. De “Publisher ID” die je krijgt heb je later nodig.

2. Download de nieuwste versie van de SDK (Software Development Kit) voor Android. https://developer.android.com/sdk/index.html

3. Zorg dat je project wordt gecompiled tegen Android versie 3.2 of hoger. Let op : Dit is aan verandering onderhevig. Check op admob.com wat de laatste versie is.

Toelichting : Je moet ook de laatste versie (tenminste versie 1.5 van de Android Runtime geinstalleerd hebben). Eén van de foutmeldingen die je tegen kunt komen als dit niet in orde is :

“String types not allowed (at ‘configChanges’ with value

‘keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize’).”.

Deze error kun je dus vermijden als je in je Project Properties de Target op versie 3.2 of hoger zet. Als je met Eclipse werkt, moet je na die wijziging een “Clean” draaien (Project > Clean)

De SDK Importeren in je project

4. In Eclipse, ga naar Project > Properties > Java Build Path > Libraries (TAB) > Add External JARs en voeg daar de Google AdMob jar toe.

NB : Verstandig om ook in je project te controleren of er een directory genaamd ‘libs’ is aangemaakt. Zo niet, zelf maken en het .jar bestand erin schleppen*.

In je AndroidManifest.xml moet je de AdActivity declareren;

    <activity android:name="com.google.ads.AdActivity"
              android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

Hier kun je dus de foutmelding krijgen, waarvoor je de Project Target moet aanpassen (zie stap 3).

5. Omdat je App contact maakt met het Internet (om de advertenties op te halen), moet je ook die “permissions” toevoegen aan je AndroidManifest.xml :

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

Plaats deze regels direct na de </application> tag (vóór de </manifest> tag).

6. Rebuild (Clean) het project en controleer op fouten.

De AdView toevoegen.

In deze How-to ga ik er vanuit dat je werkt met XML layouts. Als je werkt met een code-gegenereerde layout, kijk dan naar de blogposts over Applez. Die app gebruikt een in JAVA gegenereerde view en laat zien hoe je de view toevoegt aan een in JAVA gegenereerde RelativeLayout.

Op hoofdlijnen;
– Import com.google.ads.*
– Declareer een AdView instantie
– Creeer de instantie, specificeer jouw unieke unit ID (AdMob publisher ID uit stap 1)
– Voeg de view toe aan je User Interface
– Laad een advertentie in de View.

Dit kun je bijvoorbeeld doen in de Activity van je app :

import com.google.ads.*;

public class HappyworxVoorbeeld extends Activity {
  private AdView adView;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // Definieer de AdView
    // Let op AdSize.BANNER. Op deze plek kun je verschillende
    // variabelen kwijt, die verschillende typen advertenties
    // tonen. Bijvoorbeeld specifiek voor tablets.
    adView = new AdView(this, AdSize.BANNER, PUBLISHER_ID);

    // Zoek de Layout op, er vanuit gaande dat deze mainLayout heet
    // Als je Layout niet in XML gedefinieerd is, maar in de code
    // moet je dit op een andere manier doen. Zie de Applez blogposts
    // voor meer voorbeelden hiervan.
    LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);

    // Voeg de adView toe aan de layout
    layout.addView(adView);

    // Doe een verzoek om de adview te vullen met een advertentie
    adView.loadAd(new AdRequest());
  }

  @Override
  public void onDestroy() {
    if (adView != null) {
      adView.destroy();
    }
    super.onDestroy();
  }
}

LET OP : Als je aan het ontwikkelen bent, zorg dan dat je in TEST mode draait. Dit voorkomt dat je Google AdMob account geblokkeerd wordt vanwege ongeldige clicks (lees de voorwaarden!).

Je kunt in Test mode door deze code toe te voegen voordat je een AdRequest doet :

AdRequest request = new AdRequest();

request.addTestDevice(AdRequest.TEST_EMULATOR);
request.addTestDevice("ID_VAN_JE_TELEFOON_ZIE_LOGCAT");

Om het allemaal nog mooier te maken; Je kunt gebruik maken van de Targetting informatie om specifieke Google Ads te laten zien. Gebruik hiervoor bijvoorbeeld de code :

request.setGender(AdRequest.Gender.MALE);
request.setLocation(location);
request.setBirthday("19850101");

In dit geval zal Google de ad proberen te vullen met specifieke advertenties voor mannen, geboren in 1985, rekening houdend met de huidige locatie. Zo kun je voor de gebruikers van je App ook in de advertenties echt waarde toevoegen!

Het kan eventjes duren voordat er een advertentie getoond wordt (minuut of 2). Elke keer als het Publisher ID 24 uur niet gebruikt is, duurt het 2 minuten voordat de advertentie getoond wordt.

* Dat betekent natuurlijk ‘slepen’.

You can leave a response, or trackback from your own site.

Leave a Reply