$10 eCPM GUARANTEED. Meet RevMob!

Hello guys.

I finally got some time to deal with finalizing my app but I am getting some issue with Revmob and multitasking (at least I think it is related to mutlitasking) I show full screen every time the app is launched (unless the game was in progress) and after 3 games. I can see that if I suspend and then resume the game, time to time I am getting the ad which I cannot close. The only way to get out is to kill the app and restart it. When the problem happen I can still get sent to the app store if I press outside the X close button. When I am done with the app store and restart the app (not kill it just restart it) I get the ad full screen again without the possibilty of closing with the X button. This is on a real device since it seems we cannot show the full screen ad image on the simulator anymore. By the wish we could show the ad on the simulator as well since it would save a lot of time troublshooting issue with revmob. I am also traveling a lot these and have a PC laptop and no access to my mac mini to build for device…

Anyway, I will probably need to resolve this issue with suspend/resume or I will need to simply show the ad full screen every 3 games (or even make it a payed app and no ads!). This I am sure would reduce the downloads but it maybe safer for the app. Of course if I could figure what is going on then I will prefer that.

Reading the million postings here**, I was able to find these posts that seems to be related to my issues:

@Rodrigo said earlier:

I"…`m seeing this “problem” too. Looks like that the fullscreen get unresponsive after multi-tasking. When the app is “opened again - multi-task”, so the RevMob FullScreen Ads is displayed “again” and there is the problem where it (the fullscreen ads) does apear to not “go away” even more even clicking on its X…"
and

@krystian6 said:

“…I had the same problem with suspension and resume as you do.
I’m returning a reference to the ad from showFullscreen function. This allows me to manually call back() method when application is suspending.
Please keep in mind however, that this reference will stay “not nil” once ad is removed. You have to nil it on your own…”

@krystian6: What do you mean by a reference? Do you simply mean giving the call a name? A small snippet of the multitasking code would be very welcome if you (anyobdy) got a chance. Here is mine.

[lua]-- SHOW REVMOB POPUP WINDOW EVERY APP START BUT NOT THE VERY FIRST ONE!
– PLEASE NOTE THAT PLAYFLAG IS TRUE ONLY AFTER THE FIRST EVER GAME PLAYED
– GAMEON IS FALSE IF THE APP WAS SUSPENDED (EXITED) DURING AN ACTUAL GAME RUNNING. IN THAT CASE I DO NOT SHOW AN AD BUT SIMPLY A PAUSE MENU.
local onSystem = function( event )

if (event.type == “applicationStart” or event.type == “applicationResume”) and (testNetworkConnection()) == true and (playFlag == true and _GAMEON == false) then

RevMob.showFullscreen()

RevMob.printEnvironmentInformation(REVMOB_IDS)

analytics.logEvent(“APP_ADS_FULL”)

end

end
Runtime:addEventListener( “system”, onSystem )[/lua]

I am kind of surpise by this issue since it seems the posts above where posted a long time ago when the Revmob was version 1 or 2? Anybody else sees the same issue with the latest version as well (3.4.2)?
Just in case here how I use revmob:

in main.lua (top)

[lua] require “revmob”

local REVMOB_IDS = { [“iPhone OS”] = “xxxxxxxxxxxxxxxxxxxxxxxxxxx” }
RevMob.startSession(REVMOB_IDS)

– THEN I SHOW THE AD EITHER IN THE ONSYSTEM (ABOVE) OR IN MY GAMESCREEN.LUA – EVERY 3 GAMES.[/lua]

Finally I am wondering if the revmob listener would help here. Even if you won’t help here, I will love to know how to use it anyway. For instance many times the ad shows up later than the main menu so the player could easily start a new game and the ad showing up during the game play. If that happen then the game is running behind the ad. Of course the people can simply press the exit button on the ad but I will rather that won’t happen since it is annoying (the player can lose a lot of points since this a fast space shooter game!) Would a revmob listener help in this situation? How? Again depending on the type of network speed (wifi or 3G) the ad full screen can show up after bunch of seconds and that seems to cause issues if the player press play before the ad is shown.
I am very sorry for al these questions. I just started to really deal with Revmob integration and I can see multiple things I need to fix before releasing my which is basically ready for launch:)

Thanks guys.

Mo

** PLEASE CORONALABS, GIVES REVMOB THEIR OWN FORUM PLACE!

  • People won’t have to choose between asking the same questions again and again or read thru 1000 posts!

  • It will make it easier to find issues/solutions

ps: @Revmob: I sent you some info on the memory profile. I am still working on figuring out that issue as well. [import]uid: 100814 topic_id: 25797 reply_id: 127398[/import]

Hi,

