Now I am moving to Vungle ad network.
So disappointed with Appodeal and InMobi.
Now I am moving to Vungle ad network.
So disappointed with Appodeal and InMobi.
Hello everybody,
There is still no fix for this issue so I thought I will share the workaround I implemented with you.
Please be advised this is no real fix but merely a safeguard to help prevent cheaters from bypassing your reward video from Appodeal.
For details and explanation, please see information below code snippet…
[lua]
local hadOpenEvt = false
local rVideoDone = false
local rVideoTS = 0
local minVideoT = 8 – min time outside app to NOT be detected as bypass (in seconds)
local function onSystemEvent( event )
if (event.type == “applicationOpen”) then
hadOpenEvt = true
end
end
local function appodealListener( event )
– Appodeal listener
if (phase == “playbackBegan” and event.type == “rewardedVideo”) then
rVideoTS = os.time() – app suspended while ad playing so system.getTimer won’t work
elseif (phase == “playbackEnded” and event.type == “rewardedVideo”) then
local difTime = os.difftime( os.time(), rVideoTS )
if (not hadOpenEvt or difTime > minVideoT) then
– No bypass detected, we’re cool
rVideoDone = true
else
print(“Cheater detected !!”)
end
elseif (phase == “closed”) then
– R.video
if (event.type == “rewardedVideo”) then
if (rVideoDone) then
– Reward genuinely earned by player, reset state
rVideoDone = false
hadOpenEvt = false
else
print(“Nice try, cheater !!”)
end
end
end
end
local function showRewardVideo()
if ( appodeal.isLoaded(“rewardedVideo”) ) then
hadOpenEvt = false
appodeal.show( “rewardedVideo” )
end
end
Runtime:addEventListener( “system”, onSystemEvent)
[/lua]
Ok, so few specifics here:
For bypassing ads, user will press home button on Android then re-open app clicking its icon
When app is put in background and re-opened this way, the system event ‘applicationOpen’ will fire on Android
If this happen while playing reward video, the flag ‘hadOpenEvt’ will be set to true
On ‘playback end’ event, we check its value and the time the user spent in suspended state.
If the time is long enough (see ‘minVideoT’), we consider it is not an effective bypass.
This will help prevent false positive as user might suspend app for genuine reasons.
Note: this can be removed for a stricter detection
That’s it, hope this will help some fellow game developers improving their game experience.
I still hope that Corona/Appodeal teams will put some time to resolve this very unfortunate bug.
In the meantime, this might do it for you guys !
Unfortunately I can’t reproduce the behavior.
For me, after pressing the ‘home’ button while a rewarded ad is playing I get the following behavior:
Corona build 2017.3117
Galaxy S3, Android 4.4.4
Nexus 9, Android 7
Appodeal plugin version 1.3
Hello Ingemar,
Thank you for your quick answer.
I’m glad to hear that’s not standard behavior for Appodeal plugin.
I just tested it again with my secondary device:
Nexus 7
Android 4.4.4
Corona 2017.3068
Appodeal 1.3
Unfortunately, I got the same result, the listener receiving;
Provider: appodeal
Phase: init
----------------------------
Provider: appodeal
Phase: loaded
Type: interstitial
----------------------------
Provider: appodeal
Phase: loaded
Type: rewardedVideo
----------------------------
Provider: appodeal
Phase: playbackBegan
Type: rewardedVideo
----------------------------
Provider: appodeal
Phase: loaded
Type: rewardedVideo
----------------------------
***** Pressing home button then app icon
Provider: appodeal
Phase: playbackEnded
Type: rewardedVideo
Data:
table: 0x6f5967f8 {
[name] => “reward”
[amount] => 0
}
----------------------------
Provider: appodeal
Phase: closed
Type: rewardedVideo
----------------------------
The only difference seems to be our Corona version (I’m using latest release version).
I will test with your version and let you know if anything different.
If possible, could you also test with 2017.3068 version on your side to be sure ?
Thanks again !
I was able to reproduce the behavior. I was using testMode=true before, however when using live ads I can see the behavior you have reported. I’m not sure what can be done about it though as the Appodeal SDK controls the events given.
I’ll have a look to see if there’s anything that can be done about it.
I’m having the same problems
Thanks for your support.
Good to know you were able to reproduce the issue on your side.
Looks like on bug on the Appodeal SDK side indeed (I doubt the server would validate a half-viewed ad).
Do you need me to fill a bug report as well ?
Let’s keep in touch on this forum thread so others can check updates as well.
Thanks for your reporting.
Hope the team from Corona/Appodeal will find the issue and fix it soon.
Hello @ingemar,
Any news from engineering about the bypass issue ?
Did the team managed to track down the bug root cause ?
I was planning to release my app next month but don’t feel comfortable
shipping a game with this kind of loophole, hurting revenues from Appodeal.
Hope to hear from you guys soon
It’s still being investigated.
I’ve involved a few more people from the Appodeal team to see if anything can be done.
Thanks for the update.
Good to know people from Appodeal are investigating this too.
Please let us know when you’ll have a release date for the bug fix.
Hello @ingemar,
Still no news nor release date for this bug fix ?
It’s been one month since the Corona/Appodeal teams acknowledged it’s existence and were able to reproduce it.
I thought such issue would have been labelled as critical and fixed asap
as it hurts revenue for both sides, developers and ad providers alike.
Beside this loophole not being addressed yet, and other problems with memory allocation on Android
(see: https://forums.coronalabs.com/topic/69894-appodeal-and-memory/ )
I’m starting to reconsider using Appodeal as my primary ad provider for my apps.
I understand that finding and fixing a bug can sometimes be tricky.
Still, as product owner of the Appodeal plugin, I was hoping for at least some kind of timetable
from you guys so developers like me could plan our apps releases accordingly.
Hope to hear good news from you soon
I find myself in the same situation as @GoG.
As I mentioned in the other post if it does not resolve within a short time i will have to abandon appodeal.
These two issues are too important…
I’ve bumped this with the Corona engineering team.
I am experiencing the same problems and if there is not a solution in the short term, I change plung.
The problem with the home key could go away.
But that with the memory is very serious would cause many deletion apps and negative comments.
That’s no good
@jake1987.jj and @Sig.g1,
Thanks for your feedback guys.
I agree, theses issues are quite critical indeed.
Thanks for the bump with the team.
Hope we will hear good news soon.
I am hoping the Appodeal SDK announcement (2.1) today will fix these - how long until this can be confirmed and the plugin ready for a re-build of an app?
Thanks for the follow up.
Thanks for the plugin update.
Unfortunately, even after rebuild, the bug is still here.
I just tested and I am still able to bypass video and reward video ads by pressing home button then re-open the app.
Did you had time to re-test it yourself ?
Do you have any news regarding a release date for the fix ?
Even for me the problem persists …
Hello guys please help me out, I am also facing the same problem.