iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – AdMob Interstitial每五场比赛大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在项目中实施了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];

@L_944_6@

使用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每五场比赛所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。