@chipster123 AdsInterface should do that automatically.
Make sure that: 1) Your Gideros project settings are set to Landscape 2) Your Gideros project settings - IOS autorotation is enabled 3) You have selected both Landscape modes in xCode and disabled both portrait modes (for both Iphone and Ipad) 4) In AppDelegate.m you pass false to gdr_initialize(..., false) so it does not behave like player
When I doe Step 3 like you say, I get the following crash
*** Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 'Supported orientations has no common orientation with the application, and shouldAutorotate is returning YES'
Hmm, thats interesting, but I can't reproduce it as you said.
I can only get the same error in two cases: When I set one orientation in Gideros Studio project settings, and allow only other orientation in Xcode. Or when I provide Landscape only orientation in xCode for Gideros Player (or Gideros projects with true parameter, to make them behave like Player)
When both xCode and Gideros settings are in Landscape it all works and ads are displayed full size, to cover whole width.
I have 2013.09.1 Gideros version and 5.0 xCode version
Attached screenshots of settings
If it still does not resolve you issue, unfortunately I have no idea what can be wrong, and you would probably need to send me your xcode project to try it out (to ar2rsawseen at gmail com)
@chipster123 sorry, but you will then have to fiddle with code to get it working. For example, if you only want landscape ads to show you can change AdsClass.mm file isPortrait function to return always NO.
@ar2rsawseen , it working! As usual, it was pilot error. While preparing a simple test project that worked just fine with ads in LANDSCAPE, started comparing the iOS exported files between the test project and the app I had the problem with and I found that the file 'assets/properties.bin' wasn't getting update between my dev machine and the Mac build machine. Once I copied it across to the Mac and built, all worked. It even flips over to properly to be landscape in the other direction when I flip over the iPad.
I quickly tested and got the app uploaded and it is currently "waiting for review". Phew. Thanks for hanging in there with me.
mmmm when I use: admob:setAlignment('center', 'bottom') admob:showAd("banner")
I receive this logcat error: 01-21 12:33:46.823: E/qdutils(25571): FBIOGET_FSCREENINFO failed 01-21 12:44:36.297: E/Ads(28587): Not enough space to show ad! Wants: <1200, 180>, Has: <920, 1920>
And the banner is showed (as banner dimension) in left,top (do'h)
@arcadia, sorry I did not understand, does it work or not, is the banner displayed properly?
Such notification should not do any harm, as it is to inform developer, because some frameworks can ban you if you try to place the banner outside the screen (as in trying to cheat the system, by hiding banner)
mmm ok, now I have a bigger banner center/bottom as expected (I'm on 7''). But if I want "banner" size on big screen to I have a wrong position...
An other issue on android 4.4 with "immersive mode": My game go in "immersive mode", so hide device button on screen but the banner, when aligned bottom, don't go exactly on bottom of the device (see screenshot)
The last question : In some scene I want to hide the banner so I call ads:hideAd(). When I want to show the banner again I call ads:showAd() but it change the banner, so call again the admob service and return a new banner. There isn't the old admob:setVisible() function?
@arcadia 1) ok, so "banner" should appear in 320x50 dimensions when you call banner it says it can't fit the screen but still displays banner in what dimensions 320x50 or the printed ones in LogCat?
2) what do you mean by immersive mode?
3) on hideAd it simply removes the banner from the view, without destroying it, and on show ad (if you request the same size, it should put it back without reloading). But if you don't experience this, maybe there is a bug and your feedback would help me improve it greatly
1) in nexus 7 if I call ads:showAd("banner") center,bottom I see a 320x50 banner in left,top if I call ads:showAd("auto") center,bottom I see the right banner (the bigger for tablet, i don't know the dimension) in the right position
so
if i want a 320x50 banner on tablet i can see it, but in the wrong position
@arcadia, ok then it seems that the banner sizes are actually in pixels and not dpi? Try opening AdsAdmob.java and in getWidth/getHeight methods, removing *Ads.screenDensity parts and see if it works better.
@ar2rsawseen I think in your game (mashballs) you have a 'watch a video', which banner system are you using for that? Is it AdColony? Is it worth adding?
Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!). https://deluxepixel.com
I think that AdColony has too low fill rate, in many cases videos are not available and I would suggest trying Vungle instead, but unfortunately don't know how good Vungle performs
Thanks, will try Vungle - videos are shorter I think too at only 15 seconds.
Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!). https://deluxepixel.com
Been trying to make a Gideros player to test Ads Interface and I'm facing some issues. I followed directions precisely, but ALL ad frameworks give the same error (See attached screenshot).
Using XCode 5.0.1
What I did 1) Went to AdsInterfaceFolder -> iOSPlugin -> Plugins -> Copied "Ads" folder 2) Pasted Ads folder into my Xcode projects "Plugin" folder 3) Added folder to Xcode project by dragging to "Plugins" and selecting "Create groups for any added folders" and checking my target 4) Try to build for device, get error in screenshot.
Also attached is a screenshot of my "Plugins/Ads" folder within XCode. I have also added all the necessary libs as dictated by the docs.
Quick question though: Here you are saying Tap for Tap is for iOS and Android but the AdsInterface Labs page doesn't mention iOS support for Tap for Tap. So is it good for both platforms right now?
I'll get to working on in once the docs are updated
Sweet! Sorry to overload you with requests, but is it possible to check the ad type when receiving an AD_FAILED event? Also a 'cacheInterstitial" method would also be appreciated.
Edit: I think I found a small bug in the iOS plugin. See attached screenshot of AdsClass.mm.
and about cacheInterstitial, well unfortunately not all ad frameworks support that. But usually if there is a cache interstitial option inside framework, I try to use it automatically inside interface. if I missed any please, let me know
I also wanted to try autopreloading interstitials, but then it would only take bandwidth if someone does not want to use interstitial now and it would raise ad events without calling showAd.
and about ad types for each events, most of the frameworks send same events for different ad types (especially on Android). I think I could bypass that and include the string which was passed to showAd. Will experiment on it
I think Tap for Tap provides a cache interstitial method. If a framework doesn't support such functionality, the lua method could be set to do nothing possibly?
Also here is a modification I made to Ads Interface Android within addAd(Object caller, final View view, int width, int height) in Ads.java.
In original method Tap for Tap banners appeared incredibly small on my 1080p 5in display but using this density independent pixels method they appear "just right".
Not sure how this affects interstitials yet or other banner networks. I'll test and get back to you with more info.
Comments
Make sure that:
1) Your Gideros project settings are set to Landscape
2) Your Gideros project settings - IOS autorotation is enabled
3) You have selected both Landscape modes in xCode and disabled both portrait modes (for both Iphone and Ipad)
4) In AppDelegate.m you pass false to gdr_initialize(..., false) so it does not behave like player
Hope that helps
I can only get the same error in two cases:
When I set one orientation in Gideros Studio project settings, and allow only other orientation in Xcode.
Or when I provide Landscape only orientation in xCode for Gideros Player (or Gideros projects with true parameter, to make them behave like Player)
When both xCode and Gideros settings are in Landscape it all works and ads are displayed full size, to cover whole width.
I have 2013.09.1 Gideros version and 5.0 xCode version
Attached screenshots of settings
If it still does not resolve you issue, unfortunately I have no idea what can be wrong, and you would probably need to send me your xcode project to try it out (to ar2rsawseen at gmail com)
So I guess I need to create a simple project to see if I can recreate and then send to you.
I can't upgrade to 5.0, since I think that requires Mountain Lion and I can't upgrade my mac just yet (it's my wife's).
UPDATE: 1/5/2014 This configuration works. I had a stale 'assets/properties.bin' file in the XCode project.
For example, if you only want landscape ads to show you can change AdsClass.mm file isPortrait function to return always NO.
https://developer.apple.com/news/index.php?id=12172013a
I quickly tested and got the app uploaded and it is currently "waiting for review".
Phew. Thanks for hanging in there with me.
Likes: ar2rsawseen
when I use:
admob:setAlignment('center', 'bottom')
admob:showAd("banner")
I receive this logcat error:
01-21 12:33:46.823: E/qdutils(25571): FBIOGET_FSCREENINFO failed
01-21 12:44:36.297: E/Ads(28587): Not enough space to show ad! Wants: <1200, 180>, Has: <920, 1920>
And the banner is showed (as banner dimension) in left,top (do'h)
With old AdMob plugin all was ok.
https://play.google.com/store/apps/developer?id=Arcadia Solutions
Such notification should not do any harm, as it is to inform developer, because some frameworks can ban you if you try to place the banner outside the screen (as in trying to cheat the system, by hiding banner)
I expect center/bottom but is showed in left/top
https://play.google.com/store/apps/developer?id=Arcadia Solutions
admob:showAd("auto") it should auto calculate the banner size depending on the screen size
An other issue on android 4.4 with "immersive mode":
My game go in "immersive mode", so hide device button on screen but the banner, when aligned bottom, don't go exactly on bottom of the device (see screenshot)
The last question :
In some scene I want to hide the banner so I call ads:hideAd(). When I want to show the banner again I call ads:showAd() but it change the banner, so call again the admob service and return a new banner.
There isn't the old admob:setVisible() function?
https://play.google.com/store/apps/developer?id=Arcadia Solutions
1) ok, so "banner" should appear in 320x50 dimensions
when you call banner it says it can't fit the screen
but still displays banner
in what dimensions 320x50 or the printed ones in LogCat?
2) what do you mean by immersive mode?
3) on hideAd it simply removes the banner from the view, without destroying it, and on show ad (if you request the same size, it should put it back without reloading).
But if you don't experience this, maybe there is a bug and your feedback would help me improve it greatly
if I call ads:showAd("banner") center,bottom I see a 320x50 banner in left,top
if I call ads:showAd("auto") center,bottom I see the right banner (the bigger for tablet, i don't know the dimension) in the right position
so
if i want a 320x50 banner on tablet i can see it, but in the wrong position
2)
The full screen feature of Android 4.4
https://developer.android.com/training/system-ui/immersive.html
3) I will check again
Thx
https://play.google.com/store/apps/developer?id=Arcadia Solutions
Try opening AdsAdmob.java and in getWidth/getHeight methods, removing *Ads.screenDensity parts and see if it works better.
Will check on immersive mode
https://deluxepixel.com
https://deluxepixel.com
Using XCode 5.0.1
What I did
1) Went to AdsInterfaceFolder -> iOSPlugin -> Plugins -> Copied "Ads" folder
2) Pasted Ads folder into my Xcode projects "Plugin" folder
3) Added folder to Xcode project by dragging to "Plugins" and selecting "Create groups for any added folders" and checking my target
4) Try to build for device, get error in screenshot.
Also attached is a screenshot of my "Plugins/Ads" folder within XCode. I have also added all the necessary libs as dictated by the docs.
Edit: Tried this and did not help
http://stackoverflow.com/questions/17250638/revmobads-revmobads-h-file-not-found
Edit 2: Am I being silly or is "You must install each ad framework you want to use based on their installation instructions" also required for iOS?
https://play.google.com/store/apps/developer?id=Into-It+Games
http://appstore.com/LidiaMaximova
I added the Ads folder to Plugins with these files:
ads.h
ads.mm
adsbinder.cpp
AdsClass.h
AdsClass.mm
AdsIad.h
AdsIad.mm
AdsProtocol.h
This compiled fine and ran on my device (Didn't test actual Lua code but at least it builds)
Then I added:
AdsChartboost.h
AdsChartboost.mm
Chartboost folder
+ Required frameworks
And got the error from the attached screenshot when building.
(Using Gideros 2014.01)
https://play.google.com/store/apps/developer?id=Into-It+Games
http://appstore.com/LidiaMaximova
http://blog.giderosmobile.com/post/68378513314/problems-with-xcode-paths-fix
https://play.google.com/store/apps/developer?id=Into-It+Games
http://appstore.com/LidiaMaximova
version 1.2
Added TapForTap (Android, IOS)
Removed redundant layout (Android changed installation)
Fixed AdMob ad dimensions (Android)
Changed setAlignment to set gravity (Android)
Fixed ad caching (Android)
Fixed delayed events for interstitials (Android)
Updated Heyzap (Android, IOS)
Quick question though: Here you are saying Tap for Tap is for iOS and Android but the AdsInterface Labs page doesn't mention iOS support for Tap for Tap. So is it good for both platforms right now?
I'll get to working on in once the docs are updated
https://play.google.com/store/apps/developer?id=Into-It+Games
http://appstore.com/LidiaMaximova
http://docs.giderosmobile.com/interface/ads
Likes: SinisterSoft
Edit: I think I found a small bug in the iOS plugin. See attached screenshot of AdsClass.mm.
https://play.google.com/store/apps/developer?id=Into-It+Games
http://appstore.com/LidiaMaximova
and about cacheInterstitial, well unfortunately not all ad frameworks support that. But usually if there is a cache interstitial option inside framework, I try to use it automatically inside interface. if I missed any please, let me know
I also wanted to try autopreloading interstitials, but then it would only take bandwidth if someone does not want to use interstitial now and it would raise ad events without calling showAd.
and about ad types for each events, most of the frameworks send same events for different ad types (especially on Android). I think I could bypass that and include the string which was passed to showAd. Will experiment on it
Also here is a modification I made to Ads Interface Android within addAd(Object caller, final View view, int width, int height) in Ads.java.
In original method Tap for Tap banners appeared incredibly small on my 1080p 5in display but using this density independent pixels method they appear "just right".
Not sure how this affects interstitials yet or other banner networks. I'll test and get back to you with more info.
https://play.google.com/store/apps/developer?id=Into-It+Games
http://appstore.com/LidiaMaximova