we had the same issue as you have, and ended up modifying the revmob code. This is one of the weakest points of their asynchronous and “threaded” mayhem :slight_smile: I had Revmob send me the uncompressed lua file, located the places where they call their internal show() function, and modified that part to check for a global variable that said if ads could be shown or not. [import]uid: 21746 topic_id: 25797 reply_id: 127550[/import]

Hi,

I went a different way than haakon, because of all of the updates I would end up wasting more time modifying their lua file than doing real work.

I’ve created a global function to show ads, which first reads another global to check if ads are enabled or not.

In my custom function I create an overlay with some text on it about the long time it may take to load the ad, a button with a link to a full version of the app [so that they can get rid of ads] and info saying that in 10 seconds, if the ad won’t show up they will be able to close the overlay.
Then there’s the 10 sec timer, which will show the X button to close the overlay and cancel the ad.

If the ad will show itself within 10 seconds, thanks to the enterFrame listener revmob uses it will go on top of my overlay. Then, when the ad is closed it will call the listener which closes my overlay at the same time.

That’s it.
If the ad won’t load [for example user turns internet connection off when playing the game] they will be annoyed with my overlay.
If the ad won’t load because of a timeout or something else, at least the user will not be confused about what’s going on. [import]uid: 109453 topic_id: 25797 reply_id: 127553[/import]

[import]uid: 109453 topic_id: 25797 reply_id: 127558[/import]

LairdGames:
Well things has changes since when I wrote about the reference. Now I’m just using the listener sent as parameter to RevMob.showFullScreen.
[import]uid: 109453 topic_id: 25797 reply_id: 127438[/import]

@krystian6, thanks. I have seen the listener but frankly I am not sure how to actually use it in my case where the ad shows with a little delay (at app startup for instance) and the player could easily start a game by pressing play before the ad full screen is displayed. When that happened of course the player lose points before he/she cannot play but the game is already started. Would I just need to not start the game until the listener comes back with something like ad delivered? Is ad delivered means that the ad is showing on the screen? In that case I should probably not allow the game to start unless the ad is not showing…

As you can see I am a little confused:). Anyway, I would appreciate any suggestions from anybody about people are dealing with this type issues with full screen ads.

Thanks

Mo [import]uid: 100814 topic_id: 25797 reply_id: 127539[/import]

Hi,

we had the same issue as you have, and ended up modifying the revmob code. This is one of the weakest points of their asynchronous and “threaded” mayhem :slight_smile: I had Revmob send me the uncompressed lua file, located the places where they call their internal show() function, and modified that part to check for a global variable that said if ads could be shown or not. [import]uid: 21746 topic_id: 25797 reply_id: 127550[/import]

Hi,

I went a different way than haakon, because of all of the updates I would end up wasting more time modifying their lua file than doing real work.

I’ve created a global function to show ads, which first reads another global to check if ads are enabled or not.

In my custom function I create an overlay with some text on it about the long time it may take to load the ad, a button with a link to a full version of the app [so that they can get rid of ads] and info saying that in 10 seconds, if the ad won’t show up they will be able to close the overlay.
Then there’s the 10 sec timer, which will show the X button to close the overlay and cancel the ad.

If the ad will show itself within 10 seconds, thanks to the enterFrame listener revmob uses it will go on top of my overlay. Then, when the ad is closed it will call the listener which closes my overlay at the same time.

That’s it.
If the ad won’t load [for example user turns internet connection off when playing the game] they will be annoyed with my overlay.
If the ad won’t load because of a timeout or something else, at least the user will not be confused about what’s going on. [import]uid: 109453 topic_id: 25797 reply_id: 127553[/import]

[import]uid: 109453 topic_id: 25797 reply_id: 127558[/import]

@krystian6

Thank you and so sorry for the delay. That’s a great idea! (about the overlay window) I just wished it will be a simpler process (ie no need for extra window to avoid the user start playing before the ad is loaded up)

In event your solution is great. I am just curious about one thing. You talking about canceling the revmob ad in description, how do you do that?

Your suggestion gave me the idea of maybe simply show one of the ad (since past revmob folder had bunch of images) We could have a static image (of the ad) and then add a 10 sec timer like you did but it will simply show the countdown and then if the ad shows up earlier then it all good, if not then we would kill the revmob ad (not sure how to kill the ad before it loads…)

In any event thank you so much for your help.

Mo

EDIT: Thanks @haakon, that maybe a good way to go as well. [import]uid: 100814 topic_id: 25797 reply_id: 127976[/import]

Hello guys.

It seems that unfortunately I am still having problem with Revmob failing to close the ad (full screen) after couple times of closing the app and relaunching it. I am using the multitasking to show the ad at app start/resume. Should I use show full screen only at resume? I think the app is crashing but if click on the full screen ad (not the close button) then I am taken to the app store. The only way to close the ad is to kill the app and restart. Obviously not a great thing yo happen!

