Πώς βάζω διαφημίσεις σε μία Android εφαρμογή μου (AdΜob)

Οι developers από Ελλάδα δεν μπορούν να ανεβάσουν εφαρμογές επί πληρωμή στο Google Play.

Έτσι ο μοναδικός τρόπος να βγάλει κάποια χρήματα για την δουλειά του είναι από διαφημίσεις στην εφαρμογή του. Εδώ θα δούμε πώς μπορεί κάποιος να ενσωματώσει διαφημίσεις στην Android εφαρμογή του, μέσω του AdMob.

Για αρχή θα πρέπει το project μας να γίνεται compile για Android 3.2 και άνω, (το ορίζουμε αλλάζοντας στο project.properties το target σε android-13

  • 0

Επίσης το AdMob υποστηρίζει android 1.5 και άνω, οπότε πρέπει στο AndroidManifest.xml το android:minSdkVersion να είναι τουλάχιστον "4"

  • 1

 

Βήμα 1, Ενσωμάτωση του library του AdMob SDK στο project μας

Κατεβάζουμε το GoogleAdMobAdsSdkAndroid.zip από εδώ, το αποσυμπιέζουμε και παίρνουμε το αρχείο GoogleAdMobAdsSdk-6.2.1.jar που είναι το library που θα χρειαστούμε στην συνέχεια.

Δεξί κλικ στο project μας στον package explorer του Eclipse, και στην συνέχεια επιλέχουμε Properties.

  • 2

Στα αριστερά επιλέγουμε Java Build Path, πάμε στην καρτέλα Libraries, και επιλέγουμε Add External JARs...

  • 3

Έπειτα πηγαίνουμε στο directory που έχουμε αποσυμπιέσει το GoogleAdMobAdsSdk-6.2.1.jar, και επιλέγουμε το συγκεκριμένο αρχείο. Παρατηρούμε ότι προστέθηκε στο project μας!

  • 4

Τέλος πάμε στην καρτέλα Order and Export και τσεκάρουμε το Library και εκεί, για να ενσωματώνεται στο compilation.

  • 5

 

Βήμα 2, Δήλωση του AdActivity, και των Permissions στο AndroidManifest.xml

Μέσα στα application tags δηλώνουμε το AdActivity προσθέτωντας τον παρακάτω κώδικα

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

Τέλος συμπληρώνουμε τις δύο άδειες που χρειάζεται το AdMob, που είναι οι εξής:

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

 

Βήμα 3, Ορισμός του AdView

Ο πιο εύκολος τρόπος να ορίσουμε το Adview, είναι μέσα από το layout μας, δηλαδή προσθέτοντάς το στο res/layout/main.xml. (μετονομάστηκε σε activity_main.xml σε νεότερες εκδόσεις) Στα xmlns προσθέτουμε το:

xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"

Και μέσα στο layout προσθέτουμε το:

  <com.google.ads.AdView android:id="@+id/adView"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         ads:adUnitId="MY_AD_UNIT_ID"
                         ads:adSize="BANNER"
                         ads:testDevices="TEST_EMULATOR, TEST_DEVICE_ID"
                         ads:loadAdOnCreate="true"/>

Ένα ενδεικτικό main.xml είναι το εξής:

  • 8

Για να αρχίσουν να εμφανίζονται διαφημίσεις πρέπει να αλλάξουμε το MY_AD_UNIT_ID με τον αριθμό ο οποίος μας δώθηκε κατά την εγγραφή μας στο AdMob. Αφού το κάνουμε, "τρέχουμε" το project" και βλέπουμε αν τα καταφέραμε:

  • yes

 

Βήμα 4, Βελτιώσεις διορθώσεις

Όπως βλέπουμε το banner εμφανίζεται κανονικά, παρ' όλα αυτά καθότι είναι fixed-size δεν φαίνεται πολύ "σωστά" σε συσκευές διαφορετικών αναλύσεων. Εγώ προτιμώ να χρησιμοποιώ το SMART_BANNER το οποίο γίνεται έξυπνα "resize". Το κάνω αλλάζοντας το ads:adSize από BANNER σε SMART_BANNER.

ads:adSize="SMART_BANNER"
  • yes2

Τέλος καθότι το AdMob είναι αυστηρό (και καλά κάνει) όσον αφορά τα "άκυρα" κλικ στις διαφημίσεις, είναι καλή πρακτική να αλλάξουμε το TEST_DEVICE_ID με το Device Id της συσκευής μας. Αυτό θα έχει ως αποτέλεσμα στην δική μας συσκευή να εμφανίζονται "Test Ads" και όχι κανονικές, για να μην φοβόμαστε μήπως κάνουμε κατά λάθος κάποιο "άκυρο" κλικ.

Το Device Id το βρίσκουμε εύκολα απ' το Logcat, βάζοντας το φίλτρο "com.android.vending&isu=".

  • 9

Ενδεικτικό main.xml (activity_main.xml):

  • 10

Κάνοντας πάλι compile το project θα εμφανίζονται στην δική μας συσκευή test ads, και σε όλες τις υπόλοιπες κανονικές διαφημίσεις

  • yes4

Φυσικά, όπως πάντα, για οποιαδήποτε ερώτηση μη διστάσετε να επικοινωνήσετε μαζί μου, από το πεδίο "Επικοινωνία" που έχει το site

aByte