На самом деле я разрабатываю приложение для iOS с AdMob Reward в Swift, и когда я пытаюсь создать свое приложение с помощью симулятора (iPhone 6, 6s, 7, 8... и т. д.), реклама работает, и у меня также есть это сообщение:
Получено видеообъявление на основе вознаграждения.
Но (потому что всегда есть «но»), когда я создаю свое приложение на своем собственном устройстве (iPhone 6), оно не работает, и у меня появляется это сообщение об ошибке: «Не удалось загрузить видеообъявление на основе вознаграждения: Ошибка запроса: нет рекламы для показа». ." Это мой код (очевидно, я изменил идентификатор объявления в примере, приведенном в «Начало работы с Reward Ad Mob», но в своем приложении я использую свой идентификатор объявления). Это пример идентификатора, который я выбрал для примера: 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!