build.gradle Yandex зависимость:
implementation 'com.yandex.android:mobileads:5.7.0'
MainActivity.kt
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import com.example.yandexapp.databinding.ActivityMainBinding
import com.yandex.mobile.ads.banner.AdSize
import com.yandex.mobile.ads.banner.BannerAdEventListener
import com.yandex.mobile.ads.common.AdRequest
import com.yandex.mobile.ads.common.AdRequestError
import com.yandex.mobile.ads.common.ImpressionData
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.banner.setAdUnitId("demo-banner-yandex")
binding.banner.setAdSize(AdSize.stickySize(300))
val adRequest = AdRequest.Builder().build()
binding.banner.loadAd(adRequest)
binding.banner.setBannerAdEventListener(object : BannerAdEventListener{
override fun onAdLoaded() {
}
override fun onAdFailedToLoad(erorr: AdRequestError) {
Log.d("MyLog", "Yandex Ad Error: ${erorr.description}")
}
override fun onAdClicked() {
}
override fun onLeftApplication() {
}
override fun onReturnedToApplication() {
}
override fun onImpression(p0: ImpressionData?) {
}
})
}
}
MainApp.kt
import android.app.Application
import android.util.Log
import com.yandex.mobile.ads.common.MobileAds
class MainApp : Application() {
override fun onCreate() {
super.onCreate()
MobileAds.initialize(this){
Log.d("MyLog", "Yandex Ads SDK initialized")
}
}
}
activity_main.xml
<?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"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.212" />
<com.yandex.mobile.ads.banner.BannerAdView
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Здравствуйте Сергей,я не смог понять как интегрировать баннер от яндекса в приложение написанное на jetpack compose,точнее не додумался анализируя ваш код,что нужно сделать,что бы вы подсказали как на компоузе встроить баннер?