Any ideas? I saw some similar behavior on older versions from older posts here but it seems to have been resolved in newer versions or at least i thought it was solved. I am testing by simply closing the app and restarting it. I can see that the Revmob start session is displayed every time I resume the app. Is this normal? I put the require and start session at the top of my main.lua…

Thanks.

Mo

[import]uid: 100814 topic_id: 25797 reply_id: 128103[/import]

DELETED…DOUBLE POSTING…SORRY! [import]uid: 100814 topic_id: 25797 reply_id: 128104[/import]

@krystian6

Thank you and so sorry for the delay. That’s a great idea! (about the overlay window) I just wished it will be a simpler process (ie no need for extra window to avoid the user start playing before the ad is loaded up)

In event your solution is great. I am just curious about one thing. You talking about canceling the revmob ad in description, how do you do that?

Your suggestion gave me the idea of maybe simply show one of the ad (since past revmob folder had bunch of images) We could have a static image (of the ad) and then add a 10 sec timer like you did but it will simply show the countdown and then if the ad shows up earlier then it all good, if not then we would kill the revmob ad (not sure how to kill the ad before it loads…)

In any event thank you so much for your help.

Mo

EDIT: Thanks @haakon, that maybe a good way to go as well. [import]uid: 100814 topic_id: 25797 reply_id: 127976[/import]

@LairdGames

I’m not cancelling revmob ad. I just set the revmob timeout to 9 seconds and after 10 seconds I show X button in the top right corner [just like revmob does] and allow user to remove the overlay. Revmob is already gone thanks to the timeout.

I would not show user the image myself because it will confuse the hell out of them. First you show an image and then there’s no ad because for example they are from a country with no ad campaigns. I would not do that. [import]uid: 109453 topic_id: 25797 reply_id: 128133[/import]

Hi
I saw Revmob have been support kindle fire on Corona SDK.
But I can’t got any sample or document show it how to do.
Is anyone know it?

@GUI
Is full screen support random background image?
few day ago, I saw my device show different full screen ad background.
But it seems all the same right now.
Could you have plan to add more rich full screen background images, I think it will add more eCPM

[import]uid: 143797 topic_id: 25797 reply_id: 128136[/import]

Hello guys.

It seems that unfortunately I am still having problem with Revmob failing to close the ad (full screen) after couple times of closing the app and relaunching it. I am using the multitasking to show the ad at app start/resume. Should I use show full screen only at resume? I think the app is crashing but if click on the full screen ad (not the close button) then I am taken to the app store. The only way to close the ad is to kill the app and restart. Obviously not a great thing yo happen!

Any ideas? I saw some similar behavior on older versions from older posts here but it seems to have been resolved in newer versions or at least i thought it was solved. I am testing by simply closing the app and restarting it. I can see that the Revmob start session is displayed every time I resume the app. Is this normal? I put the require and start session at the top of my main.lua…

Thanks.

Mo

[import]uid: 100814 topic_id: 25797 reply_id: 128103[/import]

DELETED…DOUBLE POSTING…SORRY! [import]uid: 100814 topic_id: 25797 reply_id: 128104[/import]

@LairdGames

I’m not cancelling revmob ad. I just set the revmob timeout to 9 seconds and after 10 seconds I show X button in the top right corner [just like revmob does] and allow user to remove the overlay. Revmob is already gone thanks to the timeout.

I would not show user the image myself because it will confuse the hell out of them. First you show an image and then there’s no ad because for example they are from a country with no ad campaigns. I would not do that. [import]uid: 109453 topic_id: 25797 reply_id: 128133[/import]

Hi
I saw Revmob have been support kindle fire on Corona SDK.
But I can’t got any sample or document show it how to do.
Is anyone know it?

@GUI
Is full screen support random background image?
few day ago, I saw my device show different full screen ad background.
But it seems all the same right now.
Could you have plan to add more rich full screen background images, I think it will add more eCPM

[import]uid: 143797 topic_id: 25797 reply_id: 128136[/import]

Hi guys,

I am still struggling with not allowing people for pressing the play button while the game is waiting for the ad full screen to be displayed (for instance after app resume). I went with krystian6 method (thanks!) I show a waiting screen and close it after 10 sec (timer) I also have a revmob listener to watch for adClosed or adNotReceived to cancel the timer and close the waiting screen and go back to the main menu. My issue is that the revmob listener function is never called!? I have that function as a global function. I tried to put it in the main.lua or in the waitingScreen.lua and at both place the function is not called even so i can see the ad shows, I closed and the terminal shows that the ad was closed. I am completly at lost on why the revmob listener is not called. This with the simulator and on the devices.

Any suggestions?

Thanks so much. I am trying to fix this before I can release my app.

Mo
@krystian6: Thanks again for your help. I was wondering if you were willing to share your global function that close your waiting screen? Thanks in advance. [import]uid: 100814 topic_id: 25797 reply_id: 128903[/import]