AI-generated Key Takeaways
-
When an ad fails to load, a delegate method or completion handler is called providing an
NSErrorobject. -
The
NSErrorobject contains information such as the error domain, code, and a localized description. -
For errors in the
GADErrorDomain, thelocalizedDescriptioncan provide a more detailed explanation and suggest actions for resolution.
In cases where an ad fails to load, a
delegate method or completion handler
is called which provides a NSError
object.
For GADBannerView
, the following is called:
Swift
func
bannerView
(
_
bannerView
:
BannerView
,
didFailToReceiveAdWithError
error
:
Error
)
Objective-C
-
(
void
)
bannerView:
(
nonnull
GADBannerView
*
)
bannerView
didFailToReceiveAdWithError
:(
nonnull
NSError
*
)
error
;
The following example shows the information available when an ad fails to load:
Swift
func
bannerView
(
_
bannerView
:
BannerView
,
didFailToReceiveAdWithError
error
:
Error
)
{
// Gets the domain from which the error came.
let
errorDomain
=
error
.
domain
// Gets the error code. See
// https://developers.google.com/admob/ios/api/reference/Enums/GADErrorCode
// for a list of possible codes.
let
errorCode
=
error
.
code
// Gets an error message.
// For example "Account not approved yet". See
// https://support.google.com/admob/answer/9905175 for explanations of
// common errors.
let
errorMessage
=
error
.
localizedDescription
// Gets additional response information about the request. See
// https://developers.google.com/admob/ios/response-info for more information.
let
responseInfo
=
(
error
as
NSError
).
userInfo
[
GADErrorUserInfoKeyResponseInfo
]
as
?
ResponseInfo
// Gets the underlyingError, if available.
let
underlyingError
=
(
error
as
NSError
).
userInfo
[
NSUnderlyingErrorKey
]
as
?
Error
if
let
responseInfo
=
responseInfo
{
print
(
"Received error with domain:
\(
errorDomain
)
, code:
\(
errorCode
)
,"
+
"message:
\(
errorMessage
)
, responseInfo:
\(
responseInfo
)
,"
+
"underlyingError:
\(
underlyingError
?.
localizedDescription
??
"nil"
)
"
)
}
}
Objective-C
-
(
void
)
bannerView:
(
GADBannerView
*
)
bannerView
didFailToReceiveAdWithError
:(
NSError
*
)
error
{
// Gets the domain from which the error came.
NSString
*
errorDomain
=
error
.
domain
;
// Gets the error code. See
// https://developers.google.com/admob/ios/api/reference/Enums/GADErrorCode
// for a list of possible codes.
int
errorCode
=
error
.
code
;
// Gets an error message.
// For example "Account not approved yet". See
// https://support.google.com/admob/answer/9905175 for explanations of
// common errors.
NSString
*
errorMessage
=
error
.
localizedDescription
;
// Gets additional response information about the request. See
// https://developers.google.com/admob/ios/response-info for more
// information.
GADResponseInfo
*
responseInfo
=
error
.
userInfo
[
GADErrorUserInfoKeyResponseInfo
];
// Gets the underlyingError, if available.
NSError
*
underlyingError
=
error
.
userInfo
[
NSUnderlyingErrorKey
];
NSLog
(
@"Received error with domain: %@, code: %ld, message: %@, "
@"responseInfo: %@, underlyingError: %@"
,
errorDomain
,
errorCode
,
errorMessage
,
responseInfo
,
underlyingError
.
localizedDescription
);
}
GADErrorDomain
, the localizedDescription
can be looked up in the Resolve common onboarding issues article
for a more detailed explanation and possible actions that can be taken to
resolve the issue.
