Cara memasang iklan Facebook Audience Network (FAN) SDK 6.0 di Android Studio

Cara memasang iklan Facebook Audience Network (FAN) SDK 6.0 di Android Studio

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم

Hallo om pengguna Source Code Aliendroid, ini adalah artikel ke-2 dari kami. Kali ini penulis membuat panduan cara  memasang iklan Facebook Audience Network (FAN) SDK 6.1 di Android Studio 4.1 (17 nov 2020). FAN adalah penyedia iklan dari Facebook.inc, namun saat ini Indonesia menjadi salah satu negara yang di tangguhkan untuk pendaftaran publisher. Iklan yang ditawarkan oleh FAN sangat banyak seperti Banner dan Intertitial, Native dan Reward. Pada  panduan kali ini penulis hanya membahas pemasangan banner dan intertitial saja. Untuk itu silahkan anda siapkan kedua placement ID dan implementasikan SDK FAN 6.1.0.

build.gradle:Module

plugins {
    id 'com.android.application'
}

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.2"

    defaultConfig {
        applicationId "com.aliendroid.latihanfan"
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.2.1'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.13.1'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    implementation 'com.facebook.android:audience-network-sdk:6.1.0'
}

Setelah memasang SDK FAN, buat activity baru dengan nama AudienceNetworkInitializeHelper.java

AudienceNetworkInitializeHelper.java

package com.aliendroid.latihanfan;

import android.content.Context;
import android.util.Log;

import com.facebook.ads.AudienceNetworkAds;

/**
 * Sample class that shows how to call initialize() method of Audience Network SDK.
 */
public class AudienceNetworkInitializeHelper
        implements AudienceNetworkAds.InitListener {

    /**
     * It's recommended to call this method from Application.onCreate().
     * Otherwise you can call it from all Activity.onCreate()
     * methods for Activities that contain ads.
     *
     * @param context Application or Activity.
     */
    static void initialize(Context context) {
        AudienceNetworkAds
                .buildInitSettings(context)
                .withInitListener(new AudienceNetworkInitializeHelper())
                .initialize();
    }

    @Override
    public void onInitialized(AudienceNetworkAds.InitResult result) {
        Log.d(AudienceNetworkAds.TAG, result.getMessage());
    }
}

Initializing the FAN SDK 
Untuk memanggil seluruh iklan, maka lakukan Initializing pada activity pertama. Pada latihan penulis memanggilnya pada MainActivity.java

MainActivity.java

package com.aliendroid.latihanfan;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

import com.facebook.ads.AdSettings;
import static com.facebook.ads.AdSettings.IntegrationErrorMode.INTEGRATION_ERROR_CRASH_DEBUG_MODE;

public class MainActivity extends AppCompatActivity {
    private static boolean TEST_MODE_FAN = true;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        AudienceNetworkInitializeHelper.initialize(this);
        AdSettings.setTestMode(TEST_MODE_FAN);
        AdSettings.setIntegrationErrorMode(INTEGRATION_ERROR_CRASH_DEBUG_MODE);
        setContentView(R.layout.activity_main);

    }
}

Pada baris code terdapat private static boolean TEST_MODE_FAN = true; yang berfungsi untuk melakukan pengujian iklan sebelum di publish, selalu gunakan true untuk menghindari pelanggaran lalulintas iklan tidak valid. Dan ubah menjadi private static boolean TEST_MODE_FAN = false; jika aplikasi siap untuk di publish ke google playstore. 

Banner Ads
Untuk menambah iklan banner penulis menggunakan code xml untuk menyimpan tampilan iklan, ada dua cara pemanggilan iklan, yaitu dengan menggunakan xml dan java, serta full java. Pada latihan kali ini, penulis membahas cara pemasangan banner dengan metode xml dan java. Silahkan buat atau edit xml yang sudah dibuat, pada contoh penulis menambahkan di xml res-layout-activity_main.xml.

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    tools:context=".MainActivity">
    
    <RelativeLayout
        android:id="@+id/bottomBanner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_gravity="center"
        android:gravity="center"></RelativeLayout>
