Sprite套件场景中来自Vungle的视频广告

时间:2014-10-26 03:39:13

标签: ios sprite-kit vungle-ads

我正在尝试在我的sprite kit skscene中添加Vungle视频广告。我有一个sprite节点,点击时,应该加载广告。 Vungle https://github.com/Vungle/vungle-resources/blob/master/iOS-resources/iOS-dev-guide.md提供的指南介绍了如何通过视图控制器发布广告。

VungleSDK* sdk = [VungleSDK sharedSDK];
[sdk playAd:self];

我有不同的SKScene,我想在场景中播放广告而不是视频控制器。我怎样才能实现它。

以下是我的SKScene代码,其中用户点击了SKSpriteNode,我希望广告加载。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
for (UITouch *touch in touches) {
    SKNode *n = [self nodeAtPoint:[touch locationInNode:self]];
    if ( [n.name isEqual: @"play"]) {
        [self levelSelect];
    }
    else if( [n.name isEqual: @"coins"]){
        VungleSDK* sdk = [VungleSDK sharedSDK];
        [sdk playAd:self.view]; //TODO
    }
}

这会产生错误,因为我没有将视图控制器传递给方法playAd。有人可以指导我吗?

1 个答案:

答案 0 :(得分:2)

如果其他人得到同样的问题,那么这就解决了: -

在视图控制器中,在viewDidLoad方法

中执行此操作
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:@"playVungle" object:nil];

还创建一个方法

-(void)playVungleAd{
  VungleSDK* sdk = [VungleSDK sharedSDK];
  [sdk playAd:self];
}

不要忘记导入VungleSDK / VungleSDK.h 现在在你的skscene,你的触摸开始方法做这个

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
for (UITouch *touch in touches) {
    SKNode *n = [self nodeAtPoint:[touch locationInNode:self]];
    if ( [n.name isEqual: @"play"]) {
        [self levelSelect];
    }
    else if( [n.name isEqual: @"coins"]){
        [[NSNotificationCenter defaultCenter] postNotificationName:@"playVungle" object:nil]; //Sends message to viewcontroller to show ad.
    }

}

在这里,我们向观看控制器发送消息以播放丛林广告。现在,当您在场景中触摸“硬币”skspritenode时,它应播放视频广告。