Я просто хочу показывать видео-рекламу с вознаграждением за использование тестового идентификатора, но во время загрузки она не удалась снова и снова. Кто-то может сказать мне, что я делаю неправильно.Вот мой основной вид деятельности Kotlin.
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.MobileAds
import com.google.android.gms.ads.reward.RewardItem
import com.google.android.gms.ads.reward.RewardedVideoAd
import com.google.android.gms.ads.reward.RewardedVideoAdListener
class MainActivity : AppCompatActivity (), RewardedVideoAdListener {
override fun onRewardedVideoAdClosed() {
loadRewardedVideoAd()
}
override fun onRewardedVideoAdLeftApplication() {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
override fun onRewardedVideoAdLoaded() {
mRewardedVideoAd.show()
}
override fun onRewardedVideoAdOpened() {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
override fun onRewardedVideoCompleted() {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
override fun onRewarded(p0: RewardItem?) {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
override fun onRewardedVideoStarted() {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
override fun onRewardedVideoAdFailedToLoad(p0: Int) {
Toast.makeText(this,"Failed!",Toast.LENGTH_LONG).show()
}
private lateinit var mRewardedVideoAd: RewardedVideoAd
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713")
// Use an activity context to get the rewarded video instance.
mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this)
mRewardedVideoAd.rewardedVideoAdListener = this
loadRewardedVideoAd()
}
private fun loadRewardedVideoAd() {
mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917",
AdRequest.Builder().build())
}
}
Вот код, который я пишу в манифесте Android.
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713"/>
Разрешения.
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Вот строка, которую я пишу в build.gradle (проект: имя_приложения).
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
Вот строка, которую я пишу в build.gradle (Модуль: app).
implementation 'com.google.android.gms:play-services-ads:15.0.1'