2014-10-26 2 views
1

Я пытаюсь добавить видеообъявления Vungle в свой комплект спрайтов skscene. У меня есть спрайт-узел, который при нажатии на него должен загружать объявление. В руководстве Vungle https://github.com/Vungle/vungle-resources/blob/master/iOS-resources/iOS-dev-guide.md показано, как разместить объявление через контроллер вида.Видеообъявления из Vungle in Sprite kit Сцена

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. Может ли кто-нибудь меня вести?

ответ

2

Sovled это так, если кто-то другой получит ту же самую проблему, вот решение: -

В контроллере зрения, делать это внутри метода 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 в своей сцене, он должен воспроизводить видеообъявление.

+0

спасибо, что это помогло! – user2995344