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

显示admob插图多次如何?

江坚成
2023-03-14

我有一个小游戏应用程序,它有一个故事板,里面可以创建像“开始”菜单“gamin area scores”这样的场景。我在其中添加了admob横幅视图和州际地图。我的横幅视图运行良好,但我的中间视图只运行了一次。

我在我的viewdidload上加载我的间质,并在调用游戏会话结束的函数中触发它,正如我所说,它只在用户启动另一个游戏并失败时工作一次,这次没有间质(下面的错误)。那么我应该怎么做来修复它我希望我的游戏在我想要的时候多次显示间质。

错误:请求错误:将不发送请求,因为已使用间隙对象。

标题:

#import "GADBannerView.h"
#import "GADInterstitial.h"
@class GADInterstitial;
@class GADRequest;
////////////code UIviewcontroller//////////
        GADBannerView *bannerView_;
        GADInterstitial *interstitial_;

实施

-(void)viewdidload
{
//////////////////gaming code///////////

interstitial_ = [[GADInterstitial alloc] init];
    interstitial_.delegate = self;

    interstitial_.adUnitID = @"ca-app-pub-6280395701552972/5217388242";
    GADRequest *request = [GADRequest request];
    [interstitial_ loadRequest:request];

}

实施

-(void)failgame
{
//////////////////gaming code///////////

    [interstitial_ presentFromRootViewController:self];

}

在googleadmob SDK页面上,它说interstials是一次性使用的对象,所以我确信这就是问题所在,但没有任何东西可以解释如何多次调用它们,所以只要你指出答案,请不要告诉我,去读吧,我已经读了5遍了。

共有3个答案

丌官晨
2023-03-14

如Sonu VR所示,如果遵循Admob推荐的代码,则不会出现问题。只需注意,尽管使用了最佳实践Admob代码,但仍会出现日志错误,这是一种误导。这可能是Admob日志中的一个错误,但不是Admob代码中显示广告的错误。您可以使用非测试电话进行测试,不同的广告将在不同的时间提供。

越健
2023-03-14
- (void)viewDidLoad {
  [super viewDidLoad];
  self.interstitial = [self createAndLoadInterstitial];
}

- (GADInterstitial *)createAndLoadInterstitial {
  GADInterstitial *interstitial = [[GADInterstitial alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910"];
  interstitial.delegate = self;
 [interstitial loadRequest:[GADRequest request]];
  return interstitial;
}

- (void)interstitialDidDismissScreen:(GADInterstitial *)interstitial {
  self.interstitial = [self createAndLoadInterstitial];
}

GadInterstitual是一次性使用的对象。要请求另一个Interstitual,您需要分配一个新的GADIstitual对象。

分配另一个间隙的最佳位置是在GadInterstitalDelegate上的InterstitalIDDISMISSScreen:method中,以便在前一个间隙被解除后立即开始加载下一个间隙。参考:admob站点链接

蒯硕
2023-03-14

没有人给出答案,但我相信还有其他一些人也有同样的问题,所以对于那些想多次拨打州际电话的人来说,这就是窍门。

将其放入自己的方法并从您的main方法调用方法(多次回复)

把州际公路放在你的viewdidload(或你想先开火的地方)上,因为如果你不这样做,那么你就错过了第一次开火,其他的也会起作用。

完整的代码。

- (void) callint
{
    int rNumber1 = arc4random() % 45 + 1;
    int rNumber2 = arc4random() % 45 + 1;
    if((rNumber1%2==1) && (rNumber1%1==0))
    {
    [interstitial_ presentFromRootViewController:self];
    interstitial_ = [[GADInterstitial alloc] init];
    interstitial_.delegate = self;
    interstitial_.adUnitID = @"ca-app-pub-6280395701552972/5217388242";
    GADRequest *request = [GADRequest request];
    [interstitial_ loadRequest:request];

    }

}

我创建了随机数,如果有,因为我不想让用户在每次调用int时都看到这些intersitials,因为每次调用int都有4/1的机会,所以它显示4-5次调用的间隙为1。

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

  • 我正在尝试将AdMob广告整合到我的android应用程序中。当我使用测试模式(将我的设备定义为带有设备id的测试设备)时,广告加载非常完美。但当我退出测试模式时,广告不会出现。 这是我得到的错误: 我搜索了这个错误的含义。我发现没有添加负载。人们告诉我,如果我的帐户是新的,我必须等待1天,以显示广告。但我14天前创建了AdMob帐户。到目前为止,我只与测试广告工作,现在我不能加载现场广告。 有些

  • 这是调试器在运行代码时输出的内容: 2018-11-07 22:12:42.806497-0600CoverMe[7740:78040]未能在(UITabBar)上设置(keyPath)用户定义的检查属性:[setValue: forUndecedKey:]:此类不符合密钥keyPath的键值编码。2018-11-07 22:12:42.901273-0600CoverMe[7740:78040]

  • 我的应用程序不能显示间质。如果我使用测试设备ID运行应用程序,它会显示谷歌的间质测试窗口。但是没有测试设备ID,它什么也不会显示。我做了相同的步骤,比如整合smart_banner。我的应用程序显示smart_banner,但没有显示间质。可能我使用了错误的类......也存在间质类,但我使用了AdView类。我不知道有人知道在libgdx中包含间质的好教程吗?

  • 问题内容: 我正在尝试制作一个程序,一次显示3个框。我以为,如果您为设置一个类,它将每秒显示一个新框。 所以这是我想出的代码: } 它有效,但不是我想要的方式。在上一个按ok之后,它每秒显示一个新框,而不是每秒显示一个新框。 因此,当我按下“按下”键时,它会等待1秒钟并产生一个盒子。当我按“确定”时,它会等待1秒钟并生成另一个,依此类推。知道如何使3个盒子接连产生1个吗? 问题答案: 使用JOpt

  • 问题内容: 我想打印一个字符或字符串,例如’-‘n次。 我可以不使用循环就做吗? ..这意味着打印3次,如下所示: 问题答案: Python 2.x: Python 3.x: