Vungle issues all over the place?

I’m using the new vungle and I just haven’t figured out how to make it work correctly.

I’m using auto caching ad and I run the vungle init using
 

vungle.init("vungle", placements, vungleAdEventListener)

I get the response “adInitialize”

I then wait for the next response saying “adAvailable”

I then try to call a vungle ad using

local adShown = vungle.show({ placementId=vunglePlacementID }) print("AdClass - adShown", adShown)

I will usually see a vungle ad but adShown is always nil. I’m not sure how adShown can be nil but in the docs it says it should be true or false depending on if an ad actually showed. Not only that this is the response I get right before the ad shows

 

table: 0xb83fe3c0 { [type] =\> "unableToPlayAd" [isError] =\> false [provider] =\> "vungle" [reason] =\> "Ad already playing" [name] =\> "adsRequest" [placementID] =\> "MY ID IS HERE" }

I’ve confirmed that I’m not trying to call the code twice and this is the same response that gets returned every time I try to show a vungle ad. After the ad plays and I try to close it I get a black screen that just stays there until I close the app. There’s no errors or any more responses. 

Also for what it’s worth I’m only calling the vungle.show once but it’s returning 2 responses as though I’m trying to call it 2 times. 

So I made a little progress. It turns out that even though the ad is set to auto cache it wasn’t actually caching. Once I manually set it to cache it stopped showing the “unableToPlayAd” type. I also noticed that if you try to cache an ad before the other one is finished it will just jump right to the end of the currently playing ad.

It’s still saying the adShown is nil though so that still appears to be an issue.

Also I’ve noticed that if I push my app to the background and then bring it back it will call the vungle listener multiple times. Seems like a bug to me, but maybe it’s not? For example:

Vungle is initialized an the ad is cached…I then press the home button and then go back into the app. Vungle returns 2 responses both are telling me the ad is available. 

Hmmm…

I’ve been aware of this for a few days (iOS) but could not decide if it was a lack of inventory issue or a fault.

I have updated 8 apps over the last couple of weeks all using the new SDK 5.1 and the placement ID system. I just use one default placement ID per app that is showing as auto cached on the Vungle portal.

Of the 8 apps, only one is showing Vungle videos. I only use non-rewarded videos. Also, I religiously check that ads work before uploading to the store. So I am confident that all was working well before uploading.

Now that I think about it, I actually updated 7 apps. The one that is working (Vungle videos working live on the store) is in fact a brand new app to the Vungle portal. Interesting. Yet the other 7 were updates…

