AdMob: Membuat & Memasang Rewarded Video Ads

Assalamualaikum Warahmatullahi Wabarakatuh. Untuk mendapatkan penghasilan/pendapatan dari aplikasi yang mereka buat, seorang publisher atau developer pastinya memerlukan suatu layanan iklan yang cocok bagi aplikasi yang mereka buat, salah satu layanan iklan yang populer saat ini yaitu AdMob.


AdMob adalah perusahaan iklan mobile yang didirikan oleh Omar Hamoui. AdMob didirikan pada tahun 2006 di San Mateo, California. Pada bulan November 2009, saat ini AdMob diakuisisi oleh Google.

Banyak sekali jenis unit iklan yang tersedia pada admob, salah satunya adalah Rewarded Video ads, jenis ini akan menampilkan iklan berbetuk video layar penuh, pengguna memiliki pilihan untuk menonton iklan tersebut dan akan diberikan imbalan, jenis iklan ini sangat cocok digunakan pada aplikasi game, banyak sekali developer game yang menggunakan unit iklan ini untuk mengingkatkan pendapatan.

Membuat dan Memasang Rewarded Video Ads

1) Buka website/situs AdMob https://www.google.co.id/admob/ lalu Login menggunakan akun Gmail kalian.

2) Tambahkan Aplikasi kalian ke AdMob, berinama aplikasi tersebut, disana akan terlihat ID Aplikasi kalian, jika sudah, selanjutnya klik BUAT UNIT IKLAN.
WildanTechnoArt-Menambahkan Aplikasi baru Pada AdMob
Menambahkan Aplikasi ke AdMob

3) Pilih jenis format iklan Video reward.
WildanTechnoArt-Memilih Jenis Format Iklan
Memilih Jenis Format Iklan

4) Berinama Unit iklan tersebut, lalu atur setelannya iklannya seperti berikut ini:
WildanTechnoArt- Mengatur Setelan Unit Iklan Rewarded Ads
Setelan Unit Iklan Rewarded Video Ads

Jumlah Reward adalah jumlah value/nilai yang nanti akan kita gunakan pada aplikasi tersebut, lalu Item Reward adalah nama jenis Reward/Hadiah yang akan diberikan, kalian bisa mengubah nama item reward sesuai keinginan.

5) Klik tombol simpan, disana akan terlihat ID Aplikasi dan ID Unit Iklan kalian, jangan lupa untuk mencatat ID Unit iklan tersebut.

6) Setelah itu buka android studio kalian, lalu buatlah project baru.

7) Buka file AndroidManifest.xml pada project kalian, lalu masukan uses-permisson berikut ini, untuk mengizinkan aplikasi membuka soket jaringan:

<uses-permission android:name="android.permission.INTERNET"/>
WildanTechnoArt-Uses-Permission INTERNET
uses-permission INTERNET

8) Buka file build.gradle(App-level) lalu masukan library berikut ini, didalam dependencies:

compile 'com.google.android.gms:play-services-ads:11.2.0'

9) Untuk design layoutnya kita akan buat sesederhana mungkin, seperti ini:
WildanTechnoArt-Contoh Design Layout Untuk Memasang Unit Iklan Rewarded Ads
Layout Design

Baca Juga:

File.xml pada layout tersebut:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    tools:context="cianjur.developer.net.admobexample.AdMob_By_Google">


    <TextView
        android:id="@+id/reward_type"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/jenis_reward"
        android:textSize="17sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/my_reward"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/jumlah_reward"
        android:textSize="17sp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/get_reward"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="6dp"
        android:text="@string/button" />

</LinearLayout>

10) Berikut ini merupakan Source Code yang saya buat untuk project tersebut:

package cianjur.developer.net.admobexample;

import android.annotation.SuppressLint;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.reward.RewardItem;
import com.google.android.gms.ads.reward.RewardedVideoAd;
import com.google.android.gms.ads.reward.RewardedVideoAdListener;

public class AdMob_By_Google extends AppCompatActivity implements RewardedVideoAdListener{

