ios – AdMob Interstitial每五场比赛

ios – AdMob Interstitial每五场比赛,第1张

概述我在项目中实施了AdMob插页式广告,效果很好.现在,我希望AdMob非页内广告仅针对每第五场比赛而不是每场比赛后出现.有人能帮我吗? 这是我的GameViewController中Admob的代码: - (void)viewDidLoad {[super viewDidLoad]; //addInterstitial self.interstitial = [[GADInte 我在项目中实施了AdMob插页式广告,效果很好.现在,我希望AdMob非页内广告仅针对每第五场比赛而不是每场比赛后出现.有人能帮我吗?

这是我的GameVIEwController中Admob的代码:

- (voID)vIEwDIDLoad {[super vIEwDIDLoad];    //addInterstitial    self.interstitial = [[GADInterstitial alloc] initWithAdUnitID:@"ca-app-pub-XXXXXXXXXX/XXXXXXXXXX"];    GADRequest *request = [GADRequest request];    request.testDevices = @[@"XXXXXXXXXXXXXXXXXXXXXXXXXX"];    [self.interstitial loadRequest:request];    [[NSNotificationCenter defaultCenter]addobserver:self     selector:@selector(handleNotification:) name:@"showAd" object:nil]; }    - (voID)handleNotification:(NSNotification *)notification    {        if ([notification.name isEqualToString:@"showAd"]) {            if ([self.interstitial isReady]) {                [self.interstitial presentFromrootVIEwController:self]; }

更新:

我在GameVIEwController中有这个代码:

- (voID)vIEwDIDLoad {    [super vIEwDIDLoad];    //addInterstitial    if ([[NSUserDefaults standardUserDefaults] objectForKey:GAME_AMOUNT_KEY] == nil){        NSNumber *number = [NSNumber numberWithInt:0];        [[NSUserDefaults standardUserDefaults] setobject: number forKey: GAME_AMOUNT_KEY];        [[NSUserDefaults standardUserDefaults] synchronize];    }    if ([[[NSUserDefaults standardUserDefaults] objectForKey:GAME_AMOUNT_KEY] intValue] >= 5){        [self callAd];        self.interstitial = [self createAndLoadInterstitial];        NSNumber *number = [NSNumber numberWithInt:0];        [[NSUserDefaults standardUserDefaults] setobject: number forKey: GAME_AMOUNT_KEY];        [[NSUserDefaults standardUserDefaults] synchronize];    }- (voID)handleNotification:(NSNotification *)notification {    if ([notification.name isEqualToString:@"showAd"]) {        if ([self.interstitial isReady]) {            [self.interstitial presentFromrootVIEwController:self];        }    }}- (voID) callAd{    [[NSNotificationCenter defaultCenter]addobserver:self selector:@selector(handleNotification:) name:@"showAd" object:nil];}- (GADInterstitial *)createAndLoadInterstitial {    self.interstitial = [[GADInterstitial alloc] initWithAdUnitID:MyAdUnitID2];    self.interstitial.delegate = self;    GADRequest *request2 = [GADRequest request];    request2.testDevices = @[@"XXXXXXXXXXXXXXXXXXXXXX"];    [self.interstitial loadRequest:request2];    return self.interstitial;}- (voID)interstitialDIDdismissScreen:(GADInterstitial *)interstitial {    self.interstitial = [self createAndLoadInterstitial];}

在GameScene.m中这段代码:

- (voID)showGameOver{        //addInterstitial        int score = [[[NSUserDefaults standardUserDefaults] objectForKey:GAME_AMOUNT_KEY] intValue]+1;            NSNumber *newNumber = [NSNumber numberWithInt:score];        [[NSUserDefaults standardUserDefaults] setobject:newNumber forKey:GAME_AMOUNT_KEY];        [[NSUserDefaults standardUserDefaults] synchronize];        [[NSNotificationCenter defaultCenter] postNotificationname:@"showAd" object:nil];
解决方法 使用NSUserDefaults:

- (voID) callAd{  // Code to call your ad here}- (voID) vIEwDIDLoad{// If you haven't played yet,sets to 0  if ([[NSUserdefaults standardUserDefaults] objectForKey:GAME_AMOUNT_KEY] == nil){    NSNumber *num = [NSNumber numberWithInt:0];    [[NSUserDefaults standardUserDefaults] setobject: num forKey: GAME_AMOUNT_KEY];    [[NSUserDefaults standardUserDefaults] synchronize];  }// If you have played  if ([[[NSUserdefaults standardUserDefaults] objectForKey:GAME_AMOUNT_KEY] intValue] >= 5){     [self callAd];  // ad is called   NSNumber *num = [NSNumber numberWithInt:0];        [[NSUserDefaults standardUserDefaults] setobject: num forKey: GAME_AMOUNT_KEY];        [[NSUserDefaults standardUserDefaults] synchronize]; // resets to zero  }}

每当游戏结束时:

int score = [[[NSUserdefaults standardUserDefaults] objectForKey:GAME_AMOUNT_KEY] intValue] + 1;NSNumber *newNumber = [NSNumber numberWithInt:score];[[NSUserDefaults standardUserDefaults] setobject:newNumber forKey: GAME_AMOUNT_KEY];[[NSUserDefaults standardUserDefaults] synchronize]; // Sets to new value

关键可以是真的.在.m文件的顶部放置:

#define GAME_AMOUNT_KEY @"Game Amount Key"

UPDATE

更改:

- (voID)handleNotification:(NSNotification *)notification    {        if ([notification.name isEqualToString:@"showAd"]) {            if ([self.interstitial isReady]) {                [self.interstitial presentFromrootVIEwController:self]; }

至:

- (voID)handleNotification:(NSNotification *)notification    {        if ([notification.name isEqualToString:@"showAd"]) {            if ([self.interstitial isReady]) {    if ([[[NSUserDefaults standardUserDefaults] objectForKey:GAME_AMOUNT_KEY] intValue] >= 5){                    [self.interstitial presentFromrootVIEwController:self];                 NSNumber *number = [NSNumber numberWithInt:0];                [[NSUserDefaults standardUserDefaults] setobject: number forKey: GAME_AMOUNT_KEY];                [[NSUserDefaults standardUserDefaults] synchronize];            }    }

并更改(在VIEwDIDLoad中):

if ([[[NSUserDefaults standardUserDefaults] objectForKey:GAME_AMOUNT_KEY] intValue] >= 5){        [self callAd];        self.interstitial = [self createAndLoadInterstitial];        NSNumber *number = [NSNumber numberWithInt:0];        [[NSUserDefaults standardUserDefaults] setobject: number forKey: GAME_AMOUNT_KEY];        [[NSUserDefaults standardUserDefaults] synchronize];    }

[self callAd];        self.interstitial = [self createAndLoadInterstitial];
总结

以上是内存溢出为你收集整理的ios – AdMob Interstitial每五场比赛全部内容,希望文章能够帮你解决ios – AdMob Interstitial每五场比赛所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1046611.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存