当前位置: 首页 > 知识库问答 >
问题:

带iOS9的Admob和间隙Ads

詹联
2023-03-14

今天我注册了adMob,开始在我的应用程序中制作adMob广告。第一个是一个游戏(带有viewcontrollers),我想在游戏结束后在屏幕上显示一个间隙广告,所以我想在游戏结束后加载间隙广告(只有在游戏结束后才能访问此视图,并且游戏持续一分钟,所以它不应该出现得太频繁)

我看过很多教程,在youtube和admob网站上,我有很多问题,比如:即使我导入了它,也找不到admob框架,我在构建时禁用了位代码以避免链接器错误,但我仍然看不到测试广告在我的应用程序上,在模拟器和真实设备上。

我导入了admob所需的所有框架,在xcode中,我在GoogleMobileAds框架附近打了个问号,这是什么意思?关于admob的第一行是:

import GoogleMobileAds

内部viewcontroller

var interstitial: GADInterstitial!
func createNloadAd () -> GADInterstitial
{
    var ad = GADInterstitial(adUnitID: "XXX")



    var request = GADRequest()

    request.testDevices = [kGADSimulatorID]

    ad!.loadRequest(request)

    return ad

}

内部视图加载

self.interstitial = self.createNloadAd()
    if(self.interstitial!.isReady)
    {
        self.interstitial!.presentFromRootViewController(self)
        self.interstitial! = self.createNloadAd()
    }

在adUnitID中,我尝试了在admob网站中创建的间隙ID,以及在教程中找到的其他字符串,但都无效

在testdevices中,我在输出中看到消息后添加了iphone的UDID,但我看不到任何测试广告,而且我没有任何错误

我没有碰故事板,我必须在故事板中创造一些东西吗?

在将应用程序提交到appstore之前,我必须删除testdevices行?当然把我真正的成人

在哪里可以找到最新的admob ID进行测试?所以我测试了这个应用程序,如果有效,我会更改id并提交

我使用的是Xcode 7.1、AdMob 7.5.2,我的应用部署目标是iOS7,我用9.1在模拟器上测试了它,用iOS7测试了我的旧iPhone4,这应该不是问题,因为admob甚至支持iOS6

关于admob指南的另一个问题,在其他应用程序中,我可以在视图中使用iAd并在其他视图中使用Admob吗?我可以因此被禁止吗?只有屏幕下部的横幅广告

共有1个答案

范福
2023-03-14

即使我导入了AdMob framework,也找不到它

删除框架并再次导入。确保选中“如果需要,请复制项目”。此外,请检查项目设置和构建阶段下的库搜索路径,以查看是否包含框架。

我导入了AdMob所需的所有框架

这是不必要的。一旦您包含导入GoogleMobileAds,AdMob框架将导入所需的框架。

我没有碰故事板。我必须在情节提要中创建一些内容吗?

在将应用程序提交到app Store之前,我必须删除测试设备行并输入我的真实AdUnitID?

对现在尝试使用您真正的AdUnitID,看看您的测试ID是否导致了问题。

也许代码是正确的,但如果应用程序未发布,AdMob将无法加载,或者也许我必须等待一天,我的AdMob id才能开始工作

否。无需发布应用程序即可接收实时广告。

我在哪里可以找到最近的AdMob ID进行测试?所以我测试了应用程序,如果有效,我会更改ID并提交

无处奉承别人是不明智的。

关于AdMob指南的另一个问题,在其他应用程序中,我可以在视图中使用iAd,在另一个视图中使用AdMob吗?我可能因此被禁止吗?只有屏幕下部的横幅广告

在您的应用程序中使用任意数量的广告网络。没有任何规定不允许您这样做。

听起来你走在正确的轨道上。不过,您应该设置并包含间隙的委托方法,以查看是否收到任何错误消息。您也需要在. plist中允许任意加载。检查AdMob的iOS9注意事项。

您是否在尝试在viewddLoad中呈现间隙之前调用createNloadAd()?下载广告需要时间。

确保AdMob提供的AdUnitID与您使用的相同。

