Admob iOS:在真实设备上获取com.google.DummyAdapter,适用于模拟器

时间:2016-02-05 10:47:45

标签: ios admob

Admob遇到了这个问题:

  

找不到名称为的广告网络适配器:   (" com.google.DummyAdapter&#34)。请务必关联所有必需的广告网络   适配器和SDK,并在'其他链接器标志'中设置-ObjC设置   你的构建目标。

我已经读到这可能是由于" no-fill"在询问网络适配器时出现问题,但只有当我尝试使用真实设备时才会发生这种情况。如果我在模拟器上试用,我会正确收到广告。

有什么想法吗?

6 个答案:

答案 0 :(得分:3)

Cannot find an ad network adapter with the name(s): com.google.DummyAdapter. Remember to link all required ad network adapters and SDKs, and set -ObjC in the 'Other Linker Flags' setting of your build target.

错误通常表示没有广告从中介堆栈中的任何网络提供。这将包括AdMob网络。因此,这可能只是您帐户的问题。另外,请仔细检查您的广告单元ID。

答案 1 :(得分:1)

尝试在构建设置的链接部分中将其他链接器标志设置为-ObjC。

答案 2 :(得分:1)

好吧,我以一种奇怪的方式修复了。我读到有些人因为有效每千次展示费用高或类似的问题而出现这个问题。所以,我去了我的AdMob配置检查它,一切似乎都很好,但为了防止我重新保存设置和violá,广告重新开始工作。

这是我做的步骤:

  • 转到AdMob管理
  • 点击获利标签
  • 点击有问题的应用
  • 在广告块上,点击中介列
  • 上的链接
  • 点击AdMod网络
  • 不要更改任何内容,再次保存数据

希望这对某人有用......

答案 3 :(得分:1)

这对我有用:

只需确保在Privacy > Advertising.下的 iPhone设置中将“限制广告跟踪” “关闭” 并尝试Reset your Advertising Identifier.

答案 4 :(得分:0)

这可能对某些人有帮助!!!

当我使用在AdMob应用中定义的广告单元ID在iPhone上进行测试时,出现了相同的错误。当然,该设备必须注册为测试设备。我正在以编程方式添加“测试设备ID”。

这是我走错路的地方。这些文件已明确提及有关如何将设备注册为测试设备的步骤。相反,我以某种方式决定将设备的UDID注册为测试设备ID(这是我犯的错误。现在我接受的是,这纯粹是我的无知)。在搜索了SO中提供的大多数解决方案以及其他一些博客之后,我只想尝试使用AdMob UI添加测试设备。我在那看到了广告ID / IDFA ,其中包含有关如何找到广告ID / IDFA的链接。

 /// Extract those test device ids from the xcconfig file.
 if let testIDs = self.extractTestDeviceIDs() {
    debugPrint("FOUND: test IDs: ", testIDs)
    GADMobileAds.sharedInstance().requestConfiguration.testDeviceIdentifiers = testIDs
 } else {
    debugPrint("NOT FOUND: test IDs")
    /// NoOp: This has to be prod environment
    /// If the test IDs are not configured, then also Ads should be initialized.
 }

 GADMobileAds.sharedInstance().start { initStatus in
    debugPrint("GAD Ads... Init Status: ", initStatus)
 }

只需重申为我解决此问题的步骤:

  1. 获取/复制您在AdMob应用中定义的广告单元ID

  2. 将这些广告单元ID放入代码中。(我使用 xcconfig 文件将 Dev与Prod 分开)

  3. 现在运行应用程序,您可能已经设置了所有广告插入代码

  4. 检查Xcode控制台(重要),您将在其中看到Google建议的测试设备ID。如下所示:

    > 要在此设备上获取测试广告,请设置: GADMobileAds.sharedInstance.requestConfiguration.testDeviceIdentifiers = @ [@“ 2077ef9a63d2b398840261c8221a0c9b ”]; //注意这个加粗的ID,这是我们想要的ID。

  5. 上面的代码在Obj-C中。在Swift 5+中使用以下代码

    GADMobileAds.sharedInstance()。requestConfiguration.testDeviceIdentifiers = [“ 2077ef9a63d2b398840261c8221a0c9b”]


带走:测试设备标识符不是设备的 UDID ,而是广告标识符。检查以下内容:https://support.google.com/admob/answer/9691433?hl=en#ID


提示::我使用 Dev.xcconfig 文件添加了“测试设备”标识符,因此, Prod.xcconfig 干净而没有那些标识符测试设备ID,并且无需更改任何代码即可提交该应用。

{{1}}

答案 5 :(得分:0)

我收到错误消息“找不到名称为:(“com.google.DummyAdapter”)的广告网络适配器。”当我尝试实施激励广告时,我在 Admob 中只配置了一个横幅广告。

向应用的 admob 添加激励广告后,错误消失了。