SWIFT ADMOB: не удалось загрузить: ошибка запроса: нет объявлений для показа

Я на самом деле разрабатываю приложение для iOS с AdMob Reward в Swift, и когда я пытаюсь создать свое приложение с помощью симулятора (iPhone 6, 6s, 7, 8... и т. Д.), Реклама работает, и у меня также появляется следующее сообщение:

Видео-реклама на основе вознаграждения получена.

Но (потому что всегда есть "но"), когда я создаю свое приложение на своем собственном устройстве (iPhone 6), которое не работает, и у меня появляется следующее сообщение об ошибке: "Не удалось загрузить видеообъявление, основанное на вознаграждении: Ошибка запроса: Нет объявления для показа ". Это мой код (очевидно, я изменил Идентификатор объявления на примере, приведенном в "Приступая к работе с рекламным мобом", но в своем приложении я использую мой Идентификатор объявления). Этот образец ID я выбираю для примера: ca-app-pub-3940256099942544/1712485313

let request = GADRequest()
    request.testDevices = [ kGADSimulatorID,"ca-app-pub-3940256099942544/1712485313"];
    rewardBasedVideo = GADRewardBasedVideoAd.sharedInstance()
    rewardBasedVideo?.delegate = self
    if rewardBasedVideo?.isReady == false {
        rewardBasedVideo?.load(GADRequest(), withAdUnitID: "ca-app-pub-3940256099942544/1712485313")
        adRequestInProgress = true
    }

А также

//ADMOB
// MARK: GADRewardBasedVideoAdDelegate implementation
func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd,
                        didFailToLoadWithError error: Error) {
    adRequestInProgress = false
    print("Reward based video ad failed to load: \(error.localizedDescription)")
}

func rewardBasedVideoAdDidReceive(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
    adRequestInProgress = false
    print("Reward based video ad is received.")
}

func rewardBasedVideoAdDidOpen(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
    print("Opened reward based video ad.")
}

func rewardBasedVideoAdDidStartPlaying(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
    print("Reward based video ad started playing.")
}

func rewardBasedVideoAdDidClose(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
    print("Reward based video ad is closed.")
}

func rewardBasedVideoAdWillLeaveApplication(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
    print("Reward based video ad will leave application.")
}

func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd,
                        didRewardUserWith reward: GADAdReward) {
    print("Reward received with currency: \(reward.type), amount \(reward.amount).")
}
//ADMOB!

1 ответ

Сначала вы должны увидеть свои журналы, чтобы получить идентификатор вашего реального устройства

Затем исправьте эту строку:

request.testDevices = [...]

Замените... С помощью симулятора, как вы сделали, и если на вашем реальном устройстве. Вы могли увидеть тестовое объявление. Вы использовали идентификатор своего рекламного блока вместо того, чтобы использовать идентификатор устройства

Другие вопросы по тегам