広告読み込みエラー

広告の読み込みに失敗した場合は、 コールバック が呼び出され、 LoadAdErrorオブジェクトが提供されます。

an AdViewでは以下が呼び出されます。

広告を読み込めなかった場合に使用可能な情報を示すコード スニペットは、次のようになります。

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.
  // For example "Account not approved yet". See
  // https://support.google.com/admob/answer/9905175 for explanations of
  // common errors.
  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.
  // For example "Account not approved yet". See
  // https://support.google.com/admob/answer/9905175 for explanations of
  // common errors.
  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())
}

この情報を使用して、広告を読み込めなかった原因をより正確に特定できます。 特に、ドメイン MobileAds.ERROR_DOMAIN、メッセージ のエラーに関する詳細と、問題を解決するための対処方法については、こちらのヘルプセンター記事をご覧ください。

一般的なエラー ロギング メッセージをデバッグする

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 が特権プロセスで許可されていないため、広告リクエストは失敗しました。
  • インターネットの設定を確認します。
  • android:sharedUserId="android.uid.system" を削除し、アプリをシステムアプリとしてインストールします。
ネットワーク接続が遅いため、広告のリクエストに失敗しました。 インターネット接続を改善してから、もう一度お試しください。
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 がメディエーション アダプタを見つけられない。
  • 広告インスペクタの [利用可能なアダプタの表示] を使用して、Google Mobile Ads SDK が検出できないアダプタを診断します。
  • 不足しているアダプターをプロジェクトに追加します。広告ソースごとにこの手順を完了する手順については、 ネットワークの詳細をご覧ください。
com.google.android.gms.internal.ads.*: Received error HTTP response code: 403 AdMob サーバーがリクエストを拒否しました。 しばらくしてからもう一度お試しください。再現性が一貫している場合は、広告インスペクタを使用してリクエスト URL をキャプチャし、サポートにお問い合わせください。