此外,将演示文稿从视图加载移动到视图显示。

下面是在AppDelegate中创建中间层的示例。swift,然后在我们的ViewController中显示间隙。swift:

AppDelegate。敏捷的

import UIKit
import GoogleMobileAds // Import AdMob

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, GADInterstitialDelegate { // Include delegate

    var window: UIWindow?
    var myInterstitial : GADInterstitial?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // App launched
        // Load interstitial
        myInterstitial = createAndLoadInterstitial()
        return true
    }

    func createAndLoadInterstitial()->GADInterstitial {
        let interstitial = GADInterstitial(adUnitID: "Your Ad Unit ID")
        interstitial.delegate = self
        interstitial?.loadRequest(GADRequest())
        return interstitial
    }

    func interstitialDidReceiveAd(ad: GADInterstitial!) {
        print("interstitialDidReceiveAd")
    }

    func interstitial(ad: GADInterstitial!, didFailToReceiveAdWithError error: GADRequestError!) {
        print(error.localizedDescription)
    }

    func interstitialDidDismissScreen(ad: GADInterstitial!) {
        print("interstitialDidDismissScreen")
        myInterstitial = createAndLoadInterstitial()
    }

ViewController.swift(这将是你的游戏在视图控制器)

import UIKit

class ViewController: UIViewController {

    let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate // Create reference to our app delegate

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func viewDidAppear(animated: Bool) {
        appDelegate.myInterstitial?.presentFromRootViewController(self)
    }
 类似资料:
  • 我正在尝试在ios上实施Admob插播广告。 这是我到目前为止所拥有的,这是我第一次接触目标-c,所以请善良。 在玩家死亡并单击重新启动按钮后,我在游戏中调用ShowAd()。目前,\u interstitalad。isReady不会像真的那样回来。 这是我开始使用的文档https://developers.google.com/mobile-ads-sdk/docs/admob/advanced

  • 这相当长,但可能是一个非常容易修复的问题。大部分都是代码,只需跳到底部,就会有一个tl;博士 嘿,所以我已经遵循了大约10个关于让Admob间质在我的Swift Spritekit游戏中工作的教程。除了我看到的所有教程都使用带有按钮的IBAction。目前,我希望广告每隔一段时间在菜单上弹出一次。(只是为了开始,我可能会在以后更改它)。这一切都非常完美,但是一旦我点击播放按钮(进入不同的场景),然

  • 我正在遵循本教程 到目前为止,当我点击按钮时,它就可以工作了。然而,我似乎无法让它在viewDidLoad上显示中间广告。 这就是我所拥有的: 控制台不断向我显示: 2016-02-04 22:27:51.855 GoogleAdamObjutorial[3394:56415]要获取此设备上的测试广告,请致电:request。testDevices=@[kGADSimulatorID]; 单击按钮

  • 我正在尝试使用静态类加载Admob间隙广告,以便在方便的时间内显示它。 我创建了一个加载间隙的方法: 然后在我的ViewController中: 这是第一次工作,但之后我在Interstitual中遇到以下错误。DidFailToReceiveAd: 不会发送请求,因为已使用间隙对象 如何修复它?

  • 我成功地在我的应用程序中实现了AdMob中间广告,但唯一的问题是它们不可点击。 下面是我的AdMob.java类: 和MainPageActivity.java文件: 我不知道当用户升级并按下播放按钮(这将引导他进入下一个级别)时,该如何显示间隙广告。当他按下home键时,间隙广告就会出现,这会把他带到MainActivity屏幕上。 有人能帮我把广告点击一下吗?另外,有什么建议,如何添加的间隙广

  • 我正在完成一个视频应用程序,我在离开视频activity时显示间隙广告。我只想每X分钟显示一次,但似乎每次我离开那个屏幕时它都在显示。 这是我的activity密码。 onCreate: onbackpressed: 当然,在admob中是这样设置的: 注意:我的应用程序没有发布,所以它正在显示“预览”o“示例”。我正在使用我的广告单元ID: 谢谢,