我正在尝试在AppDelegate中接收RevMobAdsDelegate事件并且它们未被调用。请参阅下面的内容:
1)实施RevMobAdsDelegate协议:
@interface MyiOSAppAppDelegate : UIResponder <UIApplicationDelegate, RevMobAdsDelegate>
2)使用ID:
初始化RevMobAds- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// other code here..
// Revmob initialization
[RevMobAds startSessionWithAppID: @"SECRET_APP_ID"];
// other code here..
}
3)致电RevMob广告:
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[[RevMobAds session] showFullscreen];
}
4)声明RevMobAdsDelegate事件:
- (void) revmobAdDidFailWithError:(NSError *)error
{
NSLog(@"1");
}
- (void) revmobAdDidReceive
{
NSLog(@"2");
}
- (void) revmobAdDisplayed
{
NSLog(@"3");
}
- (void) revmobUserClickedInTheAd
{
NSLog(@"4");
}
- (void) revmobUserClosedTheAd
{
NSLog(@"5");
}
广告看似很好,没有任何问题,但没有调用上述任何功能。我也试过
[RevMobAds session] .delegate = self;
但没有发生任何事。最后一行未在RevMobAds Documentation中的任何地方提及 但我还是试过任何人都可以帮助我如何调用这些事件?
这里的任何帮助将不胜感激。
答案 0 :(得分:6)
代表只能使用对象广告,请查看API Documentation。
但你可以使用这样的东西:
RevMobFullscreen *ad = [[RevMobAds session] fullscreen];
ad.delegate = self;
[ad showAd];
或者您可以使用新块“委托”:
RevMobFullscreen *ad = [[RevMobAds session] fullscreen];
[ad loadWithSuccessHandler:^(RevMobFullscreen *fs) {
[fs showAd];
NSLog(@"Ad loaded");
} andLoadFailHandler:^(RevMobFullscreen *fs, NSError *error) {
NSLog(@"Ad error: %@",error);
} onClickHandler:^{
NSLog(@"Ad clicked");
} onCloseHandler:^{
NSLog(@"Ad closed");
}];