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 = [...]
Замените... С помощью симулятора, как вы сделали, и если на вашем реальном устройстве. Вы могли увидеть тестовое объявление. Вы использовали идентификатор своего рекламного блока вместо того, чтобы использовать идентификатор устройства