Filter iklan dewasa dengan KIDOZ di aplikasi/game target Anak

Filter iklan dewasa dengan KIDOZ di aplikasi/game target Anak

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

Hallo om pengguna Source Code Aliendroid, pernah tidak pembaca merasa risih dengan munculnya iklan senonoh di aplikasi/game? padahal sudah melakukan filter untuk iklan dewasa. Di akun Admob memang terdapat filter untuk iklan keluarga dan target Anak. Tetapi karena saat ini Admob menerapkan limits ads, mau tidak mau pembuat aplikasi/game harus mencari alternatif iklan selain Admob. Banyak pilihan ads network tapi menurut penulis yang paling cocok adalah kidoz jika memang target aplikasi/game adalah anak (rekomendasi google console). Dengan menggunakan iklan kidoz tidak akan lagi muncul iklan abnormal yang menjual aurat seperti tiktuk, snek video, bego video dll.

Berikut cara pasang SDK iklan Kidoz:
1. Konfigurasi SDK
Untuk menampilkan iklan kidoz tambahkan 2 libs dibagian dependencies gradle:module app

dependencies {
    implementation 'com.kidoz.sdk:KidozSDK:8.9.0@aar'
    implementation group: 'org.greenrobot', name: 'eventbus', version: '3.0.0'  
}

2. Konfigurasi AndroidManifest.xml
Pada bagian AndroidManifest tambahkan permission dan reciver Kidoz

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.aliendroid.brainkids">

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:hardwareAccelerated="true"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:screenOrientation="portrait"
        android:requestLegacyExternalStorage="true"
        android:networkSecurityConfig="@xml/network_config"
        android:usesCleartextTraffic="true"
        android:name=".jigsaw.config.MyApplication"
        android:configChanges="screenLayout|screenSize|orientation|keyboardHidden|keyboard"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".jigsaw.ui.ListActivity"
            android:screenOrientation="portrait"></activity>
    
        <activity
            android:name=".jigsaw.ui.MainActivity"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    
        <receiver android:name="com.kidoz.sdk.api.receivers.SdkReceiver" android:enabled="true" >
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_ADDED"/>
                <data android:scheme="package"/>
            </intent-filter>
        </receiver>
    </application>

</manifest>

3. Inisialisai SDK Kidoz
Sebelum menampilkan iklan kidoz tanambahkan inisial sdk pada awal activity. Biasanya ditempatkan di SplashActivity.java atau MainActivity.java. jika pembaca tidak tahu activity mana yang muncul pertama kali, silahkan buka AndroidManifest.xml, cari code <action android:name="android.intent.action.MAIN" />  dan <category android:name="android.intent.category.LAUNCHER" /> . Lihat poin no 2 (bold merah) penulis menempatkan MainActivity.java sebagai activity pertama yang muncul. Simpan code tepat dibawah setContentView(R.layout.activity_main).

import com.kidoz.sdk.api.KidozSDK;
import com.kidoz.sdk.api.interfaces.SDKEventListener;
import com.kidoz.sdk.api.ui_views.kidoz_banner.KidozBannerListener;

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

KidozSDK.setLoggingEnabled(true);
KidozSDK.setSDKListener(new SDKEventListener() {
@Override
public void onInitSuccess() {
//SDK Init | Success().
}

@Override
public void onInitError(String error) {
//SDK Init | Error
}
});
KidozSDK.initialize(this, "PUB_ID", "TOKEN");

}
}


Jangan lupa untuk mengubah PUB_ID dan TOKEN yang pembaca buat di akun Kidoz. Cek menu profil untuk melihat ID tersebut.

4. Menampilkan Iklan Banner
Iklan Kidoz hanya menggunakan format java untuk menampilkan iklan, sehingga butuh mengatur space 50dp-70dp (top atau bottom) di layout xml. Iklan bisa ditempatkan dibawah layout dengan menuliskan code setBannerPosition(BANNER_POSITION.BOTTOM_CENTER); dan setBannerPosition(BANNER_POSITION.TOP_CENTER); untuk posisi iklan diatas.

import com.kidoz.sdk.api.KidozSDK;
import com.kidoz.sdk.api.interfaces.SDKEventListener;
import com.kidoz.sdk.api.ui_views.kidoz_banner.KidozBannerListener;
import com.kidoz.sdk.api.ui_views.new_kidoz_banner.BANNER_POSITION;
import com.kidoz.sdk.api.ui_views.new_kidoz_banner.KidozBannerView;

