我无法将AdMob SDK集成到MoPub(在Fabric中)。我通过结构安装程序安装了MoPub。我正在使用iOS与Swift,XCode版本7.3.1(7D1014),基础SDK iOS 9.3,项目部署目标iOS 8.0。
我可以在我的应用中显示MoPub测试广告,但在通过MoPub显示AdMob广告时出现运行时错误。
在使用Fabric MoPub安装程序时,我找不到有关如何集成AdMob SDK的详细说明。仅使用独立MoPub SDK添加第三方库的说明。我想保留Fabric MoPub框架。
在我使用MoPub测试广告后,我按照以下步骤操作:
我将GoogleAdMobCustomEvent.framework添加到项目中,该项目位于mopub-ios-custom-events.zip存档(位于https://dev.twitter.com/mopub/ios/mediation-fabric中)
我将GoogleMobileAds.framework(Google的最新版本:v7.8.1)添加到项目中。
在MoPub信息中心,我创建了一个新订单,其中包含一个订单项和两个广告单元(横幅广告和排行榜)以及AdMob广告网络。
运行项目时出现以下错误:
2016-05-28 12:03:57.662 moPubTest[43756:2148130] MOPUB: Banner view (*adunit id*) loading ad with MoPub server URL: *MoPub server URL*
2016-05-28 12:04:00.909 moPubTest[43756:2148130] MOPUB: Could not find custom event class named MPGoogleAdMobBannerCustomEvent
2016-05-28 12:04:00.910 moPubTest[43756:2148130] MOPUB: Banner ad view is fetching ad network type: admob_native
2016-05-28 12:04:00.910 moPubTest[43756:2148130] MOPUB: Banner view (*adunit id*) loading ad with MoPub server URL: *MoPub server URL*
2016-05-28 12:04:00.954 moPubTest[43756:2148130] MOPUB: Banner ad view is fetching ad network type: clear
2016-05-28 12:04:00.954 moPubTest[43756:2148130] MOPUB: No ads found for ad unit: *adunit id*
2016-05-28 12:04:02.365 moPubTest[43756:2148130] MOPUB: Banner view (*adunit id*) failed. Error: Error Domain=com.mopub.iossdk Code=0 "The operation couldn’t be completed. (com.mopub.iossdk error 0.)"
看起来我错过了一步。我猜这个问题是在整合MoPub时将GoogleAdMobCustomEvent.framework(在Objective-C中,并包含MPGoogleAdMobBannerCustomEvent标题)集成到我的Swift项目中。
我已经尝试通过拖动和添加文件(选择复制文件选项)将框架添加到项目中。我还尝试添加框架和标头搜索路径,添加了一个桥接头文件,更改了框架头文件中的路径。
在上述所有项目中,项目编译没有错误,但我仍然在运行时收到错误:找不到名为MPGoogleAdMobBannerCustomEvent的自定义事件类
关于什么可能出错的任何想法?
谢谢!
更新: 通过切换要通过CocoaPods安装的Fabric和MoPub框架(而不是使用Fabric应用程序),我能够实现这一点:
通过CocoaPods安装Fabric和Mopub https://fabric.io/kits/ios/mopub/install
我没有添加GoogleAdMobCustomEvent.framework,而是手动将以下Objective-C文件添加到项目中:
MPGoogleAdMobBannerCustomEvent.h
MPGoogleAdMobBannerCustomEvent.m
MPGoogleAdMobInterstitialCustomEvent.h
MPGoogleAdMobInterstitialCustomEvent.m
这4个文件可以在ios mopub SDK git repo的AdNetworkSupport文件夹中找到
创建了一个包含以下内容的桥接头文件:
#import <mopub_ios_sdk/MoPub-Bridging-Header.h>
#import <GoogleMobileAds/GoogleMobileAds.h>
我将GoogleMobileAds.framework(Google的最新版本:v7.8.1)添加到项目中。
在目标“搜索路径”中添加了GoogleMobileAds.framework / Headers位置的路径 - &gt; “框架搜索路径”
理论上你也可以通过CocoaPads安装MoPub的自定义事件,但目前因为一个bug而无法实现。 (见https://stackoverflow.com/a/36830967/6394927)
我希望将来可以帮助别人。
答案 0 :(得分:0)
我知道这是一个非常老的问题,但是我现在处于这种情况。 我与Cocoapods进行了整合,但仍然遇到了这个问题。
您要做的事情(在moPub文档中很难找到)是将您正在使用的广告介体添加到Podfile中。您可以在这里https://developers.mopub.com/publishers/mediation/integrate/
找到它就我而言,我必须添加AdMob,因此只需将以下内容添加到Podfile中即可使其工作:
pod 'mopub-ios-sdk'
pod 'MoPub-AdMob-Adapters', '7.57.0.0'