Skip to content
5 April 2012 / Jeffrey Hermanto Halimsetiawan

In-App Advertising dengan Inneractive Ad SDK v1.0.5 pada J2ME


Sebelumnya saya pernah menulis sebuah artikel berjudul “In-App Advertising dengan Inneractive pada J2ME”, Inneractive ternyata baru saja memperbarui InneractiveAdSDK-J2ME nya yang dirilis dengan versi 1.0.5 pada 8 Maret 2012. Salah satu kelebihan dari versi ini adalah developer memiliki kebebasan untuk menampilkan ads sesuai dengan look and feel pada aplikasi/game yang dikembangkan. Di versi sebelumnya, SDK tersebut hanya menyediakan method IASDK.displayAd() yang akan secara otomatis menampilkan sebuah ad pada Display. Pada versi terbarunya, SDK ini menyediakan sebuah API untuk memperoleh Banner Ad sesuai dengan standard MMA. Berikut adalah langkah-langkah untuk mengimplementasikan in-app advertising dengan SDK terbaru dari Inneractive pada J2ME:

  1. Mendaftar akun inneractive sebagai publisher pada tautan berikut: http://console.inner-active.com/iamp/publisher/register

    image

  2. Login ke akun inneractive dengan memasukkan username dan password pada tautan berikut: http://console.inner-active.com/iamp/auth/login

    image

  3. Klik tab ‘Add App

    image

  4. Pilih combo boxPlatform’ dengan pilihan ‘OVI’ lalu lengkapi isian lainnya yang tersedia.

    image

  5. Pada ‘Dashboard’, aplikasi yang baru saja dibuat akan muncul beserta ‘App ID’ dari aplikasi tersebut.

    image

  6. Klik tab ‘SDK’s’, lalu unduh inneractive SDK untuk J2ME.

    image

  7. Unzip file ‘inneractiveAdSDK-J2ME-v1.0.5.zip’ yang baru saja diunduh.
  8. Tambahkan ’inneractiveJ2MEAdSDK.jar’ pada ‘Library dan Resourceproject Netbeans yang telah dibuat.

    image

  9. Tambahkan beberapa JAD parameter berikut pada project Netbeans.

    IA-X-appID: IA_GameTest (App ID dapat dilihat pada tab ‘Dashboard’)

    image

  10. Tambahkan beberapa MIDlet Permission javax.microedition.io.Connector.http,javax.microedition.io.Connector.socket, javax.microedition.pim.ContactList.read, javax.microedition.io.Connector.sms, javax.wireless.messaging.sms.send pada kotak dialog ‘API Permission’:

    image

  11. Tambahkan potongan kode inner class berikut pada kelas yang merupakan turunan dari kelas MIDlet / Canvas. Method IADView.getBannerAdData() digunakan untuk melakukan request Banner Ad ke Inneractive dan akan mengembalikan return value bertipe Vector dimana indeks ke-0 adalah Image dan indeks ke-1 adalah string yang merupakan link dari Ad tersebut.
    class Worker extends Thread {
    
        boolean terminated = false;
        int mTask;
        PromotionalState mOwner;
    
        public Worker( PromotionalState owner ) {
            mOwner = owner;
        }
    
        synchronized public void run() {
    
            while (!terminated) {
                mTask = IDLE;
                try {
                    wait();
                }
                catch (InterruptedException ex) {}
    
                try {
                    switch (mTask) {
                        case CLICK_THE_BANNER:
                            if(null != Ad){
                                String clickURL = (String)Ad.elementAt(1);
                                if(null != clickURL && !clickURL.equals("")){
                                    boolean forceExit = MainMIDlet.instance.platformRequest( clickURL );
    
                                    System.out.println("platformRequest - the midlet should be close? " + forceExit);
    
                                    if(forceExit){
                                            MainMIDlet.quitApp();
                                    }
                                }
                            }
                            break;
    
                        case GET_BANNER_AD:
                            System.out.println("IADView.getBannerAd()" );
                            Ad = IADView.getBannerAdData(MainMIDlet.instance);
                            imgBanner = null;
                            if (null != Ad){
                                imgBanner = (Image)Ad.elementAt(0);
                            }
                            if (imgBanner != null){
                                Image.createImage(imgBanner);
                            }
                            else{
                                System.out.println("retImg is null");
                            }
                            break;
                    }
                } catch (Exception e) {
                    System.out.println(e.getMessage());
                } catch (Throwable e) {
                    System.out.println(e.getMessage());
                }
            }
        }
    
        synchronized public boolean doTask( int task ) {
            if (mTask != IDLE)
                return false;
            mTask = task;
            notify();
            return true;
        }
    }
    
  12. Berikutnya, kelas Worker tersebut harus di-instantiate dan Thread tersebut harus dijalankan dengan perintah berikut.
    worker = new Worker( this );
    worker.start();
  13. Tampilkan Image Banner Ad yang diperoleh
    if (imgBanner != null){
        g.drawImage(imgBanner, 12, 73 + yAnimation, 0);
    }
  14. Lakukan pengecekan apakah pengguna melakukan action pada Banner Ad tersebut, apabila pengguna menekan Banner Ad tersebut maka panggilah method berikut:
    worker.doTask( CLICK_THE_BANNER );

Berikut adalah contoh tampilan Banner Ad dari Inneractive:

image

Selamat mencoba!

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: