How to add unity ads in android with kotlin | unity ads implementation in android studio kotlin tutorial

How to add unity ads in android with  kotlin | unity ads implementation in android studio kotlin tutorial

Step 1 - Go to unity website and download unity sdk - download

paste into app/libs/  folder



Step 2 - Go to app/build.gradle file add  dependency 

 

implementation fileTree(dir : 'libs', include: ['*.aar'])


and add internet permission in manifest file

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


Step 3 - Design Your xml layout

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:layout_gravity="center"
android:gravity="center"
android:orientation="vertical"
tools:context=".MainActivity">

<Button
android:id="@+id/interstitial_ad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="180dp"
android:text="Interstitial Ad"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.461"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<Button
android:id="@+id/rewarded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="rewarded Ad"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.453"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/interstitial_ad" />

<Button
android:id="@+id/banner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Banner Ad"
app:layout_constraintBottom_toTopOf="@+id/layout_ad_container"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.467"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/rewarded"
app:layout_constraintVertical_bias="0.022" />

<LinearLayout
android:id="@+id/layout_ad_container"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Step 4 - Cerate a kotlin Call File  AdsManger.kt

write code below given

class AdsManger(private val activity: Activity) :
IUnityAdsInitializationListener {


companion object {

private const val UNITY_GAME_ID = "4696499"
private const val UNITY_BANNER_ID = "Banner_Android"
private const val UNITY_INTERSTITIAL_ID = "Interstitial_Android"
private const val UNITY_REWARDED_ID = "Rewarded_Android"
private const val isTestMode = false
}

private fun showToast(msg: String) {
Toast.makeText(activity.applicationContext, msg, Toast.LENGTH_LONG).show()
}

fun initialize() {
UnityAds.initialize(activity.applicationContext, UNITY_GAME_ID, isTestMode, this)

// showToast("Initialize")
}

fun showBanner(bannerLayout: LinearLayout) {
val bannerView = BannerView(
activity,
UNITY_BANNER_ID,
UnityBannerSize(320, 50)
)
bannerView.listener = UnityAdsBannerListener()
bannerView.load()
bannerLayout.addView(bannerView)

}

fun showInterstitial() {
UnityAds.show(
activity,
UNITY_INTERSTITIAL_ID,
UnityAdsShowOptions(),
UnityAdsShowListener()
)
// showToast("Request Interstitial")
}

fun showRewarded() {
UnityAds.show(
activity,
UNITY_REWARDED_ID,
UnityAdsShowOptions(),
UnityAdsShowListener()
)
// showToast("Request Rewarded")
}


class UnityAdsBannerListener : BannerView.IListener {
override fun onBannerLoaded(p0: BannerView?) {

}

override fun onBannerClick(p0: BannerView?) {

}

override fun onBannerFailedToLoad(p0: BannerView?, p1: BannerErrorInfo?) {
// FOR LOAD FB ADS
// adView.loadAd()
}

override fun onBannerLeftApplication(p0: BannerView?) {

}

}


class UnityAdsShowListener : IUnityAdsShowListener {
override fun onUnityAdsShowFailure(
p0: String?,
p1: UnityAds.UnityAdsShowError?,
p2: String?
) {

}

override fun onUnityAdsShowStart(p0: String?) {

}

override fun onUnityAdsShowClick(p0: String?) {

}

override fun onUnityAdsShowComplete(
p0: String?,
p1: UnityAds.UnityAdsShowCompletionState?
) {

}

}

override fun onInitializationComplete() {
// showToast("initialize complete")
}

override fun onInitializationFailed(p0: UnityAds.UnityAdsInitializationError?, p1: String?) {
// showToast("initialize failed... re init......")
initialize()
}
}

Step 5 - Call All the AdsManager Function in mainacativity

class MainActivity : AppCompatActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

initializeComponents()

}


private fun initializeComponents() {
AdsManger(this).initialize()

val adsLayout: LinearLayout = findViewById(R.id.layout_ad_container)

findViewById<Button>(R.id.interstitial_ad).setOnClickListener {

AdsManger(this).showInterstitial()
}
findViewById<Button>(R.id.rewarded).setOnClickListener {
AdsManger(this).showRewarded()
}
findViewById<Button>(R.id.banner).setOnClickListener {

AdsManger(this).showBanner(adsLayout)
}
}

}



Post a Comment

Previous Post Next Post