更新 Google Ads SDK 后 onAdFailedToLoad 已弃用,如何解决?

Posted

技术标签:

【中文标题】更新 Google Ads SDK 后 onAdFailedToLoad 已弃用,如何解决?【英文标题】:After updating Google Ads SDK onAdFailedToLoad is deprecated, How to resolve? 【发布时间】:2020-07-26 17:31:05 【问题描述】:

将 Google Ads SDK 更新到 19.3.0 后,会为 onAdFailedToLoad() 提供已弃用的警告消息。我该如何解决这个问题?

我的代码:

public void BannerAdMob() 
        final AdView adView = findViewById(R.id.adsView);
        adView.loadAd(new AdRequest.Builder().build());
        adView.setAdListener(new AdListener() 
            @Override
            public void onAdLoaded() 
                
            

            @Override
            public void onAdFailedToLoad(int error)  // this method is deprecated 
                
            
        );
    

【问题讨论】:

【参考方案1】:

他们添加了一个你应该重写的新方法,而不是那个:

public void onAdFailedToLoad (LoadAdError adError)

你可以从adError对象中得到一堆信息,在它上面调用getCode()会给你旧方法的代码。

【讨论】:

【参考方案2】:

请参考here 了解更多信息。 完整的例子如下:

    @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 via the error's toString() method.
  Log.d("Ads", error.toString());

【讨论】:

以上是关于更新 Google Ads SDK 后 onAdFailedToLoad 已弃用,如何解决?的主要内容,如果未能解决你的问题,请参考以下文章

针对库或 SDK(com.google.ads、com.google.android.gms.internal)显示的政策违规问题 [关闭]

Firebase SDK 中的 Google Ads 归因

如何使用 Google Mobile Ads SDK 20.5.0 展示原生广告?

art::OatHeader::IsDebuggable() const 崩溃,Android 11,Google Ads SDK 19.7.0

com.google.android.gms.ads.AdView 无法实例化

更新到修订版 30 后缺少“<sdk>/extras/google/google_play_services/libproject”文件夹