    private TextView RewardType, My_Reward;
    private RewardedVideoAd rewardedVideoAd;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_admob_by_google);
        Button get_Reward = findViewById(R.id.get_reward);
        RewardType = findViewById(R.id.reward_type);
        My_Reward = findViewById(R.id.my_reward);

        //Menginisialisasi Rewarded Video Ads
        rewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
        rewardedVideoAd.setRewardedVideoAdListener(this);
        loadRewardedVideoAds();
        get_Reward.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //Setelah iklan dimuat, iklan akan ditampilkan
                if(rewardedVideoAd.isLoaded()){
                    rewardedVideoAd.show();
                }
            }
        });
    }

    private void loadRewardedVideoAds(){
        if(!rewardedVideoAd.isLoaded()){
            //Masukan ID Unit Iklan Kalian Disini
            String ID_UNIT_IKLAN = "ca-app-pub-xxxxxx";
            rewardedVideoAd.loadAd(ID_UNIT_IKLAN, new AdRequest.Builder().build());
        }
    }

    /*
      Dibawah ini merupakan kumpulan Metode Untuk
      Menyiapkan Event Pemberitahuan
     */
    @SuppressLint("SetTextI18n")
    @Override
    public void onRewarded(RewardItem rewardItem) {
        //Metode ini memberitahukan untuk memberi penghargaan kepada pengguna
        RewardType.setText("Jenis Reward: "+rewardItem.getType());
        My_Reward.setText("Jumlah Reward: "+rewardItem.getAmount());
    }

    /*
       Metode dibawah ini bersifat Opsional, yang digunakan untuk
       Memberitahukan beberapa kejadian didalam siklus hidup Rewarded Video Ads
     */
    @Override
    public void onRewardedVideoAdLoaded() {
        //Kode disini akan di eksekusi saat Iklan Selesai Dimuat
        Toast.makeText(getApplicationContext(),"Iklan Berhasil Dimuat", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onRewardedVideoAdOpened() {
        //Kode disini akan di eksekusi saat Pengguna Mengklik Iklan
        Toast.makeText(getApplicationContext(),"Iklan sedang dibuka", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onRewardedVideoAdClosed() {
        //Metode ini berjalan saat Iklan Ditutup
        Toast.makeText(getApplicationContext(),"Iklan Ditutup", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onRewardedVideoAdLeftApplication() {
        //Kode disini akan di eksekusi saat Pengguna Meniggalkan Aplikasi/Membuka Aplikasi Lain
        Toast.makeText(getApplicationContext(),"Iklan Meninggalkan Aplikasi", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onRewardedVideoAdFailedToLoad(int i) {
        //Kode disini akan di eksekusi saat Iklan Gagal Dimuat
        Toast.makeText(getApplicationContext(),"Iklan Gagal Dimuat", Toast.LENGTH_SHORT).show();
        //Saat gagal, iklan akan dimuat kembali
        loadRewardedVideoAds();
    }

    
    //Dibawah ini merupakan lifecycle pada activity dan unit iklan tersebut
    @Override
    public void onResume() {
        //jika activity di resume, unit iklan juga akan ikut terresume.
        rewardedVideoAd.resume(this);
        super.onResume();
    }

    @Override
    public void onPause() {
        //jika aplikasi sedang berhenti/dipause, otomatis iklan akan ikut terpause.
        rewardedVideoAd.pause(this);
        super.onPause();
    }

    @Override
    public void onDestroy() {
        //jika activity dihentikan/dihancurkan, otomatis iklan akan ikut terhenti.
        rewardedVideoAd.destroy(this);
        super.onDestroy();
    }
}

Jika kalian lebih suka menggunakan pemrograman kotlin, dibandingkan java, kalian bisa menemukan Source Codenya Disini.

Jalankan project tersebut, dan berikut ini merupakan screenshot saat Rewarded Video Ads dijalankan:
Screenshot_RewardedAds-WildanTechnoArt
Screenshot saat Rewarded Video Ads Dijalankan

Saat aplikasi pertama kali dijalankan, tunggu beberapa detik hinggal muncul pesan iklan sedang dimuat, jika kalian menggunakan pesan Toast pada onRewardedVideoAdReload(), tunggu hinggal pesan tersebut muncul, lalu jalankan iklan tersebut.

Demikian tutorial dari saya mengenai Pembuatan dan Pemasangan Unit Iklan Rewarded Video Ads, jika ada yang ingin ditanyakan, silakan isi kolom komentar dibawah dan jangan lupa untuk follow FansPage WILDAN TECHNO ART, Terakhir dari saya. Wassalamualaikum Warahmatullahi Wabarakatuh.

Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.