I have tried using build 3086, 3103 (as used by Vungle stated here: https://support.vungle.com/hc/en-us/articles/115000468771) and as at the time of this post the latest daily build 3126. All are successful in calling the Vungle listener with event.type “adInitialize” and event.name “adsRequest”

I’ll investigate further and post back…

So, setting one of my updated apps to “test mode” on the portal delivers a test ad. 

The Vungle listener is showing event.type “adAvailable” and event.name “adsRequest”. I do not get his for “active” status.

When I switch back to “active” then:

local shown = vungle.show({placementId = vunglePlacementID})

returns false as before.

I recall that for the updates I had to manually add a placement ID. Yet for the app that was new to Vungle, I’m not sure if I did manually add a placement ID or if one was auto-generated. I mention this as looking at my Vungle portal I can see that for the app that was new to Vungle (followed by one that was an update) shows as:

Placement      Reference ID

Default            DEFAULTXXXXX

App Name      ZZZZZZZXXXXX

Where XXXXX is a 5 digit number and ZZZZZZZXXXXX is (well, not exactly- you get the idea) a placement ID for one of my updated apps. 

Bottom line - all 8 placement IDs on the portal are showing as auto cached - yet only one of my apps out of the 8 (the one that is new to Vungle) is showing Vungle videos live on the store. This indicates that it is not an inventory problem (I am in the UK). Also, all my older apps that are on the store prior to the SDK 5.1 / placement ID system work fine.

This guide: https://support.vungle.com/hc/en-us/articles/115000468771

States: "For placements other than the auto-cached placement call the ads.load() method to load an ad. "

I do not call ads.load() as all my placement IDs are showing as auto-cached.

Vungle recently fixed the portal reporting error problem. I am sure they will chime in soon about this.

Also, I have contacted Vungle direct about the issue. The more people that do so, the more likely a quick response. Thanks!

On a somewhat related note - I sincerely hope that Vungle can fix this from their end and not require an update to the App Store (given that I could show a live Vungle video ad before sending the update).

I may be getting ahead of myself - perhaps it’s an inventory issue?

Still, I and many others are now getting randomly hit with review rejection 2.3.7

 "

Your app name or subtitle to be displayed on the App Store includes keywords or descriptors, which are not appropriate for use in these metadata items

"

As usual this is arbitrary depending on the reviewer… (no change their then!) :slight_smile:

I don’t think it’s an inventory issue, at least not in my case. The app I’m working on is serving videos just fine in test and live mode. All the issues seem to be on vungles side. This is my current setup and the bugs that I’m experiencing:

Setup - I created a new app in vungles portal and I’m using the default placement they’ve assigned me. It’s setup for auto caching.

Issues:  

  1. On app start I init vungle and sometimes the auto caching ad wont cache itself (or it doesn’t call the vungle listener I have setup in the init).

  2. On app start I init vungle and sometimes the auto caching ad will cache itself multiple times typically 3-9 times. The following image will explain what I mean a little better
      VfE2XRV.png

  3. After an ad shows successfully or unsuccessfully the vungle.show{} always returns nil. The docs here https://docs.coronalabs.com/plugin/vungle/show.html says “This API returns a boolean true or false depending on the availability of a cached video ad.”

  4. After playing an ad the event.type=“adStart” response will get called a bunch of times similar to bug #2. In fact almost every call besides the init gets called a bunch of times including: adStart, adEnd, adAvailable etc etc

Setup  - I created a new app in vungles portal and I’m using the default placement they’ve assigned me. It’s setup for auto caching.

I think this is key. Since SDK 5.1 / Ad placements I have only had one success - and that’s adding a brand new app to Vungle (although not brand new to the App Store).

For app updates to the App Store and Vungle - I have added a placement ID. Despite the placement IDs all showing auto-cache (for the 7 updates as well as the brand new app) - only the brand new app is serving Vungle videos on the store. Most unfortunate to put it mildly.

I will have to do some work after the holiday to see what the Vungle listener is reporting for the brand new app. At the moment I do not know if the listener is being called multiple times. The AdBuddiz listener does get called multiple times - but the ads work fine so I am okay with that.

@Vungle - I am unable to try the sample project here:https://github.com/Vungle/Corona-Plugin/tree/sdk5

because it used ads.load() - a function call that is not appropriate in my case as all my placement IDs are auto-cached. For some reason I can get a test ad but not a live ad. Yet at the time of doing the 7 updates to the store over the last couple of weeks I could get a live add before updating to the App Store. Now no ads serving at all (except for the one app that was brand new to Vungle).

Hello,

Thanks for using Vungle. If you want to use Vungle SDK 5.1, then you should call loadAd for any non-auto cache placement. Otherwise the ad will not be available. Currently only one placement is assigned as auto-cache for one application. 

If you don’t want to use loadAd call, you can still use Vungle SDK 4.1 with previous API. How to use them are documented here: https://docs.coronalabs.com/plugin/index.html

Thanks

Thanks Ana for posting. I could never get 4.1 to work with recent builds - otherwise I would have stuck with it.

I do not use load as all my 8 apps with placements are auto-cached.

I could get a live ad to work before uploading. Now that they are live on the store I cannot get a live ad - with the exception of one app that was new to the Vungle portal.

Okay so after working with it for a week or so I found some errors with the documentation and code in the 5.1 build. 

ERROR IN DOCUMENTATION

when you do vungle.show in the docs it says

This API returns a boolean true or false depending on the availability of a cached video ad. 

…this isn’t true though no matter what if you print vungle.show it will return nil. The way you check if an ad actually was shown is in the listener you have to check for isError = true and the type = “adStart”. This will let you know that an ad tried to show but for whatever reason it couldn’t be shown. 

CODE ERROR

The vungle listener gets called randomly. For example when you put the app in the background and then back to the foreground the vungle listener gets called and says that an ad is available. This isn’t really a bug, it’s just kind of confusing. All the other ad listeners only return something when the ad is actually cached, with vungle it’s like they are just always telling you it’s cached.

WISH LIST ITEM

Could we please please please get a function isLoaded()? All the other ad plugins have it, it’s a simple boolean that lets developers know on demand if an ad has been cached or not. I have to have so much extra code in place to figure out if indeed an ad has been cached. If there is no ad cached there’s no point to even try and show the ad, currently though I pretty much have to try and show the ad and then respond if it fails. If I knew it was going to fail ahead of time though I wouldn’t have to waste the time trying to show an ad that will fail. 

If you have any questions or need me to explain anything better please feel free to let me know. As it stands right now I have 5.1 working, but I feel like it’s very “hacked” together.

@Vungle - please test 5.1 thoroughly. It’s not behaving consistently. See post history in the thread. Thanks!

I couldn’t get it to work either. I wonder if they’ll ever update it. @anna.cho any plans to update the plugin and fix the issues? Also any change you’ll support Amazon apps?

Hello, we are planning to update Vungle SDK 5.3.2 Corona plugin in early December. And current plugin that has SDK 5.3.0 supports amazon. 

I just updated one of my apps and it will be up soon. Anna Cho, I can finally say everything works as expected. Thank you.

Some notes though:

  1. The documentation says that isAutoRotation is required for the vungle.show properties, but the sample does not have the value. Not sure if it is required or not since I am using it and don’t feel like mucking with it anymore.

  2. Again for vungle.show the documentation has placementId spelled with capital I and D: “placementID”. The sample does not. On my Amazon Fire phone using capital I and D resulted in a crash as soon as I tried to show the ad. The sample is correct in this case.

  3. vungle.show() always returns null in my testing. The documentation is incorrect.

vungle.show() begins playing a placement full-screen video ad if one is cached and available for display.

This API returns a boolean true or false depending on the availability of a cached video ad.

placementID (required)

String. The placement ID of the ad to show.

isAutoRotation (required)

Boolean. If true (default), the video ad will rotate automatically with the device’s orientation. If false, it will use the ad’s preferred orientation. This is required for Android only — for iOS, it looks into the orientations key.

local adShown = vungle.show( { placementId=placementID1, isSoundEnabled=true } )

Also for what it’s worth I’m only calling the vungle.show once but it’s returning 2 responses as though I’m trying to call it 2 times. 

So I made a little progress. It turns out that even though the ad is set to auto cache it wasn’t actually caching. Once I manually set it to cache it stopped showing the “unableToPlayAd” type. I also noticed that if you try to cache an ad before the other one is finished it will just jump right to the end of the currently playing ad.

It’s still saying the adShown is nil though so that still appears to be an issue.

Also I’ve noticed that if I push my app to the background and then bring it back it will call the vungle listener multiple times. Seems like a bug to me, but maybe it’s not? For example:

Vungle is initialized an the ad is cached…I then press the home button and then go back into the app. Vungle returns 2 responses both are telling me the ad is available. 

Hmmm…

I’ve been aware of this for a few days (iOS) but could not decide if it was a lack of inventory issue or a fault.

I have updated 8 apps over the last couple of weeks all using the new SDK 5.1 and the placement ID system. I just use one default placement ID per app that is showing as auto cached on the Vungle portal.

Of the 8 apps, only one is showing Vungle videos. I only use non-rewarded videos. Also, I religiously check that ads work before uploading to the store. So I am confident that all was working well before uploading.

Now that I think about it, I actually updated 7 apps. The one that is working (Vungle videos working live on the store) is in fact a brand new app to the Vungle portal. Interesting. Yet the other 7 were updates…

I have tried using build 3086, 3103 (as used by Vungle stated here: https://support.vungle.com/hc/en-us/articles/115000468771) and as at the time of this post the latest daily build 3126. All are successful in calling the Vungle listener with event.type “adInitialize” and event.name “adsRequest”

I’ll investigate further and post back…

So, setting one of my updated apps to “test mode” on the portal delivers a test ad. 

The Vungle listener is showing event.type “adAvailable” and event.name “adsRequest”. I do not get his for “active” status.

When I switch back to “active” then:

local shown = vungle.show({placementId = vunglePlacementID})

returns false as before.

I recall that for the updates I had to manually add a placement ID. Yet for the app that was new to Vungle, I’m not sure if I did manually add a placement ID or if one was auto-generated. I mention this as looking at my Vungle portal I can see that for the app that was new to Vungle (followed by one that was an update) shows as:

Placement      Reference ID

Default            DEFAULTXXXXX

App Name      ZZZZZZZXXXXX

Where XXXXX is a 5 digit number and ZZZZZZZXXXXX is (well, not exactly- you get the idea) a placement ID for one of my updated apps. 

Bottom line - all 8 placement IDs on the portal are showing as auto cached - yet only one of my apps out of the 8 (the one that is new to Vungle) is showing Vungle videos live on the store. This indicates that it is not an inventory problem (I am in the UK). Also, all my older apps that are on the store prior to the SDK 5.1 / placement ID system work fine.

This guide: https://support.vungle.com/hc/en-us/articles/115000468771

States: "For placements other than the auto-cached placement call the ads.load() method to load an ad. "

I do not call ads.load() as all my placement IDs are showing as auto-cached.

Vungle recently fixed the portal reporting error problem. I am sure they will chime in soon about this.

Also, I have contacted Vungle direct about the issue. The more people that do so, the more likely a quick response. Thanks!

On a somewhat related note - I sincerely hope that Vungle can fix this from their end and not require an update to the App Store (given that I could show a live Vungle video ad before sending the update).

I may be getting ahead of myself - perhaps it’s an inventory issue?

Still, I and many others are now getting randomly hit with review rejection 2.3.7

 "

Your app name or subtitle to be displayed on the App Store includes keywords or descriptors, which are not appropriate for use in these metadata items

"

As usual this is arbitrary depending on the reviewer… (no change their then!) :slight_smile: