It looks like you're new here. If you want to get involved, click one of these buttons!
To ensure your ads are not impacted by ATS, do the following:This is all related to Apple's new requirements that all connections should be secure. Before that I only had NSAllowsArbitraryLoads in my P list so I tried the above and it stopped the freezes on the iPhone 5 (I get an error event) but I'm still not getting any ads, and now they don't work on the iPad either. It's the same if I use 7.12.1
Update to version 7.15.0 or later of the Mobile Ads SDK.
Add the NSAllowsArbitraryLoads, NSAllowsArbitraryLoadsForMedia, and NSAllowsAribtraryLoadsInWebContent exceptions to your app's Info.plist file to disable ATS restrictions.
NSAppTransportSecurity
NSAllowsArbitraryLoads
NSAllowsArbitraryLoadsForMedia
NSAllowsArbitraryLoadsInWebContent
App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.And the following when it tries to display an ad:
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9814)I'm not sure whether we do really need at least 7.15.0 and that the Gideros Admob plugin isn't compatible with the newer Admob SDK or whether the issue is something else.
Comments
I've gone through all the Admob documents and all people's issues on StackOverflow. I've gone through all the dependencies several times, including those changed according to the Admob release notes.
I've also gone into our Admob settings and requested https only.
Has anyone managed to get Admob working on iOS 10?
Thanks
I notice that the error "App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file." only appears after adding the 2 new NSAllows... boolean keys for iOS 10.
Adding the 2 new keys stops the freeze on the iPhone 5 because we now receive an error event. To clarify, the freeze wasn't a crash but the lack of an event being received from the ad system to allow our game to continue. Also to clarify, that was in relation to interstitials. To clarify further there is a connection with Admob - I get messages in Xcode regarding test ads etc. Everything was fine with iOS 9 and previous versions of Gideros (pre 16.10) and the older versions of the Admob SDK.
I tried 2 versions of the Admob SDK (7.12.1 bundled with Gideros, and 7.16.0, the latest). No banner or interstitial ads with either.
@ar2rsawseen Do you think that with the extra ATS exceptions needed for iOS 10 we must use the latest Admob SDK to support iOS 10? If so, is it possible that the Admob plugin isn't compatible with the latest version of Admob?
Any ideas would be greatly appreciated, thanks.
So the above additions to the plist do work. However, there is not a full exception for HTTP connections (non HTTPS) as there was with iOS 9 (covered by NSAllowsArbitraryLoads). For iOS 10, it appears that you need to specify each non-secure URL, which is why our connection check was failing.
FYI, Apple have delayed the deadline for secure connections so apps shouldn't get rejected for not having a "valid reason". Although, obviously it would be a good idea to get an SSL certificate ASAP if you need to transmit any data, as we do for some remote configurations.