Я попытался реализовать межстраничное объявление в своем приложении. но я просто получаю ошибки в своей консоли. Что я делаю неправильно?
Вот моя консоль:
2019-04-09 18:23:41.943930+0300 Sozo[5332:159395] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /Users/jonwilson/Library/Developer/CoreSimulator/Devices/75A98A4F-6B72-431C-985C-40DA88E34B57/data/Containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles 2019-04-09 18:23:41.944524+0300 Sozo[5332:159395] [MC] Reading from private effective user settings. 2019-04-09 18:23:41.960135+0300 Sozo[5332:159395] <Google> To get test ads on this device, set: request.testDevices = @[ kGADSimulatorID ]; 2019-04-09 18:23:43.524904+0300 Sozo[5332:159622] ATS failed system trust 2019-04-09 18:23:43.524998+0300 Sozo[5332:159622] System Trust failed for [1:0x600002d9db00] 2019-04-09 18:23:43.525164+0300 Sozo[5332:159622] TIC SSL Trust Error [1:0x600002d9db00]: 3:0 2019-04-09 18:23:43.529783+0300 Sozo[5332:159622] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802) 2019-04-09 18:23:43.529941+0300 Sozo[5332:159622] Task <C47E5A3E-E77D-4D02-9AF5-A3018228B91D>.<0> HTTP load failed (error code: -1200 [3:-9802]) 2019-04-09 18:23:43.530314+0300 Sozo[5332:159591] NSURLConnection finished with error - code -1200
Я пытался смотреть различные видео на YouTube, но ничего не подходит для моей проблемы.
var interstitial: GADInterstitial!
@IBOutlet weak var startButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
//ad ID
interstitial = GADInterstitial(adUnitID: "ca-app-pub-3940256099942544/4411468910")
//request ad
let request = GADRequest()
interstitial.load(request)
interstitial = createAndLoadInterstitial()
interstitial.delegate = self
@IBAction func startButtonAd(_ sender: Any) {
if interstitial.isReady {
interstitial.present(fromRootViewController: self)
}
}
func createAndLoadInterstitial() -> GADInterstitial {
let interstitial = GADInterstitial(adUnitID: "ca-app-pub-3940256099942544/4411468910")
interstitial.delegate = self
interstitial.load(GADRequest())
return interstitial
}
func interstitialDidDismissScreen(_ ad: GADInterstitial) {
interstitial = createAndLoadInterstitial()
}
Во-первых, как указано в вашей консоли:
To get test ads on this device, set: request.testDevices = @[ kGADSimulatorID ];
Вы должны добавить следующий код, чтобы получить тестовую рекламу под let request = GADRequest()
:
request.testDevice = [kGADSimulatorID]
Затем вы можете увидеть, что у вас есть проблема с AppTransportSecurity, вы точно следовали конфигурации ATS: https://developers.google.com/admob/ios/app-transport-security?
Вы должны отключить ATS, чтобы без проблем получать рекламу, как указано в документации Google.
2019-04-09 20:01:09.418933+0300 Sozo[2561:545878] WF: _userSettingsForUser mobile: { filterBlacklist = ( ); фильтрБелый список = ( ); нооверрайдингалловед = 1; рестриктВеб = 1; использоватьконтентфильтр = 0; использоватьContentFilterOverrides = 0; белый список включен = 0; } 2019-04-09 20:01:09.419044+0300 Sozo[2561:545878] WF: _WebFilterIsActive возвращает: НЕТ : 0x101716dd0> на <Sozo.ViewController: 0x102606610>, представление которого не находится в иерархии окон!
документация устарела, я полагаю. У меня нет опции NSAllowsArbitraryLoadsInWebContent в моем plist. через вкладку настроек безопасности транспорта приложения