2014-04-19 46 views
2

我在我的应用程序中整合了RevMobAds。我如何检查RevMob会话是否已启动?如何检查Revmob会话是否已启动?

在AppDelegate中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    [RevMobAds startSessionWithAppID:@"My RevMob AppID"]; 
    return YES; 
} 

-(void)showAds 
{ 
    banner = [[RevMobAds session] banner]; //banner is an object of RevMobBanner 
    banner.delegate = self; 
    [banner showAd]; 
} 

在我的第一个视图控制器:

-(void)displayAd 
{ 
    STAppDelegate *appDelegate = (STAppDelegate *)[UIApplication sharedApplication].delegate; 
    [appDelegate showAds]; 
} 

当我把在第一页的viewDidLoad中的displayAd功能,会显示一些警告: -

WARNING: SESSION NOT STARTED!! UNEXPECT BEHAVIOUR CAN OCCOUR!! 
WARNING: USING ADS WITHOUT STARTING A SESSION COULD PRODUCE UNPREDICTED BEHAVIOUR! 

此外不显示广告。但是当我经过一段时间的延迟后调用displayAd函数时,例如5秒,那么一切运行良好并显示广告,但问题是这段时间间隔为5秒可能会不时变化。 因此,任何人都可以建议我一种方法来确定RevMob会话是否已启动,以便我可以在此之后调用displayAd函数?

+0

如果你仍然有问题,你应该下载最后的框架版本。他们最近解决了这个问题。 –

+0

Thanx @ alex-i。他们在他们最新的SDK中解决了这个问题ios 7.4.8 –

回答

1
[RevMobAds startSessionWithAppID:REVMOB_APP_ID 
       withSuccessHandler:^{ 
        NSLog(@"RevMobAds session started"); 
       } andFailHandler:^(NSError *error) { 
        NSLog(@"RevMobAds session failed"); 
       }]; 
+0

你能否提供更多的信息和解释OP做错了什么以及你的代码如何修复它?这只是一个高质量的答案。 –

+0

@Julian,我的代码片段回答了这个问题:“我如何检查Revmob会话是否已经开始?”使用该块而不是委托方法。所以,我认为其他任何人都会觉得这里有用。 – zeeawan

+0

如果我这样做,那么我将如何设置代表。目前我正在使用[RevMobAds startSessionWithAppID:REVMOB_APP_ID andDelegate:self]; – Alix