Не работает реклама AdMob после билда
Добавляю в игру рекламу Google AdMob. Вот, допустим, код рекламы с вознаграждением
using UnityEngine;
using GoogleMobileAds.Api;
public class RewardAd: MonoBehaviour {
public GameObject playergo;
public GameObject answerbuttongo;
private RewardedAd _rewardad;
private const string _adid = "ca-app-pub-3940256099942544/5224354917";
private RewardedAd _rewardAd;
private const string _adId = "ca-app-pub-3940256099942544/5224354917";
private void OnEnable() {
_rewardAd = new RewardedAd(_adId);
AdRequest adRequest = new AdRequest.Builder().Build();
_rewardAd.LoadAd(adRequest);
_rewardAd.OnUserEarnedReward += HandleUserEarnedReward;
}
public void ShowAd() {
//if(_rewardAd.IsLoaded()) {
_rewardAd.Show();
// }
}
private void HandleUserEarnedReward(object sender, Reward args) {
Time.timeScale = 1;
playergo.GetComponent<Player_Scr>().hp = 100;
playergo.GetComponent<Player_Scr>().adBool = true;
answerbuttongo.SetActive(false);
}
}
Запускаю в среде Unity - все работает. Тестовая реклама отображается при нажатии на нужную клавишу, после просмотра и ее закрытия назначается награда.
Когда я создаю файл .apk и закидываю на телефон приложение, эта реклама уже не отображается.
- Нашел такой лог через Android Studio:
2022-11-18 14:24:01.942 22565-22565/? W/AdsUnity: Rewarded ad is not ready to be shown. Следует вопрос - а как ее предзагружать!?
И вот такой лог, из которого следует, что запрос с тестового устройства. Но реклама не показывается
2022-11-18 14:43:36.995 6014-6014/? D/AdsUnity: Calling loadAd() on Android 2022-11-18 14:43:37.011 6014-6014/? D/DynamitePackage: Instantiating com.google.android.gms.ads.ChimeraAdManagerCreatorImpl 2022-11-18 14:43:37.017 6014-6014/? I/Ads: This request is sent from a test device. 2022-11-18 14:43:48.023 6014-6014/? I/Ads: Ad failed to load : 0
- Возможно, я что-то делаю не так. Пока у меня висят тестовые ID рекламы, а в настройках запилен ID приложения уже из AdMob'a. Как исправить?
Ответы (1 шт):
Закинь загрузку рекламы в корутину или в Update, чтобы она загружалась (с нужного тебе момента) пока не загрузится и только потом запускай показ - скорость соединения бывает разная и не всегда все происходит моментально. У меня вообще реклама с вознаграждением упорно не хочет загружаться если я подключен не по wi-fi, а с мобильной связи (хотя соединение и скорость хорошие) - но я еще сам пытаюсь с этим разобраться..