Admob rewarded videos throwing "Internal Error"

I’ve noticed a high amount of failed ads showing up in my analytics. After investigating further I found that almost all the failed ads are coming from admob rewarded videos. Here is what the ad listener returns:

-------------------------------------------------- -- admob AD LISTENER -------------------------------------------------- table: 0xc75cb780 { [type] =\> "rewardedVideo" [name] =\> "adsRequest" [provider] =\> "admob" [phase] =\> "failed" [isError] =\> false [data] =\> "{"errorMsg":"Internal Error","errorCode":0,"adUnitId":"ca-app-pub-XXXXX\/XXXXX"}" [response] =\> "loadFailed" } -------------------------------------------------- -- END admob AD LISTENER --------------------------------------------------

Anyone else seeing this or have any ideas what might cause it? This error is getting thrown when I’m trying to cache the video shortly after receive the init call. It doesn’t do it everytime, but it does do it well over 50% of the time. 

What do you mean by “caching the video shortly after receiving the init call”? I think we’ll need to see a bunch more code on what (and when) you’re making various calls.

Thanks,

Brent

After I init admob using the following:

 

admob.init(adEventListener, { appId="APP ID" })

and the ad listener returns that it’s been initialize I tell the ad to cache itself using the 

 

admob.load("rewardedVideo", { adUnitId="ADCODE" })

The video needs to be cached before it can be shown. While the video is trying to cache is when I receive that error. 

Obviously you cannot play a video until it has been completely downloaded to device (i.e. cached)

You will need to check isLoaded to decide whether you can display an ad to a user or not.

Right I’m doing that…but my issue is before I even try to play the video. Right when I try to load or cache the video it’s throwing the error in my first post 55% of the time. I’ve seen this happen on my own device multiple times. I start the app and the video loads or caches just fine, I uninstall the app and do the exact same thing and it throws that error. I do the same steps again a few more times and it throws the error and eventually it wont throw the error.

I’ve noticed this happening across thousands of devices both android and iOS. 

My app flow is like so

 

-\> User Starts the app up -\> We run the init functions for admob, applovin, vungle and chartboost -\> The ad listener waits for the phase to be init and isError to be false -\> We check the isLoaded for admob banners, videos and interstitial -\> If any of these don't exist we call the load on whatever type we need (this is where it fails usually) -\> We wait for the ad to get called in the app -\> We try to show one of the ad networks based on % if it's loaded then we show it, if not we move to the next company

Probably a supply/demand issue. Clearly just because you request a rewarded video doesn’t mean that the provider will have one available.

Brent

That’s what I was thinking as well…but in the admob dashboard and after talking to my admob rep, anytime a video is requested for loading or caching it’s tracked in the dashboard under “AdMob Network requests”. So right after you request a video they see if one is available and if so they track that as well under “Matched requests”. This happens even before they serve the ad up to be cached. It’s simply a “hey you want a video lets see if we even have one”. Those numbers show a 98% match rate, so it doesn’t seem to be a fill issue. 

What do you mean by “caching the video shortly after receiving the init call”? I think we’ll need to see a bunch more code on what (and when) you’re making various calls.

Thanks,

Brent

After I init admob using the following:

 

admob.init(adEventListener, { appId="APP ID" })

and the ad listener returns that it’s been initialize I tell the ad to cache itself using the 

 

admob.load("rewardedVideo", { adUnitId="ADCODE" })

The video needs to be cached before it can be shown. While the video is trying to cache is when I receive that error. 

Obviously you cannot play a video until it has been completely downloaded to device (i.e. cached)

You will need to check isLoaded to decide whether you can display an ad to a user or not.

Right I’m doing that…but my issue is before I even try to play the video. Right when I try to load or cache the video it’s throwing the error in my first post 55% of the time. I’ve seen this happen on my own device multiple times. I start the app and the video loads or caches just fine, I uninstall the app and do the exact same thing and it throws that error. I do the same steps again a few more times and it throws the error and eventually it wont throw the error.

I’ve noticed this happening across thousands of devices both android and iOS. 

My app flow is like so

 

-\> User Starts the app up -\> We run the init functions for admob, applovin, vungle and chartboost -\> The ad listener waits for the phase to be init and isError to be false -\> We check the isLoaded for admob banners, videos and interstitial -\> If any of these don't exist we call the load on whatever type we need (this is where it fails usually) -\> We wait for the ad to get called in the app -\> We try to show one of the ad networks based on % if it's loaded then we show it, if not we move to the next company

Probably a supply/demand issue. Clearly just because you request a rewarded video doesn’t mean that the provider will have one available.

Brent

That’s what I was thinking as well…but in the admob dashboard and after talking to my admob rep, anytime a video is requested for loading or caching it’s tracked in the dashboard under “AdMob Network requests”. So right after you request a video they see if one is available and if so they track that as well under “Matched requests”. This happens even before they serve the ad up to be cached. It’s simply a “hey you want a video lets see if we even have one”. Those numbers show a 98% match rate, so it doesn’t seem to be a fill issue.