Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何检查Revmob会话是否已启动?_Ios_Objective C_Revmob - Fatal编程技术网

Ios 如何检查Revmob会话是否已启动?

Ios 如何检查Revmob会话是否已启动?,ios,objective-c,revmob,Ios,Objective C,Revmob,我已经在我的应用程序中集成了RevMobAds。如何检查RevMob会话是否已启动 在AppDelegate中: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [RevMobAds startSessionWithAppID:@"My RevMob AppID"]; return YES; } -(voi

我已经在我的应用程序中集成了RevMobAds。如何检查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];
}
在我的第一个ViewController中:

-(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函数吗?

如果您仍然存在此问题,您应该下载最新的框架版本。他们最近解决了这个问题。Thanx@alex-i。他们在最新的SDK ios 7.4.8中解决了这个问题。您能否提供更多信息和解释OP的错误以及您的代码如何修复它?这正是高质量答案的意义所在。@Julian,我的代码片段使用block而不是delegate方法回答了“如何检查Revmob会话是否已启动”的问题。所以,我想其他任何人都会发现在这里登陆是很有用的。如果我这样做,我将如何设置委派。目前我正在使用[RevMobAds startSessionWithAppID:REVMOB_APP_ID and Delegate:self]@Alix,你可以这样开始会话。并在应用程序中的任何位置使用会话,还可以设置代理,如以下代码段所示。revMob全屏*revMob;revMob=[[RevMobAds会话]全屏];revMob.delegate=self@泽万:是的,我也这么做了。但是我的委托方法不被称为,这就是为什么我选择了andDelegate方法。但这也不起作用。我很困惑有什么建议吗
[RevMobAds startSessionWithAppID:REVMOB_APP_ID
              withSuccessHandler:^{
                  NSLog(@"RevMobAds session started");
              } andFailHandler:^(NSError *error) {
                  NSLog(@"RevMobAds session failed");
              }];