prebid / prebid-js-plugin-brightcove

Other
3 stars 4 forks source link

Prebid Brightcove plugin behavior when no ads are available #139

Closed Engywook2005 closed 4 years ago

Engywook2005 commented 4 years ago

Per request of @graphicdeveloper I am reposting, with some edits, from https://github.com/prebid/Prebid.js/issues/4481

Type of issue

Bug

Description

I am working on a project integrating prebid with BCVideo_PrebidVastPlugin (as described here: http://prebid.org/dev-docs/plugins/bc/bc-prebid-plugin-integration-studio.html).

The main issue: If I set options.dfpParameters.params.iu to an id which has not yet been approved by our demand partners, the content video plays behind an opaque div element. I'm reaching out to Brightcove as well; that said I have not encountered this issue outside of using BCVideo_PrebidVastPlugin.

Questions below are part of my own attempt to troubleshoot.

Steps to reproduce

  1. Run the plugin in Brightcove with an iu that is not recognized by demand partners

Test page

http://jerseyhick.com/

Expected results

No ad plays, preroll plays visibly.

Actual results

No ad plays, entire video plays underneath opaque element.

Platform details

Observed with: Prebid 2.36.0 Mac OS Chrome

Engywook2005 commented 4 years ago

@graphicdeveloper here are the adOptions I'm passing to the first argument in the renderAd call.

           {
                "prebidPath": this.adsConfig.ads.prebid,
                "biddersSpec": this.createBidRequest(),
                "prebidConfigOptions": {
                    "cache": {"url": "https://prebid.adnxs.com/pbc/v1/cache"},
                    "enableSendAllBids": true,
                    "debug": true
                },
                "dfpParameters": {
                    "params": {
                        "iu": this.adsConfig.ads.gamAdUnit
                    },
                    "cust_params": {
                        // @TODO fill in kvp for cust_params here
                    },
                    "output": 'vast'
                },
                "adRenderer": "ima",
                "prebidTimeout": 1500,
                "adStartTimeout": 1500,
                "enablePrebidCache": true
            };

prebidPath I'm sending is

//s3.amazonaws.com/media.pgmcdn.com/AdTech/_common/IronWrapper/prebid/2.38.0/prebid.js

As noted above I am seeing this prebid.js requested as well as the not-for-prod prebid.js

dfpParameters.params.iu:

/6419/bullboard.brightcove

This ad unit id should not be getting any bidder responses.

Also as noted above, dfpParamters.cust_params is not doing anything.

ynisman commented 4 years ago

So far we see the black screen issue on your test page. However, when we use your options in our test page we cannot reproduce the black screen yet. We are going to continue to experiment to see if we can determine the cause of black screen.

About some of the other issues you wrote about:

We will keep you up-to-date

vpitts commented 4 years ago

@Engywook2005 Just wanted to get an idea of when you would like to deploy your implementation of the prebid plugin. We have two code freezes coming up between now and the end of the year, one for the Thanksgiving and another for the Holidays. It is unlikely that we will be able to update the prebid script that is loaded from the CDN intime for the code freezes because our work here requires a considerable QA effort that that team is currently assigned to another project. We think we may be able to give a you a link to the updates on one of our staging sites if you need to use the plugin before January. The other option is for you to create your own build - once we give you the updated modules but then you would have to build it and host it. Please let me know what your deployment plans are so that we can best meet your needs. Thanks

Engywook2005 commented 4 years ago

Thanks for the responses @ynisman and @vpitts.

It is good to know where the cust_params field really should go. I'll give that a try and let you know if there are still issues with that on your end.

As far as our timelines go, I'll need to sync up with my team and get back to you on Monday. For now:

Thanks again for looking into this and I look forward to hearing about any further findings on the autoplay-under-opaque-div behavior.

vpitts commented 4 years ago

@Engywook2005 Thanks for the update. I think your plan about doing a your own build will work. We may also be able to give you our build which you can host. Let us see what else we find out during our investigation.

We look forward to working with you. Just as a curious, my product manager was asking which sites do you have your player with the plugin running?

Thanks!

Engywook2005 commented 4 years ago

Thanks @vpitts, sounds like a plan. We look forward to working with you as well.

Here are the three sites where our player is currently running:

Thanks!

Greg T

ynisman commented 4 years ago

@Engywook2005 I'm looking for black screen issue and I still cannot reproduce it with my player. So I need more information about how you configure your player:

  1. Did you enable Client-Site IMA in Advertising tab? If not plugin will do it by itself.
  2. If you enable Client-Site IMA you have to keep Ad Tag field empty, select Request Ads 'On demand', and select VPAID Mode 'Enabled'.
  3. Do you select Single Video or Playlist in Player Information tab?

Thanks. Eugene

Engywook2005 commented 4 years ago

@ynisman here are answers to your questions about my Brightcove player's settings.

  1. Client-Side IMA is not enabled.
  2. N/A, since Client-Side IMA is not enabled.
  3. Player type is Playlist

Hope this helps... please do let me know if you need more info from me.

Greg T

ynisman commented 4 years ago

@Engywook2005 I made the changes to fix your problem. I'm going to email you the intermediate version of plugin (minimized and not-minimized version if you need it for debugging). This version of plugin is not tested by our QA team yet. The changes I made you can see in the branch https://github.com/prebid/prebid-js-plugin-brightcove/tree/VSSPP-VER-0.7.1%2B Also make sure you override http://acdn.adnxs.com/video/plugins/bc/prebid/bc_prebid_vast_plugin.min.js to the file attached to my email by any proxy such as Charles, Switcheroo, etc or you can save my plugin on your web server and add the option "prebidPluginPath": "saved-plugin-url" to your options object. You can refer to the http://prebid.org/dev-docs/plugins/bc/bc-prebid-plugin-prebid-options.html#prebidPluginPath

Try it. Eugene.

vpitts commented 4 years ago

@Engywook2005 - As you can see, @ynisman has apparently found a fix to your reported problem. And he is going to send you a build of the plugin so that you can host it.

He has also provided a link to the branch where the changes were made.

After the holidays, our plan here is to make an official build. My QA team will validate the changes in the plugin. Once we have completed that cycle, then we will merge the code into the master branch for this repository. We also publish our build to our CDN as usual.

Once we do alll of that and certify that release, we will let you know so that you can use the published version of the plugin if you wish. Once you then validate the fix, we can then close this issue.

Please let us know if you have any questions, problems or comments on the fix we have provided or if you need any other help with this plugin.

Happy holidays!

Engywook2005 commented 4 years ago

Thank you so much, @vpitts and @ynisman ! I won't be able to test this until after the long weekend, but that's going to be first thing Monday. Looking forward to trying this out.

Happy T-day to you as well.

Engywook2005 commented 4 years ago

Hello @vpitts and @ynisman -

I have checked out your branch, VSSPP-VER-0.7.1+. I'm not seeing a build of the plugin in my email, but I was able to compile my own build.

Starting with the good news: as we can see on http://jerseyhick.com/, the video does play even though there aren't any ads.

The not as good:

I'll post a test page where preroll ads are available here as soon as I am able. For the meantime, I wonder if I need to be listening for some events before I allow any video to play at all?

ynisman commented 4 years ago

@Engywook2005 I think, play button appears before video/preroll start playing because your player configured as 'not autoplay', it is expected behavior. If you configure player as 'autoplay' and 'muted' video/preroll has to play automattically. Does play button remain over the video when video is playing?

You don't need to listen any additional event before video.

I sent plugin build to Greg.Thorson@billboard.com before Thanksgiving. Should I use different email?

Engywook2005 commented 4 years ago

@ynisman yes the play button remains over the video when video is playing.

I can try with a different player where everything's the same except autoplay is turned on.

ynisman commented 4 years ago

It is strange! Can you give me a link to test page I can reproduce this behavior? On my internal test page It works fine.

Engywook2005 commented 4 years ago

Here are a couple of test pages. This one should be receiving valid ads: https://s3.amazonaws.com/media.pgmcdn.com/AdTech/IronWrapper/testPages/noIFrame.html

This one does not receive valid ads: http://jerseyhick.com/

In both cases I still have autoplay set to false. Should I try with autoplay set to true in BC studio?

As far as the email, greg.thorson@billboard.com should work. I wonder if we might have a policy blocking *.js file attachments. Can you try Engywook2005@gmail.com?

ynisman commented 4 years ago

Don't try with autoplay set to true, let me check why play button remain visible when video is playing. I can reproduce this issue on first page, but I have a problem with overriding plugin on this secure page link. Can I use http://s3.amazonaws.com/media.pgmcdn.com/AdTech/IronWrapper/testPages/noIFrame.html instead?

When this issue is fixed I'm going to send plugin to your gmail email address.

Engywook2005 commented 4 years ago

Sure, the vanilla http http://s3.amazonaws.com/media.pgmcdn.com/AdTech/IronWrapper/testPages/noIFrame.html should work fine. Let me know if it's still not working for you.

Thanks, Greg T

ynisman commented 4 years ago

@Engywook2005 I emailed to you intermediate version of plugin (minimized and not-minimized version if you need it for debugging). Try it.

This version had build from branch https://github.com/prebid/prebid-js-plugin-brightcove/tree/VSSPP-VER-0.7.1%2B

Engywook2005 commented 4 years ago

Very odd - I'm not seeing the updated plugin at either email address.

I did do a pull from your upstream and will try to build from your update. Fingers crossed here...

Engywook2005 commented 4 years ago

@ynisman I've rebuilt the plugin and put on test pages:

http://s3.amazonaws.com/media.pgmcdn.com/AdTech/IronWrapper/testPages/noIFrame.html Has ads http://jerseyhick.com No ads

Most definitely progress here. The big play button is now behaving as expected. Only thing left: no more autoplay.

It does seem that all that needs to be done here is to call play on videojs when auctionEnd occurs... or send a signal that it is time to call play from my end.

Or it might be time for me to try setting autoplay to true on my player? Not my first choice because I'd rather have exacting control over when to start playback. But the former option might be a breaking change on your end?

Let me know what you think.

Thanks!

Greg T

ynisman commented 4 years ago

@Engywook2005 Yes, now to make autoplay you have to set 'autoplay-muted' for player in studio. You have to set player muted because most of the browsers do not allow video autoplay with sound. If you going to set player 'autoplay' and not muted, the video may not autoplay.

Thanks, Eugene.

Engywook2005 commented 4 years ago

Hi @ynisman ,

Well that sounded like a promising lead. I have swapped out to a new player which is set to autoplay-muted. Otherwise identical.

As I'm seeing on these test pages: http://s3.amazonaws.com/media.pgmcdn.com/AdTech/IronWrapper/testPages/noIFrame.html Has ads http://jerseyhick.com No ads

I'm still getting the big play button.

Any thoughts, please do tell.

Thanks!

Greg T

ynisman commented 4 years ago

Hi @Engywook2005 Are you sure the player 'Q56CDzGeF' configured as 'autoplay-muted'? I see on video tag property 'muted', but I don't see property 'autoplay'. Make sure after changing player configuration the player has been published.

ynisman commented 4 years ago

@Engywook2005 I figured out what happened. It was issue in my code, I not fully cover autoplay/non-autoplay mode. To make sure the video autoplays on any browser you have to set in studio 'autoplay' and check 'Play Muted' checkbox. If you set 'autoplay-muted' and not check 'Play Muted' checkbox, the player not guarantied the video going to autoplay. (See https://support.brightcove.com/configuring-player-playback-properties#start). Also I will email to you my build of the plugin (archived). Thanks, Eugene.

Engywook2005 commented 4 years ago

That seems to have done the trick, @ynisman. Thank you so much!

I'm going to have my own QA department have a look at this and will let you know if they spot anything. I think we're good here though; let me know when this branch is merged to master. Until then we'll just host our own build, as discussed upthread.

Thanks, Greg T

vpitts commented 4 years ago

@Engywook2005 Just wanted to check in with you to give you status of testing and to find out how things are going at your end.

Our updates to the prebid plugin to address your issues is currently in QA. I anticipate that we will be able to make the official release sometime next week. Once we do that I will let you know so that you can use the updated url to the plugin if you wish.

We were also curious about how things were going with your use of the prebid plugin on your sites. Did the plugin work well on your sites? Did you derive benefits from using prebid and/or the plugin? Do you have any additional comments?

Thanks!

vpitts commented 4 years ago

This issue was fixed in version 0.7.4

Engywook2005 commented 4 years ago

@vpitts apologies for the delayed response. First two weeks of 2020 have been hectic on our end.

Thanks for the update. We'll be switching back to using the main branch prebid shortly. As far as we are able to determine the prebid plugin for Brightcove has been working well since we implemented the version for this ticket.

At the moment this project is on hold, behind other priorities. I am sure you know how that is. I'm feeling optimistic that once we get this off the back burner we'll be largely free of prebid issues. We'll let you know.

Thank you again for your help and responsiveness on this issue.