2010-10-24 4 views
2

Je voudrais générer des revenus pour mon application iPhone basée sur OpenGL avec les iAds d'Apple. Tout dans l'application est fait avec OpenGL y compris les menus, les boutons, etc. Comment ajouter des iAds à mon application?Comment ajouter les iAds d'Apple à mon application iPhone basée sur OpenGL?

Plus d'infos: J'ai regardé un exemple de code d'Apple et je suis toujours coincé. Juste fyi je n'utilise actuellement aucun contrôleur de vue. Tout ce que j'ai est une "fenêtre". J'ai essayé d'ajouter le bannerView à la fenêtre avec la méthode addSubView mais il bloque simplement l'application. Pour une raison quelconque, cela fonctionne bien avec MailComposerView. Toute aide est appréciée!

Plus d'infos: J'ai créé une sous-classe de UIViewController et y ai placé un objet BannerAd. Maintenant, les annonces de test s'affichent. Comment rendre le reste de l'UIView transparent de sorte que les annonces apparaissent (avec un alpha de 1.0) et je peux également cliquer sur mes boutons créés avec OpenGL sur la fenêtre ci-dessous le UIViewController?

+2

C'est juste une autre vue, faites-la glisser lorsque vous recevez des publicités, cachez-les quand vous ne les voyez pas. – jer

+0

Vérifiez ma réponse pour une mise à jour concernant UITouch passthrough. –

Répondre

4

Pouvez-vous ajouter des UIViewControllers à la fenêtre?

Si vous le pouvez, créez un UIViewController, qui a un ADBannerView dans son UIView (via Interface Builder), avec les méthodes de délégation appropriées connectées.

Ajoutez ensuite le UIViewController avec un arrière-plan transparent en tant que sous-vue de la fenêtre.

Bonne chance!


Edit:

Quel code utilisiez-vous pour ajouter le ADBannerView programme?


En ce qui concerne l'UITouch passthrough.

Deux méthodes.

Dans la nouvelle UIViewController (mettre l'arrière-plan UIView à l'aide transparente Interface Builder), vous pouvez remplacer le UITouch frappé test en lançant dans ce:

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event { 
    // UIView will be "transparent" for touch events if we return NO 
    return CGRectContainsPoint([adbanner frame], point)); 
} 

Utilisez la méthode ci-dessus. Il gère la bannière hors de vue, les rotations d'affichage, etc. Lorsque vous renvoyez NO (pas dans les limites de la bannerview), il va croire que le point n'est pas dans ce UIViewController, et demandera ensuite le calque suivant.

La seconde méthode, bien que plus facile, a beaucoup de place pour l'erreur, donc je ne la décrirai que sans code postal. Avant d'ajouter la vue de UIViewController, modifiez le cadre de UIView de sorte qu'il ne soit que de la taille de AdBannerView. Cette méthode ne tient pas compte de la rotation, de la bannière glissant dans/hors. Vous devez gérer vous-même ces exceptions, ce qui rend cette méthode plus compliquée qu'il n'y paraît.

+0

J'ai essayé [window addSubView: bannerView]; merci pour votre réponse :-) – MrDatabase

2

Ce tutoriel peut vous aider.

iAd integration in iPhone.

Vous pouvez également télécharger les vidéos WWDC 2010 gratuites sur iTunes et consulter la session 112 sur l'intégration d'iAds dans votre application.

Questions connexes