public class MainActivity extends AppCompatActivity {

private KidozBannerView mKidozBannerView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

KidozSDK.setLoggingEnabled(true);
KidozSDK.setSDKListener(new SDKEventListener() {
@Override
public void onInitSuccess() {
//SDK Init | Success().
}

@Override
public void onInitError(String error) {
//SDK Init | Error
}
});
KidozSDK.initialize(this, "PUB_ID", "TOKEN");

}

mKidozBannerView = KidozSDK.getKidozBanner(this);
                mKidozBannerView.setBannerPosition(BANNER_POSITION.BOTTOM_CENTER);
                mKidozBannerView.setKidozBannerListener(new KidozBannerListener()
                {
                    @Override
                    public void onBannerViewAdded()
                    {
                    }

                    @Override
                    public void onBannerReady()
                    {
                        mKidozBannerView.show();
                    }

                    @Override
                    public void onBannerError(String errorMsg)
                    {
                    }

                    @Override
                    public void onBannerClose()
                    {
                    }

                    @Override
                    public void onBannerNoOffers()
                    {

                    }
                });
                mKidozBannerView.load();

  }

5. Menampilkan Iklan Inter
Iklan inter bisa diimplementasikan saat perpindahan activity atau saat permainan berakhir. Pada contoh penulis menempatkan pada tombol membuka activiti lain

import com.kidoz.sdk.api.KidozSDK;
import com.kidoz.sdk.api.interfaces.SDKEventListener;
import com.kidoz.sdk.api.ui_views.kidoz_banner.KidozBannerListener;
import com.kidoz.sdk.api.ui_views.new_kidoz_banner.BANNER_POSITION;
import com.kidoz.sdk.api.ui_views.new_kidoz_banner.KidozBannerView;
import com.kidoz.sdk.api.KidozInterstitial;
import com.kidoz.sdk.api.ui_views.interstitial.BaseInterstitial;

public class MainActivity extends AppCompatActivity {

private KidozBannerView mKidozBannerView;
private KidozInterstitial mKidozInterstitial;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

KidozSDK.setLoggingEnabled(true);
KidozSDK.setSDKListener(new SDKEventListener() {
@Override
public void onInitSuccess() {
//SDK Init | Success().
}

@Override
public void onInitError(String error) {
//SDK Init | Error
}
});
KidozSDK.initialize(this, "PUB_ID", "TOKEN");

}
mKidozBannerView = KidozSDK.getKidozBanner(this);
                mKidozBannerView.setBannerPosition(BANNER_POSITION.BOTTOM_CENTER);
                mKidozBannerView.setKidozBannerListener(new KidozBannerListener()
                {
                    @Override
                    public void onBannerViewAdded()
                    {
                    }

                    @Override
                    public void onBannerReady()
                    {
                        mKidozBannerView.show();
                    }

                    @Override
                    public void onBannerError(String errorMsg)
                    {
                    }

                    @Override
                    public void onBannerClose()
                    {
                    }

                    @Override
                    public void onBannerNoOffers()
                    {

                    }
                });
                mKidozBannerView.load();

 mKidozInterstitial = new KidozInterstitial((Activity)MainActivity.this, KidozInterstitial.AD_TYPE.INTERSTITIAL);

                    mKidozInterstitial.setOnInterstitialEventListener
(new BaseInterstitial.IOnInterstitialEventListener()

                    {
                        @Override
                        public void onClosed()
                      {
                        }

                        @Override
                        public void onOpened()
                      {
                        }

                        @Override
                        public void onReady()
                        {
                            mKidozInterstitial.show();
                        }

                        @Override
                        public void onLoadFailed()
                        {

                        }

                        @Override
                        public void onNoOffers()
                      {
                        }
                    });

       Button muncul_inter = findViewById(R.id.btn_inter);
        muncul_inter.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
            if (mKidozInterstitial.isLoaded() == false)
             {
              mKidozInterstitial.loadAd();

                                } else
                                {
                                    mKidozInterstitial.show();
                                }

            }
        });
}

Silahkan uji coba iklan tersebut, semoga bermanfaat.