当我将此方法放入application(_ application: UIApplication,
didFinishLaunchingWithOptions
GADMobileAds.configure(withApplicationID: "MYAPPID")
我的广告按预期显示。
但是,只要我将GADMobileAds.configure(withApplicationID: "MYAPPID")
移动到位于库框架内的辅助方法,并调用该辅助方法,广告就不会显示出来。并且控制台中没有记录表明我的错误。
有谁知道为什么会这样?
答案 0 :(得分:0)
Swift 3.0
在
中使用此代理人class ViewController: UIViewController , GADBannerViewDelegate{
// put this line in viewdidload()
let bannerview1 : GADBannerView = GADBannerView(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 50))
bannerview1.adUnitID = "ca-app-pub-3940256099942544/2934735716"
bannerview1.rootViewController = self
bannerview1.delegate = self
bannerview1.load(GADRequest())
self.view.addSubview(bannerview1)
// Delegates for adv error
func adView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: GADRequestError) {
print(error)
}
}
答案 1 :(得分:0)
来自Google Admob Documentation for iOS的部分:
初始化Google移动广告SDK
在应用启动时,通过调用初始化Google移动广告SDK configureWithApplicationID:在 application:didFinishLaunchingWithOptions:AppDelegate.m的方法或 AppDelegate.swift。 Objective-CSwift AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Use Firebase library to configure APIs [FIRApp configure]; [GADMobileAds configureWithApplicationID:@"ca-app-pub-3940256099942544~1458002511"]; return YES; }
在应用启动时初始化Google移动广告SDK允许使用SDK 尽早获取应用级设置并执行配置任务 可能。这有助于减少初始广告请求的延迟。 初始化需要应用程序ID。应用ID是唯一标识符 在移动应用在AdMob控制台中注册时提供给他们。
所以,恕我直言,你必须必须在应用程序启动时调用此配置函数。
希望有所帮助!