Cara memasang iklan Unity di Android Studio

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم
Hallo om pengguna Source Code Aliendroid, sesuai dengan masukan para member untuk membuat tulisan-tulisan seputar monetize App Andrioid. Dan dikarenakan saat ini musimnya Limits Akun Admob (Nov 2020) mungkin pembahasan di artikel pertama ini bisa sedikit membantu untuk tetap me-monetize app. Salah satunya dengan menerapkan iklan unity (Unity Ads).
Unity Ads adalah fasilitas yang diberikan oleh pihak Unity Technologies untuk membantu para developer / publisher me-monetize game atau aplikasi, baik itu menggunakan Unity game engine atau Android Studio. Untuk menjadi publisher unity ads anda harus registrasi terlebih dahulu dan mendaftarkan projek/aplikasi/game untuk mendapatkan Game ID dan Placement ID.
Download dan Simpan file *aar
Setelah mandapatkan Game Id dan Placement Id, implementasikan Id tersebut kedalam projek, pada tutorial ini penulis menggunakan IDE Android Studio 4.1 dengan Unity_Ads.aar. Sebagai bahan latihan silahkan buat project baru atau buka project yang telah buat. Penulis berasumsi bahwa pembaca sudah paham cara membuat project baru di Android Studio.
Simpan Unity_Ads.aar didalam folder libs diprojek, dan panggil format *.aar tersebut kedalam gradle.
Pada bagian gradle (Gambar/project contoh ) tambahkan baris code 31 - 38 untuk memanggil file *.aar yang ada didalam folder libs, dan implementasikan file *.aar tersebut sesuai dengan baris code 46. Silahkan copy baris code yang dibold
plugins { id 'com.android.application' } android { compileSdkVersion 30 buildToolsVersion "30.0.2" defaultConfig { applicationId "com.aliendroid.latihanunityads" 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 } } allprojects { repositories { jcenter() flatDir { dirs 'libs' } } } dependencies { implementation 'androidx.appcompat:appcompat:1.2.0' 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(name:'unity-ads', ext:'aar') }
Initializing the Unity Ads SDK
Sebelum menambahkan jenis iklan baik itu banner ataupun intertitial, lakukan Initializing pada activity pertama aplikasi, pada contoh penulis memulai activity cengan nama MainActivity.java. Untuk memudahkan latihan, penulis pisahkan antara code unity (bold) dengan code contoh. Code yang di bold yang harus anda copy atau pasang di java.
MainActivity.java
package com.aliendroid.latihanunityads; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import com.unity3d.ads.IUnityAdsListener; import com.unity3d.ads.UnityAds; public class MainActivity extends AppCompatActivity { private boolean TESTMODE_UNITY_ADS = true; private String unityGameID = "3896203"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final UnityAdsListener myAdsListener = new UnityAdsListener(); UnityAds.initialize(this, unityGameID, myAdsListener, TESTMODE_UNITY_ADS); } private static class UnityAdsListener implements IUnityAdsListener { @Override public void onUnityAdsReady(String placementId) { } @Override public void onUnityAdsStart(String placementId) { } @Override public void onUnityAdsFinish(String placementId, UnityAds.FinishState finishState) { } @Override public void onUnityAdsError(UnityAds.UnityAdsError error, String message) { } } }
Pada baris code terdapat TESTMODE_UNITY_ADS = true yang berguna untuk melakukan pengujian iklan, silahkan ubah ke TESTMODE_UNITY_ADS = false jika game/aplikasi siap untuk di publish.
Banned Ads
Untuk menambah iklan banner diperlukan pengaturan code pada file xml dan java. Pada latihan penulis akan menyimpan format banner di res-layout-activity_main.xml dan memanggil format tersebut kedalam code java MainActivity.java dengan placement id "bannerid".
activity_main.xml
MainActivity.java
package com.aliendroid.latihanunityads; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.RelativeLayout; import com.unity3d.ads.IUnityAdsListener; import com.unity3d.ads.UnityAds; import com.unity3d.services.banners.BannerView; import com.unity3d.services.banners.UnityBannerSize; public class MainActivity extends AppCompatActivity { private boolean TESTMODE_UNITY_ADS = true; private String unityGameID = "3896203"; private String Unity_BANNER = "bannerid"; BannerView bottomBanner; RelativeLayout bottomBannerView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final UnityAdsListener myAdsListener = new UnityAdsListener(); UnityAds.initialize(this, unityGameID, myAdsListener, TESTMODE_UNITY_ADS); bottomBanner = new BannerView(MainActivity.this, Unity_BANNER, new UnityBannerSize(320, 50)); bottomBannerView = findViewById(R.id.bottomBanner); bottomBannerView.addView(bottomBanner); bottomBanner.load(); } private static class UnityAdsListener implements IUnityAdsListener { @Override public void onUnityAdsReady(String placementId) { } @Override public void onUnityAdsStart(String placementId) { } @Override public void onUnityAdsFinish(String placementId, UnityAds.FinishState finishState) { } @Override public void onUnityAdsError(UnityAds.UnityAdsError error, String message) { } } }
Intertitial Ads
Intertitial ads pada unity berupa iklan video yang bisa anda implementasikan saat perpindahan activity atau klik pada item tertentu. Pada latihan penulis akan menempatkan iklan intertitial pada saat menekan tombol, untuk itu silahkan edit activity_main.xml untuk menambahkan tombol.
activity_main.xml
MainActivity.java
package com.aliendroid.latihanunityads; import androidx.appcompat.app.AppCompatActivity; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.RelativeLayout; import com.unity3d.ads.IUnityAdsListener; import com.unity3d.ads.UnityAds; import com.unity3d.services.banners.BannerView; import com.unity3d.services.banners.UnityBannerSize; public class MainActivity extends AppCompatActivity { private boolean TESTMODE_UNITY_ADS = true; private String unityGameID = "3896203"; private String Unity_BANNER = "bannerid"; BannerView bottomBanner; RelativeLayout bottomBannerView; private String Unity_INTER ="video"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final UnityAdsListener myAdsListener = new UnityAdsListener(); UnityAds.initialize(this, unityGameID, myAdsListener, TESTMODE_UNITY_ADS); bottomBanner = new BannerView(MainActivity.this, Unity_BANNER, new UnityBannerSize(320, 50)); bottomBannerView = findViewById(R.id.bottomBanner); bottomBannerView.addView(bottomBanner); bottomBanner.load(); Button muncul_inter = findViewById(R.id.btn_inter); muncul_inter.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (UnityAds.isReady (Unity_INTER)) { UnityAds.show (MainActivity.this,Unity_INTER); } } }); } private static class UnityAdsListener implements IUnityAdsListener { @Override public void onUnityAdsReady(String placementId) { } @Override public void onUnityAdsStart(String placementId) { } @Override public void onUnityAdsFinish(String placementId, UnityAds.FinishState finishState) { } @Override public void onUnityAdsError(UnityAds.UnityAdsError error, String message) { } } }
Pada tahap ini, anda sudah selesai memasang iklan banner dan intertitial unity. Silahkan lakukan uji coba dengan proses Run / Build kedalam emulator atau smartphone anda. Jika berhasil maka tampilannya seperti berikut:
SYAIFUL HADI
script xml nya kosong gan
1 year ago