13
Praktikum ANDROID ANDROID FOR BEGINNER MODUL 17 [ANDROID ADVERTISING] SUDARYATNO [email protected] | @dodulz | facebook : yatno.sudar Page of 1 13

Modul praktikum 17 - Android Sudaryatno

Embed Size (px)

DESCRIPTION

Modul,Android,Tutorial

Citation preview

Page 1: Modul praktikum 17 - Android Sudaryatno

Praktikum ANDROID

ANDROID

FOR

BEGINNER MODUL 17 ![ANDROID ADVERTISING]

!!!!!SUDARYATNO [email protected] | @dodulz | facebook : yatno.sudar

Page � of �1 13

Page 2: Modul praktikum 17 - Android Sudaryatno

Praktikum ANDROIDANDROID ADVERTISING

Agar bisa memonetizing apps android, cara yang paling gampang adalah memasang iklan. Ada

beberapa layanan iklan yang dapat digunakan. Diantarannya adalah Admob dan Vserv. Pada

modul ini kita akan menggunakan kedua layanan tersebut agar dapat memonetizing aplikasi kita.

!AdMob

Sebelum melakukan praktek menampilkan iklan dari Admob kali ini, ada beberapa langkah terlebih dahulu yang harus dilakukan.

Requirements :

• Set Target SDK ke versi 13 atau lebih.

• Set Minimum Required SDK untuk aplikasi kita ke Versi 2.3 atau lebih ( > GingerBread).

Setup SDK

Google Mobile Ads merupakan bagian dari GooglePlayServices. Untuk itu kita mesti menyertakan GooglePlayServices pada project kita.

1. Download dan konfigurasikan Google Play Service SDK ke project kita. Tutorialnya bisa dilihat disini :

http://developer.android.com/google/play-services/setup.html

2. Tambahkan <meta-data> berikut dibawah parent <application> pada AndroidManifest.xml

3. Tambahkan <activity> berikut dibawah parent <appl ication> pada AndroidManifest.xml

4. Terakhir tambahkan Permission pada AndroidManifest.xml berupa :

Android.permission.INTERNET Berfungsi untuk mengakses internet saat melakukan request iklan.

Android.permission.NETWORK_STATE Berfungsi untuk mengecek apakah koneksi internet tersedia atau tidak.

Page � of �2 13

<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>

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

Page 3: Modul praktikum 17 - Android Sudaryatno

Praktikum ANDROIDTambah <uses-permission> berikut dibawah parent <application>

5. Jalankan aplikasi, jika tidak error maka konfigurasi AdMob telah benar dilakukan.

!

Page � of �3 13

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

Page 4: Modul praktikum 17 - Android Sudaryatno

Praktikum ANDROID

