2010-11-25 34 views
5

Il s'agit d'un sujet relativement nouveau, donc je ne sais pas combien de personnes doivent implémenter iAd sur iPad (iOS4.2.1). Mais en gros, je reçois la bannière iAd en mode paysage (et elle apparaît correctement). Le seul problème est quand je clique sur le "Test Advertisement", il montre la publicité de test en mode portrait. C'est-à-dire que l'appareil est toujours en mode paysage, mais le texte et la boîte iad elle-même qui dit «ceci confirme que les annonces de test fonctionnent correctement» sont latéraux.iAd sur iPad: paysage iAd non orienté correctement

Est-ce normal? Est-ce que quelqu'un d'autre a déjà vécu ceci? Cela ressemble presque à un bug de pomme mais je ne suis pas sûr ...

+0

Le code que j'ai posté dans ma réponse [ici] [1] [1]: http://stackoverflow.com/a/24536352/1627959 pourrait aider. – Tim

+0

Dans mon cas, c'est l'inverse. J'ai une application iPad "portrait seulement", cependant l'annonce de test affichée lorsque l'on tape sur la bannière est toujours en mode paysage. – Jonny

+0

Vous devez marquer la réponse du bas comme correcte. Le premier indique simplement que les publicités changent en direct et ont aussi 5 ans. Le post de Chris a une solution réelle au problème. –

Répondre

3

Cela m'arrive aussi. Les annonces test d'Apple sur iPhone et iPad sont uniquement en mode portrait. Réel annonces probablement sera en mode paysage de soutien.

1

Le paramètre requiredContentSizeIdentifiers d'ADBannerView est configuré par défaut sur Landscape et Portrait. Si vous utilisez le paysage seulement, vous devez faire une nouvelle NSSet avec ADBannerContentSizeIdentifierLandscape

iAdView.requiredContentSizeIdentifiers = [NSSet setWithObjects:ADBannerContentSizeIdentifierLandscape, nil]; 

Après avoir fait cela, l'annonce de test avec show correctement.

1

J'ai juste eu le même problème et dans mon cas il a été provoqué en ne définissant pas le rootViewController dans le délégué de l'application. Au lieu de cela, j'avais juste ajouté la vue du contrôleur directement à la fenêtre.

Ce comportement peut être reproduit en apportant une seule modification à l'exemple BasicBanner à partir d'iAdSuite d'Apple.

En AppDelegate.m changer la ligne:

self.window.rootViewController = tvc; 

à:

[self.window addSubview:tvc.view]; 

et la publicité apparaîtra toujours en mode portrait. Changez la ligne pour définir le rootViewController et l'annonce tournera de manière appropriée.

La configuration de rootViewController semble être nécessaire pour que le module iAd puisse recevoir des notifications d'orientation de périphérique. En cours de route, j'ai remarqué que l'annonce, ou du moins l'annonce de test, ne répond qu'à l'orientation de l'appareil et ne respecte pas l'interface de l'interface du contrôleur au moment où l'annonce est invoquée. Si vous exécutez BasicBanner sans l'erreur ci-dessus et que l'appareil est à plat et que l'application est en mode paysage, l'annonce apparaîtra en mode portrait et ne sera pas réorientée en mode paysage tant que vous n'aurez pas déplacé l'appareil. Le comportement du simulateur est également incohérent.

Je ne sais pas si cette faiblesse est spécifique à l'annonce test ou à toutes les annonces iAd.

+0

Ce message est spécifique à l'iPad. L'application de démonstration BasicBanner affiche toujours les iAds en mode portrait sur les appareils iPhone/iPod. – ObjectiveLee