【问题标题】:The play-services-ads API has changed (again)play-services-ads API 已更改(再次)
【发布时间】:2022-04-05 17:17:12
【问题描述】:

我刚刚从

更新了 play-services-ads 依赖项
implementation 'com.google.android.gms:play-services-ads:19.6.0'

implementation 'com.google.android.gms:play-services-ads:20.1.0'

现在广告不再起作用了。事实上,它不会编译。这就是我所拥有的:

import com.google.android.gms.ads.doubleclick.PublisherAdRequest;
import com.google.android.gms.ads.doubleclick.PublisherAdView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    PublisherAdView ad = findViewById(R.id.adView);
    PublisherAdRequest adRq = new PublisherAdRequest.Builder().build();
    ad.loadAd(adRq);

doubleclick 包不再存在;因此PublisherAdViewPublisherAdRequest 也没有。 documentation 显示 AdView 而不是 PublisherAdView。我模糊地记得我之前必须处理这个问题,如果我没记错的话,它是一个AdView,然后我不得不将其更改为PublisherAdView

是否知道 google 不断更改 API 的原因?

【问题讨论】:

  • 如果您对更新有任何疑问,我假设您已经阅读了从release notes 链接到的migration guide?我认为没有人可以权威地谈论 Google Ads 团队是否会在未来某个不可知的时间内改变他们的 API 界面。
  • @ianhanniballake:您分享的两个链接都只显示“服务不可用”。

标签: android google-play-services


【解决方案1】:

migration guide 在您的情况下似乎只是重命名。

使用您的示例:

  • doubleclick.PublisherAdView -> admanager.AdManagerAdView
  • doubleclick.PublisherAdRequest -> admanager.AdManagerAdRequest

最终,必须预料到新的主要版本带来的重大变化。 release notes for 20.0.0 甚至明确声明这将是一个很大的变化(以及所做的所有更改):

此版本是一个重大版本更新,其中包含几个重大更改。 请参阅prepare for SDK v20 指南以获取有关如何 迁移。

【讨论】:

  • 交换请求和查看类是偶然的吗?
  • 原来如此!已修复,抱歉。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多