Admob !Sebelum menempatkan AdMob pada aplikasi kita, kita harus mempunyai AD_UNIT_ID. Sign Up untuk Akun AdMob (http://www.admob.com), lalu ikut langkah-langkah selanjutnya sampai kita mendapatkan AD_UNIT_ID.

a. Banner Ads Pertama-tama simpan AD_UNIT_ID di static variable

Berikut contoh source code untuk menginstansiasi AdView Banner

Untuk memulai Request Admob ketikan source code berikut :

Jalankan aplikasi dan lihat hasilnya.

!Page � of �4 13

private static final String AD_UNIT_ID = "XXXxxxaXXxX";

adView = new AdView(this); adView.setAdSize(AdSize.BANNER); adView.setAdUnitId(AD_UNIT_ID);

// Start loading the ad in the background. adView.loadAd(adRequest);

Page 5: Modul praktikum 17 - Android Sudaryatno

Praktikum ANDROIDMungkin untuk beberapa saat AdMob tidak muncul dikarenakan memang untuk aplikasi yang baru ter-register di AdMob, memerlukan beberapa saat hingga impresi iklan benar-benar terkirim. Tambahkan juga source berikut untuk penanganan adView pada siklus Activity Aplikasi.

Perhatikan juga untuk error lain misal, space banner AdMob tidak mencukupi untuk muncul di layout dikarenakan habisnya space layar dsb.

Banner Size

Untuk melihat daftar ukuran banner dari adsMob, lihat disini

https://developers.google.com/mobile-ads-sdk/docs/admob/intermediate#play-sizes

adRefresh

untuk mengatur interval setiap kali iklan pada aplikasi kita melakukan refresh, bisa diatur di akun AdMob kita.

addTestDevice

AdRequest bisa digunakan untuk membuat pengecualian kepada perangkat yang akan dijadikan pengetesan, contoh :

Page � of �5 13

@Override public void onResume() { super.onResume(); if (adView != null) { adView.resume(); } }"@Override public void onPause() { if (adView != null) { adView.pause(); } super.onPause(); } " /** Called before the activity is destroyed. */ @Override public void onDestroy() { // Destroy the AdView. if (adView != null) { adView.destroy(); } super.onDestroy(); }

// Create an ad request. Check logcat output for the hashed device ID to // get test ads on a physical device. AdRequest adRequest = new AdRequest.Builder() .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) .addTestDevice("INSERT_YOUR_HASHED_DEVICE_ID_HERE") .build();  

Page 6: Modul praktikum 17 - Android Sudaryatno

Praktikum ANDROIDUntuk mendapatkan TestDevice pada perangkat kita, lihat output di Logcat.

Targeting

Demografi dan target lokasi juga merupakan opsi yang bisa ditambahkan pada AdRequest untuk membuat iklan yang ditampilkan lebih spesifik, contoh :

AdsLisetener

Kita bisa menghandle event yang terjadi pada adView itu sendiri dengan menambahkan adView.setAdListener, berikut beberapa method yang termasuk didalamnya.

b. Interstitial Ads

""

Page � of �6 13

AdRequest adRequest = new AdRequest.Builder()

.setGender(AdRequest.GENDER_FEMALE)

.setBirthday(new GregorianCalendar(1985, 1, 1).getTime())

.setLocation(location)

.build();

  public void onAdLoaded(){}   public void onAdFailedToLoad(int errorCode){}   public void onAdOpened(){}   public void onAdClosed(){}   public void onAdLeftApplication(){}

Page 7: Modul praktikum 17 - Android Sudaryatno

Praktikum ANDROID"Pada dasarnya langkahnya sama dengan banner ads, hanya saja untuk interstitial ads kita bisa menampilkannya disaat yang kita ingikan, misal saat perpindahan halaman dan iklan tipe ini akan memenuhi layar saat ditampilkan.

Lalu untuk menampilkannya, pertama-tama buatlah Button terlebih dahulu. Lalu tambahkan source code berikut pada event OnClick button tersebut.

Jalankan aplikasi dan lihat hasilnya.

Page � of �7 13

interstitialAd = new InterstitialAd(this);interstitialAd.setAdUnitId(AD_UNIT_ID); // Create an ad request. Check logcat output for the hashed device ID to// get test ads on a physical device.AdRequest adRequest = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).addTestDevice("INSERT_YOUR_HASHED_DEVICE_ID_HERE ").build();"// Start loading the ad in the background.interstitialAd.loadAd(adRequest);

if (interstitialAd.isLoaded()) { interstitialAd.show();}

Page 8: Modul praktikum 17 - Android Sudaryatno

Praktikum ANDROIDc. Smart Banners Smart Banners merupakan jenis ads baru yang dimana tampilannya akan menyesuaikan dengan layar perangkat dengan orientasi baik portrait atau landscape. Pada peng-aplikasiannya smart banners tidaklah jauh berbeda dengan banners, hanya ada sedikit perbedaan :

Untuk daftar-daftar fitur smart banner yang mendukung berdasarkan ukuran layar dapat dilihat di ling berikut :

https://developers.google.com/mobile-ads-sdk/docs/admob/smart-banners

setelah mengganti setAdSize menjadi smart banner, jalankan aplikasi dan lihat hasilnya.

"

Page � of �8 13

adView = new AdView(this); adView.setAdSize(AdSize.SMART_BANNER); adView.setAdUnitId(AD_UNIT_ID);

Page 9: Modul praktikum 17 - Android Sudaryatno

Praktikum ANDROIDVSERV "Vserv.mobi merupakan salah satu sarana advertising mobile selain AdMob. Sebelum mengimplementasikan iklan ke aplikasi, kita harus mengintegrasikan aplikasi kita dengan SDK dari vserv.

Requirements :

• Buka halaman http://www.vserv.mobi/get-started/?at=developer untuk mendaftar akun vserv, klik

• Setelah itu dapatkan ZoneID, fungsinya sama seperti Unit_Id pada AdMob, apabila proses registrasi sudah sukses, bisa dilihat di https://admin.vserv.mobi/admin/affiliate-zones.php

• Set Target SDK ke versi 18 (catatan : jangan menargetkan ke SDK versi 19, karena sedikit bermasalah)

• Versi ADT harus 22 atau lebih (lihat di Help->About ADT)

Setup SDK

1. Download terlebih dahulu SDK untuk Vserv disini

2. Import SDK tadi kedalam workspace kita.

3. Tambahkan GooglePlayService ke project kita. Tutorialnya bisa dilihat disini :

http://developer.android.com/google/play-services/setup.html

4. Tambahkan project yang telah di import tadi menjadi Library, cara yang sama seperti menambahkan GooglePlayServiceLib.

5. Tambahkan line berikut ke file project.properties

6. Catatan : Hilangkan baris berikut di AndroidManifest.xml jika di project kita sebelumnya terdapat meta-data untuk Google Ads

7. Jalankan aplikasi, jika tidak error maka konfigurasi Vserv telah benar dilakukan.

Page � of �9 13

manifestmerger.enabled=true

<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>

Page 10: Modul praktikum 17 - Android Sudaryatno

Praktikum ANDROID

Vserv

a. Interstitial Ads Pertama-tama simpan Zone_ID yang kita dapatkan ke static variabel, misal :

Terdapat 2 buah zone id, yang satu untuk iklan berjenis interstitital, billboard, FS dan yang satu untuk jenis banner. Untuk menampilkan Interstitial Ads, ketikan source code berikut :

AdPosition.IN berfungsi untuk mengatur dimana Iklan akan ditampilkan, didalam aplikasi (IN), saat awal (START), atau saat akhir (END). Jalankan aplikasi dan lihat hasilnya :

""

Page � of �10 13

public static String ZONEID_INTERSTITIAL = "94cc2ecc"; public static String ZONEID_BANNER = "0dc57f76";

VservManager vservAds = vservAds.getInstance(this); vservAds.setShowAt(AdPosition.IN); vservAds.displayAd(ZONEID_INTERSTITIAL, AdType.INTERSTITIAL);  

Page 11: Modul praktikum 17 - Android Sudaryatno

Praktikum ANDROIDInterstitial Ads saat Launch (START)

Saat activity dimulai, maka aplikasi secara otomatsi menampilkan iklan tipe interstitial tersebut.

Interstitial Ads saat Exit (EXIT)

"

Page � of �11 13

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); linLayout = (LinearLayout) findViewById(R.id.linLayout); VservManager vservAds = vservAds.getInstance(this); vservAds.setShowAt(AdPosition.START); vservAds.displayAd(ZONEID_INTERSTITIAL, AdType.INTERSTITIAL);

@Override public void finish() { vservAds.setShowAt(AdPosition.END); vservAds.displayAd(ZONEID_INTERSTITIAL, AdType.INTERSTITIAL); }  

Page 12: Modul praktikum 17 - Android Sudaryatno

Praktikum ANDROIDDengan cara tersebut, maka iklan akan muncul ketika kita menekan Back pada Activity, atau saat Activity tersebut berakhir siklusnya (contoh Activity.finish()). Lalu jika tidak ada super.finish() bagaimana bisa keluar dari aplikasi ? Implementasikan source code berikut ke onActivityResult :

b. Banner Ads Berbeda dengan Interstitial yang menggunakan VservMananger, untuk banner Ads menggunakan VservController serta view atau wadah yang digunakan untuk menampung iklan tersebut. Contoh source code berikut untuk mencoba banner ads

Jalankan aplikasi dan lihat hasilnya :

Page � of �12 13

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == VservManager.REQUEST_CODE) { if (data != null) { if (data.hasExtra("showAt") && data.getStringExtra("showAt") .equalsIgnoreCase("end")) { VservManager.getInstance(this).release(this); super.finish(); } } else { super.finish(); } } }  

frameLayout = (FrameLayout) findViewById(R.id.container); VservManager renderAdManager = VservManager.getInstance(this); try { VservController controller = renderAdManager.renderAd(ZONEID_BANNER, frameLayout); } catch (ViewNotEmptyException e) { // TODO Auto-generated catch block e.printStackTrace(); }

Page 13: Modul praktikum 17 - Android Sudaryatno

Praktikum ANDROID"

c. Testing Integration "Adding Test Device

Vserv SDK membolehkan kita untuk men-setting device kita menjadi device testing seperti halnya pada AdMob.

AdvertisingID disini maksudnya adalah nomer dari perangkat yang akan dijadikan Test Device, untuk mencarinya, buka LogCat dengan Tag vserv.

Using the TestZones

Kita bisa juga menggunakan ZoneID untuk fungsi Testing, namun harap diingat jika mempublish aplikasi, jangan menggunakan ZoneID ini atau kita tidak akan mendapatkan revenue.

Billboard Test ZoneID: 8063 Banner Test ZoneID: 20846 "d. VservManager Options VservManager juga terdapat opsi untuk membuat lebih spesifik request dari iklan kita.

"""

Page � of �13 13

VservManager.addTestDevice(AdvertisingID1, AdvertisingID2, AdvertisingID3);