広告の読み込みに失敗した場合は、 コールバック が呼び出され、 LoadAdError
オブジェクトが提供されます。
an AdManagerAdView
では以下が呼び出されます。
Java
public void onAdFailedToLoad(LoadAdError adError);
Kotlin
fun onAdFailedToLoad(error: LoadAdError)
広告を読み込めなかった場合に使用可能な情報を示すコード スニペットは、次のようになります。
Java
@Override
public void onAdFailedToLoad(LoadAdError error) {
// Gets the domain from which the error came.
String errorDomain = error.getDomain();
// Gets the error code. See
// https://developers.google.com/android/reference/com/google/android/gms/ads/AdRequest#constant-summary
// for a list of possible codes.
int errorCode = error.getCode();
// Gets an error message.
String errorMessage = error.getMessage();
// Gets additional response information about the request. See
// https://developers.google.com/admob/android/response-info for more
// information.
ResponseInfo responseInfo = error.getResponseInfo();
// Gets the cause of the error, if available.
AdError cause = error.getCause();
// All of this information is available using the error's toString() method.
Log.d("Ads", error.toString());
}
Kotlin
override fun onAdFailedToLoad(error: LoadAdError) {
// Gets the domain from which the error came.
val errorDomain = error.domain
// Gets the error code. See
// https://developers.google.com/android/reference/com/google/android/gms/ads/AdRequest#constant-summary
// for a list of possible codes.
val errorCode = error.code
// Gets an error message.
val errorMessage = error.message
// Gets additional response information about the request. See
// https://developers.google.com/admob/android/response-info for more
// information.
val responseInfo = error.responseInfo
// Gets the cause of the error, if available.
val cause = error.cause
// All of this information is available using the error's toString() method.
Log.d("Ads", error.toString())
}
この情報を使用して、広告を読み込めなかった原因をより正確に特定できます。
一般的なエラー ロギング メッセージをデバッグする
Google Mobile Ads SDK バージョン 23.5.0 では、広告の読み込みに失敗した場所のスタック トレースを追加するように詳細ログが強化されました。これらのメッセージはクラッシュを示すものではなく、エラーの一意の原因を特定します。次の表に、一般的なエラーログ、説明、推奨される解決策を示します。
エラーログ | 説明 | 推奨されるアクション |
---|---|---|
com.google.android.gms.ads.nonagon.render.cp: * |
広告サーバーが、リクエストされた広告またはメディエーション広告ソースを返さなかった。 | フィードの発生しない問題のトラブルシューティングについて詳しくは、 フィードの発生しないインプレッションのトラブルシューティングをご覧ください。 |
com.google.android.gms.ads.nonagon.render.e: * |
メディエーション ウォーターフォールのすべての広告ソースの読み込みに失敗しました。具体的なエラーは、最後に失敗した広告ソースを表します。 | 各メディエーション広告ソースの失敗理由のロギングの詳細については、 レスポンス情報をご覧ください。 |
com.google.android.gms.ads.internal.util.*: Unable to obtain a JavascriptEngine. |
WebView が特権プロセスで許可されていないため、広告リクエストは失敗しました。 |
|
ネットワーク接続が遅いため、広告のリクエストに失敗しました。 | インターネット接続を改善してから、もう一度お試しください。 | |
com.google.android.gms.ads.nonagon.load.a |
広告リクエストがタイムアウトしました。 | |
com.google.android.gms.ads.internal.util.*: Error while
connecting to ad server: Unable to resolve host "pubads.g.doubleclick.net":
No address associated with hostname |
ネットワーク接続が原因で広告のリクエストに失敗しました。 | |
com.google.android.gms.ads.internal.util.*: Error building
request URL: Cannot determine request type. Is your ad unit id correct? |
広告ユニット ID が想定される正規表現と一致しませんでした。 | 広告ユニット ID が正しいことを確認します。 |
com.google.android.gms.ads.internal.render.bt: Unable to
instantiate mediation adapter class. |
Google Mobile Ads SDK がメディエーション アダプタを見つけられない。 |
|
com.google.android.gms.internal.ads.*: Received error HTTP response code: 403 |
Ad Manager サーバーがリクエストを拒否しました。 | しばらくしてからもう一度お試しください。再現性が一貫している場合は、広告インスペクタを使用してリクエスト URL をキャプチャし、サポートにお問い合わせください。 |