gpt4 book ai didi

iphone - 如何知道 View 何时显示? - 使用 BurSTLy 进行广告集成

转载 作者:行者123 更新时间:2023-12-03 21:10:05 26 4
gpt4 key购买 nike

我正在尝试使用 BurSTLy 将 iAd 和 adMob 广告转换到我的 iPhone 应用程序中。我遵循了他们的指导

http://docs.burstly.com/guides/ad-serving-quick-start-guide.html

这是我所拥有的内容的片段...

MyViewController.h

@interface MyViewController : UIViewController <UITableViewDelegate, UITableViewDataSource, OAIAdManagerDelegate> {

OAIAdManager *adManager;
IBOutlet UIView *mainView;

}

@property (nonatomic, retain) UIView *mainView;

@end

MyViewController.m

#import "MyViewController.h"

@implementation MyViewController

@synthesize mainView;

- (void)viewDidLoad {
[super viewDidLoad];

adManager = [[OAIAdManager alloc] initWithDelegate:self];
[self.view addSubview:adManager.view];
[adManager requestRefreshAd];
}


- (UIViewController *)viewControllerForModalPresentation {
return self;
}

- (CGFloat)defaultSessionLife {
return 35.0f;
}

- (Anchor)anchor {
return Anchor_Bottom;
}

- (CGPoint)anchorPoint {
return CGPointMake(self.view.frame.size.width/2, self.view.frame.size.height);
}

- (NSString *)publisherId {
return @"ENTER YOUR PUBLISHER ID HERE";
}

- (NSString *)getZone {
return @"ENTER YOUR ZONE ID HERE";
}

- (UIViewController *)viewControllerForModalPresentation {
return self;
}

// resize mainView (pull up) when ad is displayed
- (void)adManager:(OAIAdManager*)manager didLoad:(NSString*)aNetwork {

[UIView beginAnimations:@"AdResize" context:nil];
[UIView setAnimationDuration:0.7];
CGRect mainViewNewFrame = mainView.frame;
mainViewNewFrame.size.height = 460 - adSize;
mainViewNewFrame.size.width = 320;
mainViewNewFrame.origin.x = 0;
mainViewNewFrame.origin.y = 0;
mainView.frame = mainViewNewFrame;
[UIView commitAnimations];
}

// resize MainView when ad is not available
- (void)adManager:(OAIAdManager*)manager failedToLoad:(NSString*)aNetwork {
[UIView beginAnimations:@"AdResize" context:nil];
[UIView setAnimationDuration:0.7];

CGRect mainViewNewFrame = mainView.frame;
mainViewNewFrame.size.height = 460;
mainViewNewFrame.size.width = 320;
mainViewNewFrame.origin.x = 0;
mainViewNewFrame.origin.y = 0;
mainView.frame = mainViewNewFrame;
[UIView commitAnimations];
}

我无法准确了解广告何时显示,以便我可以重新排列我的 View 。我有一个触摸屏幕底部的表格 View ,因此我需要在显示广告时将其拉起(调整 View 大小)。

我尝试使用 OAIAdManagerDelegateProtocol“adManager:didLoad:”方法,该方法给出了混合结果。当广告管理器认为它有广告但有时广告没有显示时(尤其是第一次调用 iAd),该方法总是被调用。因此,当调用该方法时,我总是调整主视图的大小,为广告腾出空间,但有时广告不在那里显示,因此我最终会显示广告大小的空白。

我还尝试使用“adManager:didLoadView:”方法,但它从未被调用。

那么,当 adManager.view 显示在屏幕上时,是否有其他方式可以收到通知,以便我知道何时调整 View 大小?

最佳答案

我是 BurSTLy 的 Alex。这实际上是我们的代码和 iOS 4.1 的问题。我们已经解决了这个问题,您可以在 github 上找到更新的 SDK:http://github.com/burstly/Burstly-iPhone/downloads

关于iphone - 如何知道 View 何时显示? - 使用 BurSTLy 进行广告集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3718492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com