</RelativeLayout>

Lanjutkan dengan menambahkan code java di MainActivity.java

MainActivity.java

package com.aliendroid.latihanfan;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.RelativeLayout;

import com.facebook.ads.AdSettings;
import static com.facebook.ads.AdSettings.IntegrationErrorMode.INTEGRATION_ERROR_CRASH_DEBUG_MODE;

public class MainActivity extends AppCompatActivity {
    private static boolean TEST_MODE_FAN = true;
    public static String FAN_BANNER = "YOUR_PLACEMENT_ID";

    private com.facebook.ads.AdView bannerAdView;
    private RelativeLayout bannerAdContainer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        AudienceNetworkInitializeHelper.initialize(this);
        AdSettings.setTestMode(TEST_MODE_FAN);
        AdSettings.setIntegrationErrorMode(INTEGRATION_ERROR_CRASH_DEBUG_MODE);
        setContentView(R.layout.activity_main);

        bannerAdContainer = (RelativeLayout)findViewById(R.id.bottomBanner);
        bannerAdView= new com.facebook.ads.AdView(this, FAN_BANNER, com.facebook.ads.AdSize.BANNER_HEIGHT_50);
        bannerAdContainer.addView(bannerAdView);
        bannerAdView.loadAd();

    }
}

Intertitial Ads
Iklan intertitial adalah iklan layar penuh yang tampil saat user melakukan tindakan baik itu perpindahan activity atau klik item, untuk membuatnya silahkan edit activity_main.xml dan MainActivity.java lalu tambahkan tombol untuk memanggil iklan intertitial.

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/btn_inter"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Intertitial Ads" />

    <RelativeLayout
        android:id="@+id/bottomBanner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_gravity="center"
        android:gravity="center"></RelativeLayout>
</RelativeLayout>

MainActivity.java

package com.aliendroid.latihanfan;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;

import com.facebook.ads.AdSettings;
import static com.facebook.ads.AdSettings.IntegrationErrorMode.INTEGRATION_ERROR_CRASH_DEBUG_MODE;

public class MainActivity extends AppCompatActivity {
    private static boolean TEST_MODE_FAN = true;
    public static String FAN_BANNER = "YOUR_PLACEMENT_ID";
    public static String FAN_INTER = "YOUR_PLACEMENT_ID";

    private com.facebook.ads.AdView bannerAdView;
    private RelativeLayout bannerAdContainer;

    public static com.facebook.ads.InterstitialAd interstitialAd;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        AudienceNetworkInitializeHelper.initialize(this);
        AdSettings.setTestMode(TEST_MODE_FAN);
        AdSettings.setIntegrationErrorMode(INTEGRATION_ERROR_CRASH_DEBUG_MODE);
        setContentView(R.layout.activity_main);

        bannerAdContainer = (RelativeLayout)findViewById(R.id.bottomBanner);
        bannerAdView= new com.facebook.ads.AdView(this, FAN_BANNER, com.facebook.ads.AdSize.BANNER_HEIGHT_50);
        bannerAdContainer.addView(bannerAdView);
        bannerAdView.loadAd();

        interstitialAd = new com.facebook.ads.InterstitialAd(this, FAN_INTER);
        interstitialAd.loadAd();

        Button muncul_inter = findViewById(R.id.btn_inter);
        muncul_inter.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (interstitialAd == null || !interstitialAd.isAdLoaded()) {
                    interstitialAd.loadAd();
                } else {
                    interstitialAd.show();
                }
            }
        });

    }
}

Sampai tahap ini pemasangn iklan banner dan intertitial FAN sudah selesai, anda bisa melakukan pengujian dengan Run/Build Aplikasi ke emulator atau smartphone. Silahkan kreasikan sendiri seluruh jenis iklan FAN di tutorial Guide for FAN. Semoga bermanfaat.

Jasa Reskin Pemasangan Iklan FAN
Jika anda tidak paham coding anda bisa menggunakan jasa kami untuk memasang iklan FAN, cek disini